シャドウ ファイルの inode 値が変更されるのはなぜですか?

シャドウ ファイルの inode 値が変更されるのはなぜですか?

シャドウ ファイルのハード リンクを作成しました。ユーザーのパスワードを削除するために、vi エディターでシャドウ ファイルを開き、暗号化されたパスワードを削除して保存しました。シャドウ ファイルの inode 値が変更されました。その後、ユーザーのパスワードを更新したところ、シャドウ ファイルの inode 値が再び変更されました。シャドウ ファイルの inode が編集/更新されると変更されるのはなぜですか?

答え1

パスワード変更の通常の実装では、 (または同様の名前。ローカル ファイル システムではアトミックであるため、一種のロック ファイル メカニズムを構成します) への/etc/shadowハードリンク、一時ファイルへの新しい書き込み、元のファイルの名前を または同様の名前に変更し、一時ファイルの名前を に変更します。これは堅牢性のために行われます。つまり、常に元のファイルは変更されずに存在し、電源が最悪のタイミングで落ちたり、同様に悪い状況になったりしても (ディスク全体が破壊されない限り) 簡単に復元できます。/etc/stmplink()/etc/shadow/etc/shadow-/etc/shadowshadow

関連情報