1、chattr文件隐藏属性
lsattr
查看当前文件下的特殊权限和属性
e是ext3或ext4特有的
chattr +a
chattr +a
+a 之后文件只能通过echo追加不能删除或更改其中内容
也不可以删除或者更改名字
解除限制:chattr -a
chattr +i
+i权限后不能追加、重定向、删除
不能改名字、所属主、所属组
文件被限制死了
解除:chattr -i
lsattr -R 目录名
可以逐层查看目录下的文件的特殊权限
lstttr -d 目录名
只查看目录的特殊权限
2、特殊权限之suid
总结:
SUID : Set User ID (find / -perm -04000 -type f -ls查找设置SUID的程序)
作用:临时赋予用户二进制文档的拥有者的权限(主要用于让普通用户可以使用某些特殊命令)
语法1:chmod u+s file(增加s权限)
语法2:chmod u-s file(减去s权限)
使用限制与环境:
1、仅对于二进制文件有效;
2、执行者必须对文件拥有x权限(否则即使设置了SUID,由于你对文件根本无法执行SUID此时也无效,此时权限位显示S);
3、权限只是在执行过程中拥有。
4、执行者将具有该程序所有者的权限
PS:例如passwd命令,路径/usr/bin/passwd,权限为"-rwsr-xr-x"。(passwd命令会修改"/etc/shadow")
PS:SUID只可用于二进制文件,不可用于shell script文件。
3、特殊权限之sgid
总结
SGID : Set Group ID:
对于文件
作用:临时赋予用户二进制文档的拥有组的权限(多用于让普通用户可以使用某些特殊命令,和suid类似)
语法1:chmod g+s file(增加s权限)
语法2:chmod g-s file(减去s权限)
使用限制与环境:
1、仅对于二进制文件有效;
2、执行者必须对文件拥有x权限(否则根本无法执行文件,更别谈SGID赋予权限,此时权限位显示S);
3、权限只是在执行过程中拥有。
PS:例如locate命令,路径/usr/bin/locate,权限为"rwx--s--x"。
(locate命令会读取"/var/lib/mlocate/mlocate.db")
对于目录
作用:临时将用户的effective group修改成该目录的的群组
语法1:chmod g+s dir(增加s权限)
语法2:chmod g-s dir(减去s权限)
使用限制与环境:
1、用户若对于此目录具有r和x的权限时,该用户能够进入此目录
2、用户在此目录下的有效用户组将变为该目录的用户组
3、若用户在此目录下具有w权限,则用户所创建的新文件的用户组和此目录的用户组相同
umask:
0022
最左边的:
set_gid=4 set_uid=2 stick_bit=1
4、特殊权限之sticky
Sticky Bit作用:
当用户对于此目录有w,x权限,即具有写入的权限时,当用户在该目录下创建了文件或者目录,只有root和自己才有权利删除该文件
总结:
umask:
0022
最左边的:
set_gid=4 set_uid=2 stick_bit=1
[root@iZ28815b09kZ tmp]# touch 1.txt
[root@iZ28815b09kZ tmp]# chmod 4755 1.txt ;ls -l 1.txt 加了suid
-rwsr-xr-x 1 root root 0 Sep 7 21:53 1.txt
[root@iZ28815b09kZ tmp]# chmod 6755 1.txt ;ls -l 1.txt 加了suid和sgid-rwsr-sr-x 1 root root 0 Sep 7 21:53 1.txt[root@iZ28815b09kZ tmp]# chmod 1755 1.txt ;ls -l 1.txt 加了sbit-rwxr-xr-t 1 root root 0 Sep 7 21:53 1.txt
[root@iZ28815b09kZ tmp]# chmod 7666 1.txt ;ls -l 1.txt 有空的sgid。suidsbit权限
-rwSrwSrwT 1 root root 0 Sep 7 21:53 1.txt
[root@iZ28815b09kZ tmp]#
注意:关于最后显示的是大的S和T是因为后面的666,没有x权限所以是S和T表示虽然赋予了权限但是不起作用