目录
一、基础概念
权限:某客体目标对象是否允许主体在其上进行操作。需注意两点:(1)客体目标是否具体进行该操作的功能;(2)客体是否允许主体进行操作。
当我们在Linux中对本目录的文件进行列出时,第一列的字符标志表明了该文件的权限。
其中第一个字符表明了该文件的类型,剩余的字符三个为一组,分别表明了拥有者、所属组以及其他用户的权限。
二、文件类型与访问权限
(一)文件类型
在Linux系统中,文件可以分为目录文件d,普通文件-,链接文件l,块文件b,管道文件p,字符文件c,套接字文件s等。
例如,创建一个目录文件,由图可知该文件的标志符号位d。
(二)访问权限
对于一个普通文件来说,其具有读、写和执行的操作权限。对于一个目录文件来说,读权限是限制用户是否在该目录里拥有列出所有下属文件的信息的权限;写权限是限制用户是否拥有在该目录里创建文件的权限;执行权限是限制用户是否拥有进入该目录的权限。
三、文件权限操作
(一)权限修改操作chmod
可通过文件的拥有者身份或者root身份对文件进行设置权限。
格式:chmod [参数] 权限 文件名
例如使拥有者失去写权限,使所属组拥有执行权限。(拥有者u,所属组g,其他用户o,所有用户a)
(二)chown与chgrp
chown修改文件的拥有者,chgrp修改文件的所属组。
格式:chown [参数] 用户名 文件名
(三)umask
查看或者修改文件掩码,设置创建文件的初始权限。
新建目录默认权限777,新建文件默认权限666。
这里的umask为0002,其中第一个0表示该数为八进制数,剩下三个数字分别为拥有者,所属组和其他用户的权限掩码。当我们创建一个普通文件时,其初始权限为666,即拥有者,所属组和其他用户都拥有读写的权限。将初始权限666与权限掩码002进行异或,得到权限664,即拥有者有读写的权限,所属组有读写的权限,其他用户有读的权限,如图所示。
(四)file
查看文件的类型。
(五)粘滞位
当我们在公共目录下创建的文件,即使我们可以设置该文件的读写执行的权限,别人依然可以直接将该文件删除掉。这时可以用 root账号 为该公共目录设置粘滞位。
在添加了粘滞位的目录下,只有(1)root管理员;(2)该目录的所有者;(3)该文件的所有者可以将该目录下的文件进行删除操作。