為什麼shadow檔案的inode值會改變?

為什麼shadow檔案的inode值會改變?

我為影子文件創建了一個硬連結。為了刪除使用者的密碼,我在 vi 編輯器中開啟影子檔案並刪除加密的密碼,然後儲存。影子檔案的 inode 值已更改。然後我更新了使用者的密碼,並且影子檔案的 inode 值再次發生了變化。為什麼影子檔案的索引節點在編輯/更新時會改變?

答案1

密碼更改的通常實現涉及硬鏈接/etc/shadow/etc/stmp(或一些類似的名稱;link()在本地文件系統上是原子的,這構成了一種鎖定文件機制),將新文件寫入臨時文件,然後將原始文件重命名/etc/shadow/etc/shadow-或類似名稱並重命名臨時到/etc/shadow。這樣做是為了穩健性:在任何時候,shadow未經修改的原始檔案仍然存在,並且即使在錯誤的時間斷電或出現同樣嚴重的情況(除非它損壞了整個磁碟),也可以輕鬆恢復。

相關內容