linux-func-chmod

介绍

用来变更文件或目录的权限。在UNIX系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。用户可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。

权限 描述
u User 即文件或目录的拥有者;
g Group 即文件或目录的所属群组;
o Other 除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a All 即全部的用户,包含拥有者,所属群组以及其他用户;
r 读取权限,数字代号为“4”;
w 写入权限,数字代号为“2”;
x 执行或切换权限,数字代号为“1”;
- 不具任何权限,数字代号为“0”;
s 特殊功能说明:变更文件或目录的权限。

用法

1
chmod (选项)(参数)

选项

选项 描述
-c或--changes 效果类似-v参数,但仅回报更改的部分;
-f或--quiet或--silent 不显示错误信息;
-R或--recursive 递归处理,将指令目录下的所有文件及子目录一并处理;
-v或--verbose 显示指令执行过程;
--reference=<参考文件或目录> 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同;
<权限范围>+<权限设置> 开启权限范围的文件或目录的该选项权限设置;
<权限范围>-<权限设置> 关闭权限范围的文件或目录的该选项权限设置;
<权限范围>=<权限设置> 指定权限范围的文件或目录的该选项权限设置;

参数

参数 描述
权限模式 指定文件的权限模式;
文件 要改变权限的文件。

例子

1
2
3
4
5
6
7
8
9
10
11
# aa文件所属添加执行,组添加写权限
chmod u+x,g+w aa

# aa文件的所属有rwx,组有rw,其它人有r权限
chmod u=rwx,g=rw,o=r aa

# aa文件所有人都增加x权限
chmod a+x aa

# aa文件夹所有文件都添加权限
chmod a+xrw -R ./aa