abstrak:一、chattr、lsattr 簡(jiǎn)介chattr = change attribution 改變文件屬性lsattr = list attribution 查看文件屬性與chmod這個(gè)命令相比,chmod只是改變文件的讀寫、執(zhí)行權(quán)限,更底層的屬性控制是由chattr來改變的。有時(shí)候你發(fā)現(xiàn)用root權(quán)限都不能修改某個(gè)文件,大部分原因是曾經(jīng)用chattr命令鎖定該文件了。通過chattr命令修改屬性能
一、chattr、lsattr 簡(jiǎn)介
chattr = change attribution 改變文件屬性
lsattr = list attribution 查看文件屬性
與chmod這個(gè)命令相比,chmod只是改變文件的讀寫、執(zhí)行權(quán)限,更底層的屬性控制是由chattr來改變的。有時(shí)候你發(fā)現(xiàn)用root權(quán)限都不能修改某個(gè)文件,大部分原因是曾經(jīng)用chattr命令鎖定該文件了。通過chattr命令修改屬性能夠提高系統(tǒng)的安全性,但是它并不適合所有的目錄。chattr命令不能保護(hù) "/"、"/dev"、"/tmp"、"/var" 目錄。lsattr命令是顯示chattr命令設(shè)置的文件屬性
二、chattr 用法
chattr命令的用法:chattr [ -RVf ] [ -v version ] [ mode ] files…
最關(guān)鍵的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]這些字符組合的,這部分是用來控制文件的屬性。
[root@root ~]# mkdir test //我們先創(chuàng)建一個(gè)目錄來做實(shí)驗(yàn) [root@root ~]# chattr +i test //我們給這個(gè)目錄加上i屬性 [root@root ~]# rmdir test //這樣test目錄就不允許被刪除了 rmdir: 刪除 "test" 失敗: 不允許的操作 [root@root ~]# mv test test1 //也不允許被移動(dòng) mv: 無法將"test" 移動(dòng)至"test1": 不允許的操作 [root@root ~]# chattr -i test //如果我們把i屬性去掉就可以刪除了 [root@root ~]# rmdir test [root@root ~]# chattr +a /var/log/messages //a屬性可以讓某個(gè)文件只能往里面追加數(shù)據(jù),但不能刪除文件,適用于各種日志文件
三、chattr 參數(shù)
+ 在原有參數(shù)設(shè)定基礎(chǔ)上,追加參數(shù)
- 在原有參數(shù)設(shè)定基礎(chǔ)上,移除參數(shù)
= 更新為指定參數(shù)設(shè)定
A 文件或目錄的atime不可被修改,可以有效預(yù)防例如手提電腦磁盤I/O錯(cuò)誤的發(fā)生
S 硬盤I/O同步選項(xiàng),功能類似sync
a 即append,設(shè)定該參數(shù)后,只能向文件中添加數(shù)據(jù),而不能刪除,多用于服務(wù)器日志文件安全,只有root才能設(shè)定這個(gè)屬性
c 即compresse,設(shè)定文件是否經(jīng)壓縮后再存儲(chǔ)。讀取時(shí)需要經(jīng)過自動(dòng)解壓操作
d 即no dump,設(shè)定文件不能成為dump程序的備份目標(biāo)
i 設(shè)定文件不能被刪除、改名、設(shè)定鏈接關(guān)系,同時(shí)不能寫入或新增內(nèi)容。i參數(shù)對(duì)于文件 系統(tǒng)的安全設(shè)置有很大幫助
j 即journal,設(shè)定此參數(shù)使得當(dāng)通過mount參數(shù):data=ordered 或者 data=writeback 掛 載的文件系統(tǒng),文件在寫入時(shí)會(huì)先被記錄(在journal中)。
如果filesystem被設(shè)定參數(shù)為 data=journal,則該參數(shù)自動(dòng)失效
s 保密性地刪除文件或目錄,即硬盤空間被全部收回
u 與s相反,當(dāng)設(shè)定為u時(shí),數(shù)據(jù)內(nèi)容其實(shí)還存在磁盤中,可以用于undeletion各參數(shù)選項(xiàng)中常用到的是a和i。a選項(xiàng)強(qiáng)制只可添加不可刪除,多用于日志系統(tǒng)
的安全設(shè)定。而i是更為嚴(yán)格的安全設(shè)定,只有superuser (root) 或具有CAP_LINUX_IMMUTABLE處理能力(標(biāo)識(shí))的進(jìn)程能夠施加該選項(xiàng)。
四、lsattr用法
[root@root ~]# lsattr /etc/resolv.conf //lsattr用于查看文件屬性 -------------e- /etc/resolv.conf [root@root ~]# lsattr –R /var //-R屬性可以查看子目錄的屬性 -------------e- /var/db -------------e- /var/nis -------------e- /var/games -------------e- /var/cache -------------e- /var/spool -------------e- /var/run -------------e- /var/log [root@root ~]# lsattr -d /var //-d屬性可以查看目錄本身的屬性 -------------e- /var