這兩個命令是用來檢視和改變檔案、目錄屬性的,與chmod這個命令相比,chmod只是改變檔案的讀寫、執行許可權,更底層的屬性控制是由chattr來改變的。
chattr命令的用法:chattr [ -rvf ] [ -v version ] [ mode ] files…
最關鍵的是在[mode]部分,[mode]部分是由+-=和[asacddiijsttu]這些字元組合的,這部分是用來控制檔案的
屬性。
+ :在原有引數設定基礎上,追加引數。
- :在原有引數設定基礎上,移除引數。
= :更新為指定引數設定。
a:檔案或目錄的 atime
(access time)不可被修改(modified),
系統的安全設定有很大幫助。
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處理能力(標識)的程序能夠施加該選項。
應用舉例:
1、用chattr命令防止系統中某個關鍵檔案被修改:
# chattr +i /etc/resolv.conf
然後用mv /etc/resolv.conf等命令操作於該檔案,都是得到operation not permitted
-i /etc/resolv.conf
# lsattr
/etc/resolv.conf
會顯示如下屬性
----i--------
/etc/resolv.conf
2、讓某個檔案只能往裡面追加資料,但不能刪除,適用於各種日誌檔案:
# chattr +a /var/log/messages
更改linux的root密碼 報:passwd: authentication token
manipulation error
具體例項:
如下所示:
[root@ticket-a ~]# passwd
root
changing password
for user root.
new unix
password:
retype new
unix password:
sorry,
passwords do not match
new unix password:
retype new unix
password:
passwd:
authentication token manipulation error
修改如下:
[root@ticket-a ~]# chattr -i
/etc/passwd
[root@ticket-a ~]# chattr
-i/etc/shadow
再修改root的密碼就可以。
修改完之後,再執行
[root@ticket-a ~]# chattr +i
/etc/passwd
[root@ticket-a ~]# chattr
+i/etc/shadow
linux學習筆記 chattr命令
chattr命令用來改變檔案屬性。這項指令可改變存放在ext2檔案系統上的檔案或目錄屬性,這些屬性共有以下8種模式 a 讓檔案或目錄僅供附加用途 b 不更新檔案或目錄的最後訪問時間 c 將檔案或目錄壓縮後存放 d 將檔案或目錄排除在傾倒操作之外 i 不得任意改動檔案或目錄 s 保密性刪除檔案或目錄 ...
chattr 命令用法
限制檔案唯讀 chattr i c2.jsp a 追加 s sync,一旦應用程式對這個檔案執行了寫操作,使系統立刻把修改的結果寫到磁碟 i immutable,系統不允許對這個檔案進行任何的修改。如果目錄具有這個屬性,那麼任何的程序只能修改目錄之下的檔案,不允許建立和刪除檔案。d 檢查壓縮檔案中的...
chattr命令詳解
root localhost usermod l yan root localhost passwd s yan yan lk 2016 07 11 0 99999 7 1 密碼已被鎖定。root localhost usermod u yan root localhost passwd s yan...