Linux-chattr與lsattr命令詳解
Linux-chattr與lsattr命令詳解
root許可權都不能修改某個檔案,大部分原因是曾經用chattr命令鎖定該檔案了
chattr命令的用法:chattr [ -RVf ] [ -v version ] [ mode ] files…
最關鍵的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]這些字元組合的,這部分是用來控制檔案的屬性。
+ :在原有引數設定基礎上,追加引數。
- :在原有引數設定基礎上,移除引數。
= :更新為指定引數設定。
A:檔案或目錄的 atime (access time)不可被修改(modified), 可以有效預防例如手提電腦磁碟I/O錯誤的發生。
S:硬碟I/O同步選項,功能類似sync。
a:即append,設定該引數後,只能向檔案中新增資料,而不能刪除,多用於伺服器日誌檔案安全,只有root才能設定這個屬性。
c:即compresse,設定檔案是否經壓縮後再儲存。讀取時需要經過自動解壓操作。
d:即no dump,設定檔案不能成為dump程式的備份目標。
i:設定檔案不能被刪除、改名、設定連結關係,同時不能寫入或新增內容。i引數對於檔案 系統的安全設定有很大幫助。
j:即journal,設定此引數使得當透過mount引數:data=ordered 或者 data=writeback 掛 載的檔案系統,檔案在寫入時會先被記錄(在journal中)。
如果filesystem被設定引數為 data=journal,則該引數自動失效。
s:保密性地刪除檔案或目錄,即硬碟空間被全部收回。
u:與s相反,當設定為u時,資料內容其實還存在磁碟中,可以用於undeletion。
各引數選項中常用到的是a和i。a選項強制只可新增不可刪除,多用於日誌系統的安全設定。而i是更為嚴格的安全設定,只有superuser (root)
或具有CAP_LINUX_IMMUTABLE處理能力(標識)的程式能夠施加該選項。
chattr命令的作用很大,其中一些功能是由Linux核心版本來支援的,不過現在生產絕大部分跑的linux系統都是2.6以上核心了。
透過chattr命令修改屬效能夠提高系統的安全性,但是它並不適合所有的目錄。
chattr命令不能保護/、/dev、/tmp、/var目錄。
lsattr命令是顯示chattr命令設定的檔案屬性。
這兩個命令是用來檢視和改變檔案、目錄屬性的,與chmod這個命令相比,chmod只是改變檔案的讀寫、執行許可權,更底層的屬性控制是由chattr來改變的。
應用舉例:
1、用chattr命令防止系統中某個關鍵檔案被修改:
# chattr +i /etc/resolv.conf
然後用mv /etc/resolv.conf等命令操作於該檔案,都是得到Operation not permitted 的結果。
vim編輯該檔案時會提示W10: Warning: Changing a readonly file錯誤。
要想修改此檔案就要把i屬性去掉:
chattr -i /etc/resolv.conf
# lsattr /etc/resolv.conf
會顯示如下屬性
----i-------- /etc/resolv.conf
2、讓某個檔案只能往裡面追加資料,但不能刪除,適用於各種日誌檔案:
# chattr +a /var/log/messages
root許可權都不能修改某個檔案,大部分原因是曾經用chattr命令鎖定該檔案了
chattr命令的用法:chattr [ -RVf ] [ -v version ] [ mode ] files…
最關鍵的是在[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu]這些字元組合的,這部分是用來控制檔案的屬性。
+ :在原有引數設定基礎上,追加引數。
- :在原有引數設定基礎上,移除引數。
= :更新為指定引數設定。
A:檔案或目錄的 atime (access time)不可被修改(modified), 可以有效預防例如手提電腦磁碟I/O錯誤的發生。
S:硬碟I/O同步選項,功能類似sync。
a:即append,設定該引數後,只能向檔案中新增資料,而不能刪除,多用於伺服器日誌檔案安全,只有root才能設定這個屬性。
c:即compresse,設定檔案是否經壓縮後再儲存。讀取時需要經過自動解壓操作。
d:即no dump,設定檔案不能成為dump程式的備份目標。
i:設定檔案不能被刪除、改名、設定連結關係,同時不能寫入或新增內容。i引數對於檔案 系統的安全設定有很大幫助。
j:即journal,設定此引數使得當透過mount引數:data=ordered 或者 data=writeback 掛 載的檔案系統,檔案在寫入時會先被記錄(在journal中)。
如果filesystem被設定引數為 data=journal,則該引數自動失效。
s:保密性地刪除檔案或目錄,即硬碟空間被全部收回。
u:與s相反,當設定為u時,資料內容其實還存在磁碟中,可以用於undeletion。
各引數選項中常用到的是a和i。a選項強制只可新增不可刪除,多用於日誌系統的安全設定。而i是更為嚴格的安全設定,只有superuser (root)
或具有CAP_LINUX_IMMUTABLE處理能力(標識)的程式能夠施加該選項。
chattr命令的作用很大,其中一些功能是由Linux核心版本來支援的,不過現在生產絕大部分跑的linux系統都是2.6以上核心了。
透過chattr命令修改屬效能夠提高系統的安全性,但是它並不適合所有的目錄。
chattr命令不能保護/、/dev、/tmp、/var目錄。
lsattr命令是顯示chattr命令設定的檔案屬性。
這兩個命令是用來檢視和改變檔案、目錄屬性的,與chmod這個命令相比,chmod只是改變檔案的讀寫、執行許可權,更底層的屬性控制是由chattr來改變的。
應用舉例:
1、用chattr命令防止系統中某個關鍵檔案被修改:
# chattr +i /etc/resolv.conf
然後用mv /etc/resolv.conf等命令操作於該檔案,都是得到Operation not permitted 的結果。
vim編輯該檔案時會提示W10: Warning: Changing a readonly file錯誤。
要想修改此檔案就要把i屬性去掉:
chattr -i /etc/resolv.conf
# lsattr /etc/resolv.conf
會顯示如下屬性
----i-------- /etc/resolv.conf
2、讓某個檔案只能往裡面追加資料,但不能刪除,適用於各種日誌檔案:
# chattr +a /var/log/messages
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1357514/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux基礎命令---lsattrLinux
- Linux 常用的壓縮與解壓縮命令詳解Linux
- xargs 命令詳解,xargs 與管道的區別
- Linux關機與重啟的命令詳解Linux
- Dockerfile 命令詳解Docker
- NPM命令詳解NPM
- echo命令詳解
- Linuxtcpdump命令詳解LinuxTCP
- w命令詳解
- getsebool命令詳解
- tcpdump命令詳解TCP
- GCC命令詳解GC
- `find` 命令詳解
- Linux at命令詳解Linux
- netstat命令詳解
- Linux常用命令之檔案壓縮與解壓縮命令詳解Linux
- Linux使用者身份(命令詳解與補正)Linux
- Redis命令詳解:HashsRedis
- linux top 命令詳解Linux
- git init命令詳解Git
- git checkout命令詳解Git
- SVN命令詳解【轉】
- linux命令詳解:sortLinux
- git status命令詳解Git
- git add命令詳解Git
- Git 命令大全,詳解!Git
- git checkout 命令詳解Git
- git remote 命令詳解GitREM
- linux top命令詳解Linux
- MySQL explain命令詳解MySqlAI
- Linux screen 命令詳解Linux
- Linux find 命令詳解Linux
- rtmpdump命令列詳解命令列
- Linux xargs 命令詳解Linux
- vi命令詳解(轉)
- redis debug命令詳解Redis
- Linux sed 命令詳解Linux
- Linux awk 命令詳解Linux
- Linux iptables 命令詳解Linux