1、chattr文件隐藏属性

lsattr

查看当前文件下的特殊权限和属性

spacer.gif

e是ext3或ext4特有的

chattr +a 

spacer.gif 

chattr +a

     +a 之后文件只能通过echo追加不能删除或更改其中内容

     也不可以删除或者更改名字

     解除限制:chattr -a 

chattr +i

     +i权限后不能追加、重定向、删除

      不能改名字、所属主、所属组

      文件被限制死了

      解除:chattr -i

lsattr -R 目录名

    可以逐层查看目录下的文件的特殊权限

spacer.gif

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

spacer.gif总结

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表示虽然赋予了权限但是不起作用