Linux
為什麼文件的 Inode 編號會發生變化而沒有其他變化?
今天我注意到tripwire 認為昨天一些Apache 配置文件*發生了變化。*我知道我沒有對這些文件進行任何更改。
查看資訊,它顯示只有 inode 編號發生了變化:
Property: Expected Observed ------------- ----------- ----------- Object Type Regular File Regular File Device Number 2305 2305 * Inode Number 5770048 5771399 Mode -rw-r--r-- -rw-r--r-- Num Links 1 1 UID root (0) root (0) GID root (0) root (0) Size 1055 1055 Modify Time Mon 09 Oct 2017 04:54:54 PM PDT Mon 09 Oct 2017 04:54:54 PM PDT Blocks 8 8 CRC32 BSW2x+ BSW2x+ MD5 CqXESieHTV/33Ye6iuaHjk CqXESieHTV/33Ye6iuaHjk
一個文件的 Inode 怎麼會改變而沒有別的呢?
單程:
cp -p file file.new && mv file.new file
例如:
$ ls -li file 12289 -rw-r--r-- 1 jeff jeff 0 Jun 13 14:24 file $ cp -p file file.new && mv file.new file $ ls -li file 12292 -rw-r--r-- 1 jeff jeff 0 Jun 13 14:24 file
另一種可能性是文件是從備份系統恢復的(並且該備份系統恢復了時間戳)。
另一個會更新 inode 編號而不觸及內容的活動是一個
sed -i
不做任何更改的命令,因為sed -i
使用一個臨時文件來保存結果,然後在最後將其重命名為原始文件。