ext2(3)的檔案系統除了一般的檔案權限管理外,還有一種叫做屬性 (attributes) 可以來設定.這些屬性可以幫助系統管理者更方便嚴謹的檔案權限問題.
指令名稱:
- 列印檔案屬性(List advanced file attributes)
# lsattr filename
- 修改檔案屬性(Change advanced file attributes)
# chattr +/-attribute [option] filename
屬性attribute
- S:Synchronous updates to Disk
- D:Synchronous updates to directory
資料會直接寫入硬碟中,S 是針對檔案,D 可以針對目錄下所有的檔案. - a:Only append mode.本文無法修改,只能以在檔尾增加
本文無法修改,連root也一樣受到限制,只能以在檔尾增加.[root@benjr ~]# chattr +a install.log [root@benjr ~]# lsattr install.log —–a——- [root@benjr ~]# echo ABCDE > install.log -bash: install.log : Operation not premitted. [root@benjr ~]# echo ABCDE >> install.log [root@benjr ~]# chattr -a install.log
- i:Immutable ,也就檔案為唯讀的屬性
檔案無法修改,連root也一樣受到限制,檔案亦無法在檔尾增加.[root@benjr ~]# chattr +i install.log [root@benjr ~]# echo ABCDE > install.log -bash: install.log : Operation not premitted. [root@benjr ~]# echo ABCDE >> install.log [root@benjr ~]# chattr -i install.log
- j:data jouralling
只適用在ext3的分割磁區. - d:no dump
言下之意使用 dump 時,這個檔案不為 dump 所備份.
以下的檔案屬性,目前 linux 的 kernel 尚未支援 - c:compressed
檔案在儲存時會先經過壓縮的動作(compressed on the disk by the kernel) - s:secure deletion
當檔案被刪除,原刪除磁區的資料將會清成0( Its blocks are zeroed and wirtten back to disk if file deleted.) - u:undeletable
有點像是資源回收筒的概念 (This allow user to ask for its undeletion) - A: atime (檔案存取時間) 不會被更新
先來說說 Linux 會記錄檔案的三種時間 mtime / ctime / atime- mtime: time of last modification
紀錄上一次檔案被更改的時間,只要檔案內容被修改過 mtime 的會被更新. 可以透過 ls -l 來看 mtime . - ctime: time of last status change
只要是檔案或是目錄的 inode 被改變(owner, permissions, 等.)這時間就會被更新.還有當檔案被更新時這 ctime 也會被更新. dump 的備份指令就是透過 ctime 來看需不需要將這檔案做備份為依據. 可以透過 ls -lc 來看 ctime . - atime: time of last access
這裡記錄著上一次最後存取這個檔案的時間,只要這檔案被存取過這時間就會被更新,如果這檔案是可執行檔在執行後這時間也會被改變.也可以透過 ls -lu 來看 atime .
我們也可以透過 #stat 這個指令來同時看這三種檔案紀錄的時間.
[root@benjr ~]# chattr +A install.log [root@benjr ~]# lsattr install.log ——-A—– [root@benjr ~]# stat install.log File: `install.log’ Size: 80820 Blocks: 176 IO Block: 4096 regular file Device: fd00h/64768d Inode: 10584066 Links: 1 Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2010-01-13 17:43:26.000000000 +0800 Modify: 2010-01-13 17:43:26.000000000 +0800 Change: 2010-01-13 18:04:11.000000000 +0800 [root@benjr ~]# echo “TEST" >> install.log [root@benjr ~]# stat install.log File: `install.log’ Size: 80825 Blocks: 176 IO Block: 4096 regular file Device: fd00h/64768d Inode: 10584066 Links: 1 Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2010-01-13 17:43:26.000000000 +0800 Modify: 2010-01-13 18:04:23.000000000 +0800 Change: 2010-01-13 18:04:23.000000000 +0800 [root@benjr ~]# chattr -A install.log
唯有 Access time(atime) 沒被修改過.
- mtime: time of last modification
沒有解決問題,試試搜尋本站其他內容
2 thoughts on “Linux – ext2(3) 磁區檔案屬性”