欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

4.1.3.2/3 linux文件管理 :文件权限操作 :数字、字符方式修改权限

程序员文章站 2022-06-12 16:54:22
...

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