Linux之隱藏權限lsattr和chattr

1、隱藏權限功能:

    防止root和其他管理用戶誤刪除和修改重要文件及目錄。此權限用ls -l是查看不出來的。

2、常見的隱藏權限:

    1)i權限:只能查看目錄或文件內容,不可以刪除和修改目錄及文件內容,包括root用戶也不可以。

    2)a權限:可以查看目錄和文件內容,也可以追加文件內容,也可以在目錄中創建新子目錄和文件,但不可以刪除目錄和文件的內容,當然也不可以修改只能追加。

3、查看隱藏權限

命令語法:lsattr  文件或目錄

範例:

[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”選項,如果不加,則默認查看目錄裏面的文件的隱藏權限。

4、添加隱藏權限

命令語法: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": 不允許的操作

5、刪除隱藏權限

語法: 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 隱藏權限時,可以查看和追加內容,但不可以修改和刪除文件。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章