权限的意义在于允许某一个用户或某个用户组以规定的方式去访问某个文件。
4.1 基本权限UGO
首先介绍U、G、O这三个字母所代表的含义。
U:owne,属主
G:group,属组
O:other,其他用户
Linux系统通过U、G、O将用户分为三类,并对这三类用户分别设置三种基本权限,这种设置权限的方式称作UGO方式。
每个文件针对每类访问者定义了三种主要权限
r:Read 读,数字设定为4
w:Write 写 ,数字设定为2
x:execute 执行,数字设定为1
| Linux表示 | 说明 | Linux表示 | 说明 |
|---|---|---|---|
| r-- | 只读 | -w- | 只写 |
| --x | 仅可执行 | rw- | 可读写 |
| r-x | 可读和执行 | -wx | 可写和执行 |
| rwx | 可读可写可执行 | --- | 没有任何权限 |
对于文件和目录来说,r,w,x有着不同的作用和含义:
针对文件:
r:读取文件内容
w:修改文件内容
x:执行权限对除二进制程序以外的文件没什么意义
针对目录:目录本质可看做是存放文件列表、节点号等内容的文件
r:查看目录下的文件列表
w:删除和创建目录下的文件
x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)
4.1.1 设置文件属性与权限
为了数据的安全,系统需要给予不同身份的用户、用户组对应的文件权限。下面讲解三个常用的修改权限命令。
chown:修改文件属主、属组。
chgrp:修改文件属组。
chmod:修改文件权限。
1.更改文件权限(chmod命令)
chmod [可选项] <mode> <file...>
设置所有用户可读取文件 a.conf
chmod ugo+r a.conf
或
chmod a+r a.conf
设置 c.sh 只有 拥有者可以读写及执行
chmod u+rwx c.sh
设置文件 a.conf 与 b.xml 权限为拥有者与其所属同一个群组 可读写,其它组可读不可写
chmod a+r,ug+w,o-w a.conf b.xml
设置当前目录下的所有档案与子目录皆设为任何人可读写
chmod -R a+rw *
或使用数字权限改写格式:
设置所有人可以读写及执行
chmod 777 file (等价于 chmod u=rwx,g=rwx,o=rwx file 或 chmod a=rwx file)
设置拥有者可读写,其他人不可读写执行
chmod 600 file (等价于 chmod u=rw,g=---,o=--- file 或 chmod u=rw,go-rwx file )
2.更改文件拥有者(chown命令)
chown [可选项] user[:group] file...
使用权限:root
设置文件 d.key、e.scrt的拥有者设为 users 群体的 tom
chown tom:users file d.key e.scrt
设置当前目录下与子目录下的所有文件的拥有者为 users 群体的 James
chown -R James:users *
3.修改所属组(chgrp命令)
chown user1 f1 #f1文件拥有者修改为user1