权限管理命令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 [权限掩码]更改