4.1.3.2/3 linux文件管理 :文件权限操作 :数字、字符方式修改权限
常用命令
$chmod 777 <fileName>
$chmod 777 -R <fileName> ##递归
$chmod u+x,g+x,o+x -R <fileName>
数字方式修改权限
一共三个权限,拥有者权限,所属组权限 , 其他用户权限
7 7 7是所有权限:拥有者权限 :7 ,所属组权限 :7, 其他用户权限 :7
chmod [-+=][0-7]+ <fileName>
设置所有的权限
$ chmod 777 <fileName> ##设置指定文件三类拥有者只有rwx权限
字符方式修改权限
chmod [ugoa]*([-+=]([rwxXst]*|[ugo]))+ <fileName>
设置所有的权限
$ chmod a=w <fileName> ##设置指定文件三类拥有者只有write权限
$ chmod a+w <fileName> ##追加指定文件三类拥有者write权限
$ chmod u=w,g=r,o=r <fileName> ##分别指定三类拥有者各自的权限
$ chmod +u,+g <fileName> ##设置指定文件拥有user和group的权限
举例
chmod +u,+g <fileName>
$ ls -l code.txt
-rw-rw-rw- 1 sgx sgx 0 Oct 27 12:36 code.txt
$ chmod u+x code.txt
$ ls -l code.txt
-rwxrw-rw- 1 sgx sgx 0 Oct 27 12:36 code.txt
$ chmod +u code.txt ##追加g和o和u的权限一致
$ ls -l code.txt
-rwxrwxrwx 1 sgx sgx 0 Oct 27 12:36 code.txt ##g和o拥有了user的所有权限
命令详解
chmod [ugoa]*(-+=)+
ugoa
u是指user,文件拥有者
g是指group,其它在文件的group里的用户
o是指other,其它不在文件的group里的用户
a是指all,即所有用户
[rwxXst]*|[ugo]
r:read
w:write
x:可执行,可查找(对于目录)
X:只有当文件是一个目录或者已经对某用户可执行,这个文件才能可执行或可查找
t:删除文件
[ugo]: 例如chmod +u a.sh,那么a.sh就有了user用户应该有的permission
[-+=]
+ 添加操作权限
- 删除操作权限
= 指定操作权限
但不是所有的bit都会被删,except that a directory’s unmentioned set user and group ID bits are not affected.
如果相对不同的用户设置不同的permission,可以用逗号隔开,这样a+r,u+w
option格式
-c,–changes ##每次改变file mode bits时显示改变操作
-f, –silent,–quiet##抑制大多数错误信息的显示
-v,–verbose ##输出文件信息
–reference=RFILE ##采用RFILE的mode
-R, –recursive ##递归地改变mode