一.设置文件隐藏属性
使用:
chattr [+-=] [ASacdistu] file_or_dir
参数:
+:增加某一个特殊参数;
-:删除某一个特殊参数;
=:仅有后面接的参数。
A:当设置了A这个属性的时候,若你有访问此文件(或目录)时,它的访问时间atime将不会被修改,可避免I/O较慢的机器过度访问磁盘;
S:一般文件是异步写入磁盘的,如果加上S这个属性,当你进行任何文件的修改,该改动会同步写入磁盘中;
a:当设置了a这个属性之后,文件将只能增加数据,而不能删除数据,只有root有权设置该参数;常用在日志文件中;
c:该参数设置了之后,将会自动压缩该文件,读取的时候自动解压缩,在存储的时候,会先进行压缩再存储;
d:当dump程序执行的时候,设置该属性将可使文件或目录不会被dump备份;
i:可以让一个文件不能被删除,改名,设置连接也无法写入或添加数据,只有root才能设置该属性;
s:当文件被删除时,它将完全从这个硬盘空间中删除;
u:与s相反,文件删除时,数据还存在磁盘中;
例:
chattr +i file =========>给文件file增加i属性,此时file不能被删除,改名,无法写入数据;
chattr -i file =========>将文件的i属性删除(当然,只有root有权限)。
二.显示文件隐藏属性
使用
lsattr [-adR] file_or_dir
参数
-a:将隐藏文件的属性也列出来;
-d:如果接的是目录,仅列出目录本身的属性;
-R:连同子目录的数据也列出来。
三.文件的特殊权限:SUID,SGID,SBIT
1.SUID
1)当s出现在文件所有者的x权限上时,此时就成为Set UID,简称SUID的特殊权限;
2)功能:
a.SUID权限仅对二进制文件有效;
b.执行者对于该文件有执行权限;
c.本权限仅在执行该程序过程中有效;
d.执行者有该程序所有者的权限。
3)只能用在文件上,所以对目录无效;
4)比如/usr/bin/passwd这支程序就是该类型。
2.SGID
1)当s出现在用户组的x权限上时称为Set GID,简称SGID;
2)功能:
对文件来说:
a.SGID对二进制程序有效;
b.程序执行者对于该程序来说,需要具有x的权限;
c.执行者在执行过程中将会获得该程序用户组的支持。
对目录来说:
a.用户若对于此目录具有rx的权限时,该用户能进入该目录;
b.用户在此目录下的有效用户组将会变成该目录的用户组;
c.若用户在此目录下具有w权限,即可以新建文件,则用户所创建的新文件的用户组与此目录的用户组相同。
3)比如/usr/bin/locate就是该类型;
3.SBIT
1)Sticky Bit只对目录有效;
2)功能
a.当用户对于此目录具有wx权限时,即具有写入的权限时;
b.当用户在该目录下创建文件或目录时,仅有自己与root才有权利删除该文件。
4.SUID,SGID,SBIT权限设置
SUID为4
SGID为2
SBIT为1
所以-rwsr-xr-x的权限即为4755,chmod设置权限:chmod 4755 file_name
参考:《鸟哥的Linux私房菜基础学习篇》(第三版)