手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

Linux chattr命令詳解

2023-07-14 20:06:04 8310

Linux chattr命令詳解:修改文件系統(tǒng)的權限屬性

管理 Linux 系統(tǒng)中的文件和目錄,除了可以設定普通權限和特殊權限外,還可以利用文件和目錄具有的一些隱藏屬性。

chattr 命令,專門用來修改文件或目錄的隱藏屬性,只有 root 用戶可以使用。該命令的基本格式為:

[root@localhost ~]# chattr [+-=] [屬性] 文件或目錄名

+ 表示給文件或目錄添加屬性,- 表示移除文件或目錄擁有的某些屬性,= 表示給文件或目錄設定一些屬性。

列出了常用的一些屬性及功能。

 chattr 命令常用的屬性選項及功能

屬性選項 功能

i 如果對文件設置 i 屬性,那么不允許對文件進行刪除、改名,也不能添加和修改數(shù)據(jù);

如果對目錄設置 i 屬性,那么只能修改目錄下文件中的數(shù)據(jù),但不允許建立和刪除文件;

a 如果對文件設置 a 屬性,那么只能在文件中増加數(shù)據(jù),但是不能刪除和修改數(shù)據(jù);

如果對目錄設置 a 屬性,那么只允許在目錄中建立和修改文件,但是不允許刪除文件;

u 設置此屬性的文件或目錄,在刪除時,其內(nèi)容會被保存,以保證后期能夠恢復,常用來防止意外刪除文件或目錄。

s 和 u 相反,刪除文件或目錄時,會被徹底刪除(直接從硬盤上刪除,然后用 0 填充所占用的區(qū)域),不可恢復。


【例 1】 給文件賦予 i 屬性。

[root@localhost ~]# touch ftest

#建立測試文件

[root@localhost ~]# chattr +i ftest

[root@localhost ~]# rm -rf ftest

rm:cannot remove 'ftest':Operation not permitted

#無法刪除"ftesr",操作不允許

#被賦予i屬性后,root不能刪除

[root@localhost ~]# echo 111>>ftest

bash:ftest:Permission denied

#權限不夠,不能修改文件中的數(shù)據(jù)

可以看到,設置有 i 屬性的文件,即便是 root 用戶,也無法刪除和修改數(shù)據(jù)。


【例 2】為目錄賦予 i 屬性。

[root@localhost ~]# mkdir dtest

#建立測試目錄

[root@localhost dtest]# touch dtest/abc

#再建立一個測試文件abc

[root@localhost ~]# chattr +i dtest

#給目錄賦予i屬性

[root@localhost ~]# cd dtest

[root@localhost dtest]# touch bed

touch: cannot touch 'bed':Permission denied

#無法創(chuàng)建"bcd",權限不夠,dtest目錄不能新建文件

[root@localhost dtest]# echo 11>>abc

[root@localhost dtest]# cat abc

11

#可以修改文件內(nèi)容

[root@localhost dtest]# rm -rf abc

rm: cannot remove 'abc': Permission denied

#無法刪除"abc",權限不夠

一旦給目錄設置 i 屬性,即使是 root 用戶,也無法在目錄內(nèi)部新建或刪除文件,但可以修改文件內(nèi)容。

給設置有 i 屬性的文件刪除此屬性也很簡單,只需將 chattr 命令中 + 改為 - 即可。

【例 3】演示 a 屬性的作用。

假設有這樣一種應用,我們每天自動實現(xiàn)把服務器的日志備份到指定目錄,備份目錄可設置 a 屬性,變?yōu)橹豢蓜?chuàng)建文件而不可刪除。命令如下:

[root@localhost ~]# mkdir -p /back/log

#建立備份目錄

[root@localhost ~]# chattr +a /back/log

#賦予a屬性

[root@localhost ~]# cp /var/log/messages /back/log

#可以復制文件和新建文件到指定目錄中

[root@localhost ~]# rm -rf /back/log/messages

rm: cannot remove '/back/log/messages': Permission denied

#無法刪除 /back/log/messages,操作不允許

注意,通常情況下,不要使用 chattr 命令修改 /、/dev/、/tmp/、/var/ 等目錄的隱藏屬性,很容易導致系統(tǒng)無法啟動。另外,chatrr 命令常與 lsattr 命令合用,前者修改文件或目錄的隱藏屬性,后者用于查看是否修改成功。


提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務,我們很需要您進一步的反饋信息:

在文檔使用中是否遇到以下問題: