文件权限归属
在Linux系统中一切都是文件,但是每个文件的类型不尽相同。因此Linux系统使用了不同的字符来加以区分,常见的字符如下所示。
-:普通文件
d:目录文件
1:链接文件
b:块设备文件
c:字符设备文件
p:管道文件
文件特殊权限
SUID:SUID是一种对二进制程序进行设置的特殊权限
查看passwd命令属性时发现所有者的权限由rwx变成了rws
其中x改变成s就意味着该文件被赋予了SUID权限。
原先权限位上没有x执行权限,那么被赋予特殊权限后将变成大写的S。
SGID:SGID主要实现如下两种功能
1.让执行者临时拥有属组的权限(对拥有执行权限的二进制程序进行设置)
2.在某个目录中创建的文件自动继承该目录中的用户组(只可以对目录进行设置)
chmod和chown
1.chmod命令是一个非常实用的命令,能够用来设置文件或目录的权限、格式为“chmod [参数] 权限 文件或目录名称”。如果要把一个文件的权限设置成七所有者可读可写可执行、所属组可读可写、其他人没有任何权限,则相应的字符法表示为rwxrw----,其对应的数字法表示为760
2.chown命令可以设置文件或目录的所有者和所属组,其格式为“chown [参数] 所有者:所属组 文件或目录名称”
3.chmod和chown命令是用于修改文件属性和权限的常用命令,它们还有一个特别的共性,就是针对目录进行操作时需要加上大写参数-R来表示递归操作,即对目录内所有的文件进行整体操作。
SBIT
确保用户只能删除自己的文件,而不能删除其他用户的文件。
赋予了SBIT权限,则其他用户中的可执行权限位会从x/-变为t/T。
a:所有人
u:所有者
g:所有组
o:其他用户
r:可读权限
w:可写权限
x:可执行权限
s:suid或sgid权限(一般配合u或g参数使用,如果配合a参数,则代表同时设置suid和sgid)
t:sbit权限(一般配合o参数使用,配合u或g参数使用毫无效果,配合a参数使用效果等同于配合o参数)
+:添加权限
-:移除权限