[root@mmx Desktop]# chattr +a a.txt
参数 | 做用 |
---|---|
i | 没法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件 |
a | 仅容许补充(追加)内容,没法覆盖/删除内容(Append Only) |
S | 文件内容在变动后当即同步到硬盘(sync) |
s | 完全从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域) |
A | 再也不修改这个文件或目录的最后访问时间(atime) |
b | 再也不修改文件或目录的存取时间 |
D | 检查压缩文件中的错误 |
d | 使用dump命令备份时忽略本文件/目录 |
c | 默认将文件或目录进行压缩 |
u | 当删除该文件后依然保留其在硬盘中的数据,方便往后恢复 |
t | 让文件系统支持尾部合并(tail-merging) |
x | 能够直接访问压缩文件中的内容 |
[root@mmx Desktop]# lsattr a.txt -----a------------ a.txt
练习1:新增隐藏权限、对文件进行操做安全
# 新建a.txt,添加“仅容许补充(追加)内容”权限 [root@mmx Desktop]# echo nice > a.txt [root@mmx Desktop]# ls a.txt [root@mmx Desktop]# chattr +a a.txt # 修改、删除a.txt,发现不行,只能追加 [root@mmx Desktop]# echo good > a.txt -bash: a.txt: Operation not permitted [root@mmx Desktop]# rm -rf a.txt rm: cannot remove 'a.txt': Operation not permitted # 查看a.txt的隐藏权限 [root@mmx Desktop]# lsattr a.txt -----a------------ a.txt [root@mmx Desktop]# chattr -a a.txt [root@mmx Desktop]# lsattr ------------------ ./a.txt # 成功删除a.txt [root@mmx Desktop]# rm -rf a.txt [root@mmx Desktop]# ls
练习2:不在修改最后访问时间atimebash
基于普通文件或目录设置ACL访问控制其实就是针对指定的用户或用户组设置文件或目录的操做权限,更加精准的派发权限。 markdown
setfacl命令用于管理文件的ACL权限规则ide
语法格式为:“ setfacl [参数] 文件名称”。ui
参数 | 做用 |
---|---|
-m | 修改权限 |
-M | 从文件中读取权限 |
-x | 删除某个权限 |
-b | 删除所有权限 |
-R | 递归子目录 |
[root@mmx Desktop]# setfacl -Rm u:mmx:r-x Linux/ [root@mmx Desktop]# getfacl Linux/ # file: Linux/ # owner: root # group: root user::rwx user:mmx:r-x group::rwx mask::rwx other::rwx
# 清除文件中ACL [root@mmx Desktop]# setfacl -b Linux/ [root@mmx Desktop]# getfacl Linux/ # file: Linux/ # owner: root # group: root user::rwx group::rwx other::rwx
getfacl命令用于查看文件的ACL权限规则 rest
语法格式为:“ getfacl [参数] 文件名称” code
# 查看设置权限目录 [root@mmx Desktop]# getfacl Linux/ # file: Linux/ # owner: root # group: root user::rwx user:lisi:r-x group::rwx mask::rwx other::rwx [root@mmx Desktop]# getfacl /root getfacl: Removing leading '/' from absolute path names # file: root # owner: root # group: root user::r-x group::r-x other::--- # 使用ll查看文件属性,发现点→变成+ [root@mmx Desktop]# ll total 0 drwxrwxrwx+ 3 root root 17 Jul 6 13:46 Linux
一、拥有张3、李四两个用户递归
[zhangsan@mmx Linux]$ id zhangsan uid=1001(zhangsan) gid=1001(zhangsan) groups=1001(zhangsan) [zhangsan@mmx Linux]$ id lisi uid=1002(lisi) gid=1002(lisi) groups=1002(lisi)
二、查看faclrem
[zhangsan@mmx Linux]$ getfacl . # file: . # owner: root # group: root user::rwx user:lisi:r-x group::rwx mask::rwx other::rwx
三、Desktop/Linux文件夹,设置李四r-x权限get
- echo nice > a.txt → bash: a.txt: Permission denied
- echo nice > nice.txt → ls
mmx nice.txt
[lisi@mmx Linux]$ echo nice > a.txt # lisi新建文件显示报错 bash: a.txt: Permission denied [lisi@mmx Linux]$ exit exit # 张三用户使用该文件能够写入文件 [root@mmx Desktop]# su zhangsan [zhangsan@mmx Desktop]$ cd Linux/ [zhangsan@mmx Linux]$ echo nice > nice.txt [zhangsan@mmx Linux]$ ls mmx nice.txt
getfacl -R Linux > nice.txt
[root@mmx Desktop]# getfacl -R Linux > nice.txt [root@mmx Desktop]# cat nice.txt # file: Linux # owner: root # group: root user::rwx user:lisi:r-x group::rwx mask::rwx other::rwx # file: Linux/zhangsan # owner: zhangsan # group: zhangsan user::rwx group::r-x other::r-x [root@mmx Desktop]# getfacl Linux/ # file: Linux/ # owner: root # group: root user::rwx user:lisi:r-x group::rwx mask::rwx other::rwx
setfacl --restore nice.txt
# 使用恢复命令 [root@mmx Desktop]# setfacl --restore nice.txt [root@mmx Desktop]# getfacl Linux/ # file: Linux/ # owner: root # group: root user::rwx user:lisi:r-x group::rwx mask::rwx other::rwx
在生产环境中仍是要对安全多一份敬畏之心,不要用root管理员去作全部事情。
su命令能够解决切换用户身份的需求
强烈建议在切换用户身份时添加这个减号(-)
[xiaozhi@mmx root]$ su - mmx Password: [mmx@mmx ~]$
# 使用visudo命令编辑 …… 98 ## 99 ## Allow root to run any commands anywhere 100 root ALL=(ALL) ALL 101 mmx ALL=(ALL) /usr/sbin/reboot 102 ……
参数 | 含义 |
---|---|
mmx | 用户名称 |
ALL=(ALL) | 用户拥有权限 |
/usr/sbin/reboot | 用户执行该命令须要sudo身份 |
sudo命令中的可用参数以及做用
参数 | 做用 |
---|---|
-h | 列出帮助信息 |
-l | 列出当前用户可执行的命令 |
-u 用户名或UID值 | 以指定的用户身份执行命令 |
-k | 清空密码的有效时间,下次执行sudo时须要再次进行密码验证 |
-b | 在后台执行指定的命令 |
-p | 更改询问密码的提示语 |
使用sudo命令,输入密码确认
[mmx@mmx ~]$ sudo reboot [sudo] password for mmx: