功能: 变更文件或目录的权限
说明: 在UNIX家族里,文件或目录权限的控制分别以读取、写入、执行(或切换)3种一般权限来区
分,另有3种特殊权限可供运用,再搭配所有者与所属组来管理每个文件及目录的权限范围。您可
以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号链接的权限
无法变更,如果您对符号链接修改权限,其改变会作用在被链接的原始文件。权限范围的表示法,
如下所述:
u: user 文件或目录的所有者
g: group 文件或目录的所属组
o: other 除文件或目录的所有者、组外,其他用户皆属于这个范围
a: all 所有人,包含所有者、组、其他人
权限代号:
r: 读取权限,数字代号为4
w: 写入权限,数字代号为2
x: 执行或切换权限,数字代号为1
-: 不具任何权限,数字代号为0
s: 特殊权限suid或sgid, 各自代表所有者和所属组的特殊权限,数字代号分别为4和2. 对
文件而言,套用suid或sgid后,便能任意访问该文件的所有者或所属组权限所及的全部资源。对目
录而言,将文件复制到一个套用sgid权限的目录里,文件的所属组会被重设为该目录的所属组
t: 特殊权限Sticky, 数字代号为1,对一个目录设置这项权限,则存放于此目录中的所有文件
或子目录,都只能被该文件或目录的所有者删除。
参数:
--help 显示在线说明
--reference <参考文件或目录> 把指定文件或目录的权限,统统设置成和参考文件或目
录的权限相同
--version 显示版本信息
<权限范围>+<权限设置> 开启权限范围的文件或目录的该项权限设置
<权限范围>-<权限设置> 关闭权限范围的文件或目录的该项权限设置
<权限范围>=<权限设置> 指定权限范围的文件或目录的该项权限设置
-c 或 --change 作用类似-v参数,但仅传回更改的部分
-f 或 --quiet 或 --slient 不显示错误信息
-R 或 --recursive 递归处理目录及子目录内所有内容,含目录本身
-v 或 --verbose 显示指令执行过程
示例:
.设置文件sigma和目录zeta的权限设置为所有者能够读取和写入,同一组的用户可以读取,其
他用户则不准读写
chmod u=rw, g=r, o= sigma zeta
.用文字代码把名称为tango的文件开放给所有用户读取和写入
chmod ugo=rw tango
.取消其他人执行file文件的权限
chmod o-x file
.增加所属组写入file文件的权限
chmod g+w file
.将tmp目录下所有文件和子目录,增加所属组写入与执行权限
chmod -R g+wx tmp
.以file文件为标准,将file1、file2及file3文件的权限设置成与它相同
chmod --reference=file file1 file2 file3
.用数字代号把名称为tango的文件开放给所有用户读取和写入
chmod 0666 tango