一名菜鸟学习编程技术,记录所学知识并分享给大家,希望大家多多支持。
一、文件的特殊权限
1.1 SUID特殊权限介绍
SUID
- 对应的user的权限位置
- 当s这个标志出现在文件所有者的x权限上时,如文件权限状态为
"-rwsr-xr-x"
,此时成为Set SUID
,简称为SUID的特殊权限 - SUID有以下的限制和功能:
- SUID权限仅对二进制程序有效;
- 执行者对于该沉香谷需要具有x的可执行权限;
- 本权限仅在执行该程序的过程中有效;
- 执行者将具有该程序所有者的权限。
Linux系统中的文件除了具备一般权限和特殊权限之外,还有一种
隐藏属性
,即被隐藏起来的权限,默认的情况下不能直接被用户发觉。
二、文件的隐藏属性
2.1 chattr命令
chattr命令
用于设置文件的隐藏属性
语法格式:chattr [选项] 文件
同时还有在命令后追加"+
“和”-
"的,在上一篇博客有相关介绍。
常用选项:
i
:无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件。a
:仅允许补充(追加)内容,无法覆盖/删除内容(Append only)
如上图:1.在home目录下创建了一个abc的文件,并添加了i
权限(只能查看这个文件,但是不能修改它的内容),在使用echo
命令向文件中追加内容的时候,提示权限不够!
如上图:2.同样地在home目录下创建了一个test1的文件,并天剑了a
权限(仅允许追加内容,但是无法覆盖,在使用echo
命令时,没有出现提示,说明是正常的可以写入,当删除该文件夹的时候,系统提示的则是不允许删除该文件)
2.2 lsattr命令
lsattr命令
用于显示文件的隐藏属性。在Linux系统中,文件的隐藏权限必须使用lsattr
命令来查看。
语法格式:lsattr [选项] 文件
(使用此命令,文件被赋予的隐藏权限会全部显示出来。此时,可以按照显示的隐藏权限的类型,使用chattr
命令将其去掉)
如上图:使用lsattr
命令查看test1文件的隐藏属性,可以看到有一个a,如果不需要该权限,可以通过以上介绍的chattr
命令进行删除test1的隐藏权限。