特殊权限
进程访问文件时的权限,取决于进程的发起者和其所在的属组。还有其他权限,包括SST(Suid【可以更改进程发起者】,Sgid【可以更改进程发起者属组】,Sticky)
查询SUID/SGID文件
find / -perm +6000
SUID
使用特点
-
SUID只能作用在二进制文件上。
-
执行者需要对该文件具有可执行权限
-
只在程序运行过程中有效(runtime)
-
可以让用户在使用某个命令的时候,同时获取该命令所有者(owner)的权限。
比如:文件/usr/bin/passwd,就是具有suid权限的
当一个用户(wu用户)在执行passwd的时候,就会继承passwd这个所有者(root)的权限。这时候使用“ps aux| grep passwd” 就可以查看到,正在运行passwd程序的,是root用户,而不是wu用户。
设定方法:
-
方法1:
chmod u+s file…
chmod u-s file…
-
方法2:
chmod 4XXX file…
chmod XXX file… //恢复没有s的权限,不一定有效
SGID
使用特点
-
当作用在二进制文件的时候,
-
属组有x的 权限。否则将显示为S
-
当作用在目录的时候,对该目录有写权限的用户,在此目录新建的文件的属组为该目录的属组。===>协作目录
设定方法:
方法1:
chmod g+s DIR…
chmod g-s DIR…
方法2:
chmod 2xxx dir
chmod XXX file… //恢复没有s的权限,不一定有效
sticky粘滞位
使用特色:
-
作用在目录上,每个用户只能删除自己的文件
-
Other用户有x的权限,否则将显示为T
设定方法:
方法1:
chmod o+t DIR…
chmod o-t DIR…
方法2:
Chmod 1xxx DIR….
总结:
Suid,sgid,sticky又同rwx一样,组成了三个,形成一个八进制码,所以是suid(4),sgid(2),sticky(1)
一次全设置上特殊权限:
情景1:一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组。(wang用户和wangcai用户,两个项目组,能够)
文件隐藏属性
命令chattr
使用格式:
chattr [+ – =] [ASacdistu] FILE/DIR
A 锁定atime,不再改变。避免io较慢的磁盘。
S
a 只能增加数据,不能删除文件也不能修改数据,只有root才能设置这个属性。
c 自动解压缩,在读的时候。自动压缩,在存储的时候。设置后,会自动压缩该文件。
d 不会被dump备份。
i 文件不能被删除、改名。甚至链接也无法写入或添加数据。对于系统安全性很有帮助。只有root才能够设置。
s 被删除时,完全删除。
U 被删除时,数据还在磁盘,可以找回。
命令lsattr
使用格式:
lsattr [-adR] FILE/DIR
-a 包括隐藏文件的属性也show出来
-d 仅列出目录本身的属性,而非目录内的文件名
-R 连同子目录的数据也一并列出来
原创文章,作者:m20-吴清玲,如若转载,请注明出处:http://www.178linux.com/29158