Linux之隐藏权限lsattr和chattr

一、隐藏权限功能:
bash

    防止root和其余管理用户误删除和修改重要文件及目录。此权限用ls -l是查看不出来的。
ide

二、常见的隐藏权限:测试

    1)i权限:只能查看目录或文件内容,不能够删除和修改目录及文件内容,包括root用户也不能够。
spa

    2)a权限:能够查看目录和文件内容,也能够追加文件内容,也能够在目录中建立新子目录和文件,但不能够删除目录和文件的内容,固然也不能够修改只能追加。
orm

三、查看隐藏权限server

命令语法:lsattr  文件或目录ip

范例:it

[root@server data]# ls
data01  script  server01  wahaha.txt
[root@server data]# lsattr wahaha.txt 
----i----------- wahaha.txt
[root@server data]# lsattr server01/
---------------- server01/accp01
[root@server data]# lsattr -d server01
-----a---------- server01

注意:查看目录自己的隐藏权限的时候须要加“-d”选项,若是不加,则默认查看目录里面的文件的隐藏权限。class

四、添加隐藏权限权限

命令语法:chattr  +选项  目录或文件名

1)添加隐藏权限:i 权限

chattr  +i  目录或文件名

目录上加 i 隐藏权限

[root@server data]# ls
data01  script  server01  wahaha.txt
#查看script目录是否有隐藏权限
[root@server data]# lsattr -d script/
---------------- script/
#向script目录添加 i 权限
[root@server data]# chattr +i script
#查看script目录是否有了 i 隐藏权限
[root@server data]# lsattr -d script/
----i----------- script/
#测试script目录的 i 隐藏权限是否能够建立子目录及文件
[root@server data]# touch script/tom.txt
touch: 没法建立"script/tom.txt": 权限不够
[root@server data]# mkdir script/tom
mkdir: 没法建立目录"script/tom": 权限不够
[root@server data]# ls script/
1.txt  oldboy01
#script目录里面的文件是能够添加及修改内容,子目录里也能够建立新文件及目录,父目录里面是不能够修改文件名的。
[root@server script]# ls
1.txt  oldboy01
[root@server script]# echo oldboy > 1.txt 
[root@server script]# cat 1.txt 
oldboy
[root@server script]# mv 1.txt oldboy.txt
mv: 没法将"1.txt" 移动至"oldboy.txt": 权限不够
[root@server script]# touch ./oldboy01/tom.txt
[root@server script]# ls oldboy01/
tom.txt  wahaha

注意:当目录上有 i 权限,子目录和文件没有隐藏权限时,父目录里面不能够建立新目录和新文件,也不能够删除和修改文件名。但子目录里能够建立新文件和新子目录,文件也能够添加及修改文件里面的内容。

文件上加 i 权限

[root@server data]# ls
data01  script  server01  wahaha.txt
[root@server data]# lsattr wahaha.txt 
---------------- wahaha.txt
[root@server data]# chattr +i wahaha.txt 
[root@server data]# lsattr wahaha.txt 
----i----------- wahaha.txt
[root@server data]# echo www > wahaha.txt 
-bash: wahaha.txt: 权限不够
[root@server data]# echo oldboy >> wahaha.txt 
-bash: wahaha.txt: 权限不够
[root@server data]# rm -f wahaha.txt 
rm: 没法删除"wahaha.txt": 不容许的操做

2)添加隐藏权限:a 权限

chattr  +a  目录或文件名

目录加 a 权限:

[root@server data]# ls
data01  script  server01  wahaha.txt
[root@server data]# lsattr -d server01/
---------------- server01/
[root@server data]# chattr +a server01/
[root@server data]# lsattr -d server01/
-----a---------- server01/
[root@server data]# ls ./server01/
1.txt  accp01
[root@server data]# touch ./server01/tom.txt
[root@server data]# mkdir ./server01/wahaha
[root@server data]# ls ./server01/
1.txt  accp01  tom.txt  wahaha
[root@server data]# rm -f ./server01/1.txt 
rm: 没法删除"./server01/1.txt": 不容许的操做
[root@server data]# rm -rf ./server01/wahaha/
rm: 没法删除"./server01/wahaha/": 不容许的操做

文件加a权限:

[root@server data]# ls
data01  script  server01  wahaha.txt
[root@server data]# lsattr wahaha.txt 
---------------- wahaha.txt
[root@server data]# chattr +a wahaha.txt 
[root@server data]# lsattr wahaha.txt 
-----a---------- wahaha.txt
[root@server data]# cat wahaha.txt 
aaa
[root@server data]# echo www > wahaha.txt 
-bash: wahaha.txt: 不容许的操做
[root@server data]# echo www >> wahaha.txt 
[root@server data]# echo zzz >> wahaha.txt 
[root@server data]# cat wahaha.txt 
aaa
www
zzz
[root@server data]# rm -f wahaha.txt 
rm: 没法删除"wahaha.txt": 不容许的操做

五、删除隐藏权限

语法: chattr  -选项  目录或文件名

[root@server data]# ls
data01  script  server01  wahaha.txt
[root@server data]# lsattr -d data01/
-----a---------- data01/
[root@server data]# lsattr -d script/
----i----------- script/
[root@server data]# chattr -i script/
[root@server data]# chattr -a data01/
[root@server data]# lsattr -d data01/
---------------- data01/
[root@server data]# lsattr -d script/
---------------- script/

6、总结

1)查看隐藏权限:lsattr  文件名;lsattr  -d  目录名。

2)添加隐藏权限:chattr  +i  目录或文件名;chattr  +a  目录或文件名。

3)删除隐藏权限:chattr  -i  目录或文件名;chattr  -a  目录或文件名。

4)当目录有 i 隐藏权限,子目录和文件没有隐藏权限时,父目录不能够建立新子目录和文件,不能够删除目录及文件,也不能够修改目录名和文件名。但子目录是没有影响的,能够建立新子目录和文件。父目录里的文件也能够添加及修改内容。

5)当目录有 a 隐藏权限,子目录和文件没有隐藏权限时,父目录能够建立新子目录和文件,不能够删除目录及文件,也不能够修改目录名和文件名。但子目录是没有影响的,能够建立新子目录和文件及能够删除子目录里面的文件。父目录里的文件也能够添加及修改内容。

6)当文件有 i 隐藏权限时,只能查看内容,不能够修改和删除文件。

7)当文件有 a 隐藏权限时,能够查看和追加内容,但不能够修改和删除文件。

相关文章
相关标签/搜索