1. 命令名称:chmod
英文原意:change mode命令所在路径:/bin
执行权限:所有用户
功能描述:改变文件的权限
选项: -R 改变该目录下所有文件的权限
权限: r: 4
w: 2
x: 1
e.g.:
chmod u+x,g+w,o-r /tmp/test
将tmp目录下的test文件,所有者的权限加x,所属组的权限加w,其他人的权限减r
chmod u=rwx,g=rw,o=r /tmp/test
将tmp目录下的test文件,所有者的权限rwx,所属组的权限rw,其他人的权限r
chmod a=rwx /tmp/test
将tmp目录下的test文件,所有者、所属组、其他人的权限都改为rwx
chmod 755 /tmp/test
将tmp目录下的test文件,所有者的权限rwx,所属组的权限r-x,其他人的权限r-x
特别注意Linux下文件与目录的权限区别:
file:
r:表示能够显示该文件的内容,可以执行cat/more/less/tac/head/tail等命令
w:表示能够对该文件的内容进行编辑x:表示该文件按能够执行,scripts,command等
directory:
r:表示能够显示该目录下的内容,可以执行ls命令
w:表示能够在该目录下创建、删除文件,可以执行touch/mkdir/rmdir/rm等命令x:表示能够进入到该目录,所以目录的执行权限,r和x一般同时存在
只有文件的所有者和管理员才能够改变文件的权限
样例实验:
1)chmod改变权限
2)-R递归的改变权限
3)对于目录读写可执行权限的检验
创建一个新用户test,并将目录的权限设置
由该目录的权限知道,新创建的用户test属于其他人,而其他人对于目录是没有读权限的,即test用户不能显示该目录的内容,而因为对该目录有执行权限,即test用户能够进入到该目录当中(当然这并不合乎常理,仅供实验测试)
将目录的权限设置为755,显然test用户没有写权限,即test用户不能够在目录下创建删除目录
4)对于文件的读写可执行权限的检验
test用户对该文件没有写权限,只有读权限
所以无法写入文件
更改文件权限
那么test用户能够对文件进行写入
5)只有文件的创建者和管理员才能够更改文件的权限,其他用户没有权限更改文件权限
2.命令名称:chown
英文原意:change owner
命令所在路径:/bin
执行权限:管理员root
功能描述:改变文件的所有者
使用:
chown user filename
e.g.:
chown test /tmp/test
注意: 文件的所有者必须存在
只有管理员才能够改变文件的所有者
当在编写文件的时,将该文件交给另外用户编写,只需要改变该文件的所有者即可(文件的所有者能够改变文件的权限)
只有管理员才能够修改文件的所有者,即使是文件的所有者也不行
3.命令名称:chgrp
英文原意:change group
命令所在路径:/bin
执行权限:管理员root
功能描述:改变文件的所属组
使用:
chgrp group filename
e.g.:
chgrp study /tmp/test
注意: 所属组必须存在,默认文件的所有者是文件的缺省组(就是以文件的所有者命名的所属组)
所属组内的用户对文件拥有同样的权限
管理员和文件的所有者都能够改变文件的所属组
文件的所有者改变文件的所属组
4.命令名称:umask
英文原意:user mask
命令所在路径:/bin
执行权限:所有用户
功能描述:查看创建文件时,文件的默认权限
选项:
-S
查看文件的所有者、所属组、其他人的默认权限
e.g.:
umask -S
会显示u=rwx,g=rx,o=rx,说明创建一个目录时,目录的默认权限是rwxr-xr-x,创建一个文件时,文件的默认权限是rw-r--r--
umask
显示权限掩码
注意:
缺省创建的文件是不具有可执行权限的,所以umask -S显示的默认权限中有x,但创建的文件默认权限不会有x(基于一定的安全性考虑,病毒等危害性文件时可执行文件)
所以目录和文件的默认权限
权限掩码
权限掩码即用777减去文件的权限值所得到的数值 777-755=022,所以修改权限掩码能够修改创建文件的默认权限
尽量不要修改创建文件的默认权限