新聞中心

10年積累的成都網(wǎng)站制作、網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶(hù)對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶(hù)得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)制作后付款的網(wǎng)站建設(shè)流程,更有邵原免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
chattr 命令
,專(zhuān)門(mén)用來(lái)修改文件或目錄的隱藏屬性,只有 root 用戶(hù)可以使用。該命令的基本格式為:
[root@localhost ~]# chattr [+-=] [屬性] 文件或目錄名
+ 表示給文件或目錄添加屬性,- 表示移除文件或目錄擁有的某些屬性,= 表示給文件或目錄設(shè)定一些屬性。
表 1 列出了常用的一些屬性及功能。
| 屬性選項(xiàng) | 功能 |
|---|---|
| i | 如果對(duì)文件設(shè)置 i 屬性,那么不允許對(duì)文件進(jìn)行刪除、改名,也不能添加和修改數(shù)據(jù); 如果對(duì)目錄設(shè)置 i 屬性,那么只能修改目錄下文件中的數(shù)據(jù),但不允許建立和刪除文件; |
| a | 如果對(duì)文件設(shè)置 a 屬性,那么只能在文件中増加數(shù)據(jù),但是不能刪除和修改數(shù)據(jù); 如果對(duì)目錄設(shè)置 a 屬性,那么只允許在目錄中建立和修改文件,但是不允許刪除文件; |
| u | 設(shè)置此屬性的文件或目錄,在刪除時(shí),其內(nèi)容會(huì)被保存,以保證后期能夠恢復(fù),常用來(lái)防止意外刪除文件或目錄。 |
| s | 和 u 相反,刪除文件或目錄時(shí),會(huì)被徹底刪除(直接從硬盤(pán)上刪除,然后用 0 填充所占用的區(qū)域),不可恢復(fù)。 |
【例 1】 給文件賦予 i 屬性。
[root@localhost ~]# touch ftest
#建立測(cè)試文件
[root@localhost ~]# chattr +i ftest
[root@localhost ~]# rm -rf ftest
rm:cannot remove 'ftest':Operation not permitted
#無(wú)法刪除"ftesr",操作不允許
#被賦予i屬性后,root不能刪除
[root@localhost ~]# echo 111>>ftest
bash:ftest:Permission denied
#權(quán)限不夠,不能修改文件中的數(shù)據(jù)
可以看到,設(shè)置有 i 屬性的文件,即便是 root 用戶(hù),也無(wú)法刪除和修改數(shù)據(jù)。
【例 2】為目錄賦予 i 屬性。
[root@localhost ~]# mkdir dtest
#建立測(cè)試目錄
[root@localhost dtest]# touch dtest/abc
#再建立一個(gè)測(cè)試文件abc
[root@localhost ~]# chattr +i dtest
#給目錄賦予i屬性
[root@localhost ~]# cd dtest
[root@localhost dtest]# touch bed
touch: cannot touch 'bed':Permission denied
#無(wú)法創(chuàng)建"bcd",權(quán)限不夠,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
#無(wú)法刪除"abc",權(quán)限不夠
一旦給目錄設(shè)置 i 屬性,即使是 root 用戶(hù),也無(wú)法在目錄內(nèi)部新建或刪除文件,但可以修改文件內(nèi)容。
給設(shè)置有 i 屬性的文件刪除此屬性也很簡(jiǎn)單,只需將 chattr 命令中 + 改為 - 即可。
【例 3】演示 a 屬性的作用。
假設(shè)有這樣一種應(yīng)用,我們每天自動(dòng)實(shí)現(xiàn)把服務(wù)器的日志備份到指定目錄,備份目錄可設(shè)置 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
#可以復(fù)制文件和新建文件到指定目錄中
[root@localhost ~]# rm -rf /back/log/messages
rm: cannot remove '/back/log/messages': Permission denied
#無(wú)法刪除 /back/log/messages,操作不允許
注意,通常情況下,不要使用 chattr 命令修改 /、/dev/、/tmp/、/var/ 等目錄的隱藏屬性,很容易導(dǎo)致系統(tǒng)無(wú)法啟動(dòng)。另外,chatrr 命令常與 lsattr 命令合用,前者修改文件或目錄的隱藏屬性,后者用于查看是否修改成功。有關(guān) lsattr 命令,放到下節(jié)講解。
當(dāng)前標(biāo)題:Linuxchattr命令詳解:修改文件系統(tǒng)的權(quán)限屬性
當(dāng)前路徑:http://m.fisionsoft.com.cn/article/cocdego.html


咨詢(xún)
建站咨詢(xún)
