lsattr 顯示文件的底層屬性
eg. lsattr filename
[xixi@localhost ~]$ lsattr 1.txt
-------------e- 1.txt
和chomd想比,chmod只是修改文件
+ :在原有參數設定基礎上,追加參數。
- :在原有參數設定基礎上,移除參數。
= :更新為指定參數設定。
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處理能力(標識)的進程能夠施加該選項。
應用實例一:
1、用chattr命令防止系統中某個關鍵文件被修改
應用實例一:
1、用chattr命令防止系統中某個關鍵文件被修改
# chattr +i /etc/fstab 然后試一下rm mv rename等命令操作於該文件,都是得到Operation not permitted 的結果 2、讓某個文件只能往里面追加內容,不能刪除,一些日志文件適用於這種操作 # chattr +a /data1/user_act.log 應用實例二:
[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
有的說是根目錄空間滿,或者是密碼文件的權限的問題
如果以前對系統做安全配置,把/etc/passwd, /etc/shadow 改為不可修改
那就需要取消之前的修改,如下:
[root@station22 ~]# lsattr /etc/passwd /etc/shadow ----i-------- /etc/passwd ----i-------- /etc/shadow
[root@station22 ~]# chattr -i /etc/passwd [root@station22 ~]# chattr -i/etc/shadow
[root@station22 ~]# lsattr /etc/passwd /etc/shadow ------------- /etc/passwd ------------- /etc/shadow
再修改root的密碼就可以。
修改完之后,再執行
[root@station22 ~]# chattr +i /etc/passwd [root@station22 ~]# chattr +i/etc/shadow
轉自 作者:瘋狂的猴子
的讀、寫、執行程序
chattr修改的是文件更底層的屬性