1、前言
Linux文件访问者有3种身份:
- u:文件的拥有者(user)
- g:文件所属的群组(group)
- o:其他用户(others)
Linux文件的3种访问权限:
- r:读取文件的权限(read)
- w:写入文件的权限(write)
- x:执行的权限(execute)
2、功能
chmod用于改变不同身份的用户对文件或目录的访问权限。设置方式有两种:字符设定法、数字设定法。
3、格式
chmod [可选项] [--help] [--version] mode file/directory...
解释:
mode:新的权限
file/directory...:文件或目录列表
4、常见可选项
-R:或--recursive,递归处理,处理指定目录及其子目录下的所有文件
5、字符设定法
chmod [who] [+ | - | =] mode file/directory...
1)who代表用户的访问者,有以下几种情况:
u:目录或者文件的当前用户
g:目录或者文件当前的群组
o:除了目录或者文件的当前用户或群组之外的其他用户或者群组
a:所有的用户及群组
2)mode代表权限,可读r,可写w,可执行x
6、数字设定法
chmod mode file/directory...
r:读权限,用数字4表示
w:写权限,用数字2表示
x:执行权限,用数字1表示
7、示例
1)chmod 751 f.txt #数字设定法:第一个数字代表u(用户)的权限,此处为7,代表文件f.txt的所属者的权限是可读、可写、可执行;第二个数字代表文件所属群组的权限,此处为5,代表f.txt所属群组的权限是可读、可执行、不可写;同理,第三个数字代表others对f.txt的操作权限,仅可执行。
2)chmod -R 777 dir #数字设定法:设置所有用户对于dir目录的所有子文件的操作权限均为可读、可写、可执行
3)chmod a+x f1 或者 chmod +x f1#字符设定法:所有用户和群组对文件f1均加上执行权限
4)chmod o-x f1 #字符设定法:去掉其他用户或者群组对文件f1的执行权限
5)chmod o=x f1 #字符设定法:设定其他用户或者群组对文件f1的权限仅为可执行
6)chmod u=rwx,g+rx,o=x test.sh #作用同例1),注意逗号前后不能有空格