权限管理命令

时间:2022-09-21 20:20:38

权限管理命令chmod

命令名称:chmod(change the permissions mode of a file)

命令所在路径:/bin/chmod

执行权限:管理员root和文件所有者

功能描述:更改目录或者文件的权限

语法:chmod {ugoa}{+-=}{rwx} [文件或目录]

   chmod [mode=421] [文件或目录
   -R  递归修改权限

参数解释:u(user)所有者,g(group)用户组,o(other)其他人,a(all)所有人

     +增加某些权限,-减少某些权限,=直接赋予某些权限

      r读权限,w写权限,x执行权限

权限管理命令

然而在Linux脚本中都是使用数字形式而非+-=赋权形式,各权限对应的数字分别为:r  4,w  2,x  1,rwx权限对应的数字就是4+2+1=7

权限管理命令

递归修改权限选项-R,修改一个目录权限的同时将该目录下的所有文件权限也修改

权限管理命令

/tmp/a和/tmp/a/b拥有一样的权限,如果不使用-R选项,修改/tmp/a的权限并不会影响/tmp/a/b的权限,使用-R选项:

权限管理命令

 文件目录权限总结

代表字符

权限

对文件的含义

对目录的权限

r

读权限

可以查看文件内容

可列出目录中的内容

w

写权限

可以修改文件内容

可在目录下创建或删除文件

x

执行权限

可以执行文件

可进入目录

其他权限管理命令

1.命令名称:chown(change file ownership)

命令所在路径:/bin/chown

执行权限:管理员root

功能描述:改变文件或目录的所有者

语法:chown [用户] [文件或目录]

   chown root:group /project/  设定root为/project的所有者,group为/project的所属组

2.命令名称:chgrp(change file group ownership)

命令所在路径:/bin/chgrp

执行权限:管理员root

功能描述:改变文件或目录的所属组

语法:chgrp [所属组] [文件或目录]

3.命令名称:umask(the user file-creation mask)

命令所在路径:shell内置命令

执行权限:所有用户

功能描述:显示、设置文件的缺省权限,即文件创建时的默认权限

语法:umask [-S]

   -S  以rwx形式显示新建文件缺省权限

我们在新建一个目录时,会发现目录会有一个默认权限

权限管理命令

这个默认权限是由文件的缺省权限决定的,使用umask -S 查看文件或目录的缺省权限

权限管理命令

有些早期版本并不支持-S 选项,只有umask

权限管理命令

这里第一个0代表一些特殊权限,后面的022是权限掩码,三种用户的权限值为777-权限掩码022=755,就是用-S选项查出的缺省权限

但是我们新建一个文件时发现,文件的缺省权限跟目录的缺省权限不一样:

权限管理命令

为什么跟umask -S查看出的值不一样?观察目录和文件的权限发现,三种用户对文件都没有了执行权限,这是因为Linux规定,缺省创建的文件不能有可执行权限,即使umask -S查看出的值中有可执行权限,如果创建的是一个新的文件,也会将可执行权限x去掉,这样做的好处是使一些病毒文件没有可执行权限而失效

如果想要修改文件或目录的缺省权限,使用umask [权限掩码]更改

权限管理命令