歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux服務器

Linux文件系統的隱藏權限:chattr lsattr

對於某些有特殊要求的檔案(如服務器日志)還可以追加隱藏權限的設定。這些隱藏權限包括:

Append only (a), compressed (c), no dump (d), immutable (i), data journalling (j),secure deletion (s), no tail-merging (t), undeletable (u), no atime updates (A), synchronous directory updates (D), synchronous updates (S), and top of directory hierarchy (T).

大部分屬性在文件系統的安全管理方面起很重要的作用。關於以上屬性的詳細描述請兄弟們查閱chattr的在線幫助man,注意多數屬性須要由root來施加。

通過chattr設置檔案的隱藏權限。

[root]#chattr --help

Usage: chattr [-RV] [-+=AacDdijsSu] [-v version] files...

參數或選項描述:

-R:遞歸處理,將指定目錄下的所有文件及子目錄一並處理。

-V:顯示詳細過程有版本編號。

-v:設定文件或目錄版本(version)。

+ :在原有參數設定基礎上,追加參數。

- :在原有參數設定基礎上,移除參數。

= :更新為指定參數設定。

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處理能力(標識)的進程能夠施加該選項。我們來舉一個例子:

[root]#touch chattr_test

[root]#chattr +i chattr_test

[root]#rm chattr_test

rm: remove write-protected regular empty file `chattr_test`? y

rm: cannot remove `chattr_test`: Operation not permitted

呵,此時連root本身都不能直接進行刪除操作,必須先去除i設置後再刪除。

chattr命令的在線幫助詳細描述了各參數選項的適用范圍及bug提示,使用時建議兄弟們仔細查閱。由於上述的這些屬性是隱藏的,查看時需要使用lsattr命令,以下簡述之。

lsattr命令格式:

[root]#lsattr [-RVadlv] [files...]

參數或選項說明:

-R:遞歸列示目錄及文件屬性。

-V:顯示程序版本號。

-a:顯示所有文件屬性,包括隱藏文件(.)、當時目錄(./)及上層目錄(../)。

-d:僅列示目錄屬性。

-l:(此參數目前沒有任何作用)。

-v:顯示文件或目錄版本。

例:

[root]#chattr +aij lsattr_test

[root]#lsattr

----ia---j--- ./lsattr_test

關於lsattr的用法,詳情請參閱在線幫助man。

 

Copyright © Linux教程網 All Rights Reserved