本系列博客是笔者在学习刘遄的《Linux就该这样学》的笔记,个人觉得这是一本很好的书,很值得我们去学习。因为笔者是自学,可能有些问题了解的层面没有那么深,各位大牛在看到笔者写的内容有错漏,望指出并给出建议,感激不尽!
- chattr命令
含义:设置文件的隐藏权限;
格式:chattr [参数] 文件
# Tips:
# 如果要把某个隐藏功能添加到文件上,则需要在命令后面追加"+参数";
# 如果要把某个隐藏功能移出文件,则需要在命令后面追加"-参数";
chattr命令的参数及作用:
参数 | 作用 |
---|---|
i | 无法对文件进行修改,若对目录设置了该参数, 则仅能修改其中的子文件内容而不能新建或删除文件 |
a | 仅允许补充(追加)内容,无法覆盖/删除内容 |
S | 文件内容在变更后立即同步到硬盘 |
s | 彻底冲硬盘中删除,不可恢复 |
A | 不再修改这个文件或目录的最后访问时间 |
b | 不再修改文件或目录的存取时间 |
D | 检查压缩文件中的错误 |
d | 使用dump命令备份时忽略本文件/目录 |
c | 默认将文件或目录进行压缩 |
u | 当删除该文件后依然保留其在硬盘中的数据,方便日后恢复 |
t | 让文件系统支持尾部合并 |
X | 可以直接访问压缩文件中的内容 |
# chattr实例:
# 1.新建hello.py
touch hello.py
# 2.删除hello.py
rm hello.py
# 3.新建hello.py并添加隐藏权限
touch hello.py
chattr +a hello.py
# 4.执行删除操作会报错
rm hello.py
# 5.给hello.py移除隐藏权限
chattr -a hello.py
# 6.删除hello.py,并成功
rm hello.py
- lsattr命令
含义:显示文件的隐藏权限;
格式:lsattr [参数] 文件
# 实例:
# 1.新建hello.c
touch hello.c
# 2.查看hello.c的隐藏权限
lsattr hello.c
# 3.添加a权限
chattr +a hello.c
# 4.查看hello.c的隐藏权限
lsattr hello.c
# 5.移除a权限
chattr -a hello.c
# 6.查看hello.c的隐藏权限
lsattr hello.c
- 文件访问控制列表介绍
访问控制列表(ACL):对某个指定的用户进行单独的权限控制;
a.基于普通文件或目录设置了ACL,即针对指定的用户或用户组设置文件或目录的操作权限;
b.如果针对某个目录设置了ACL,则目录中的文件会继承其ACL,若针对文件设置了ACL,则文件不再继承其所在目录的ACL; - setfacl命令
含义:管理文件的ACL规则;
格式:setfacl [参数] 文件名称
# Tips:
# 针对目录文件需要使用-R递归参数;
# 针对普通文件使用-m参数;
# 删除某个文件的ACL,使用-b参数;
- getfacl命令
含义:显示文件上设置的ACL信息;
格式:getfacl 文件名称
# 实例:
[root@linuxprobe ~]# getfacl /root/
# 以下是执行 getfacl /root/命令的输出
getfacl: Removing leading '/' from absolute path names
# file: root/
# owner: root
# group: root
user::r-x
group::r-x
other::---