/ etc / shadowファイルにコメントを書き込むにはどうすればよいですか?


10

私はいくつかのシステムアップグレードを実行しており、私のパッケージマネージャーはアップストリームの/ etc / shadowと私の間の変更を示しています。

これが次に起こるときのために、ファイルにコメントを入れたいと思います。物事を壊すことなく、/ etc / shadowファイルにコメントを入れるにはどうすればよいでしょうか。

私はデフォルトの「#」がそれをする可能性が高いと考えていますが、これを間違った場合、再起動はそれほど楽しくありません。


etckeeperを使用して、コメントをコミットメッセージに記録します。
Gilles「SO-邪悪なことをやめなさい」

回答:


14

GNU libcを使用するLinuxシステムで#は、で始まる行は無視され/etc/shadowます。解析はによって行われ__fgetspent_r()、そのソースコードはこの動作を明示的に処理(およびドキュメント化)します。

したがって、ほとんどのLinuxシステムで/etc/shadow#、問題を発生させることなく、コメント行を追加できます。

とき残念ながらコメントは破棄され/etc/shadow、更新され、例えばによってpasswd; したがって、コメントの保存は実際には安全ではありません(コメントの観点から)。

これは、コメントを保存するために別の場所を見つける必要があることを意味します。2つの良い提案は、dr01の使用のアイデア/etc/shadow.README、またはより良いがGillesetckeeperでコミットメッセージを使用するというアイデアです。


ほぼすべての無効なエントリがで失われるようpasswdです。偽のユーザーエントリ、または有効なユーザーエントリを使用して、最後のエントリに文字を追加しようとしましたが、すべて役に立ちませんでした。
Otheus

7

のすべての行が/etc/shadowユーザーレコードと見なされます。書かれたパーサのソースコードを見直しスティーブン・キットにより、あなたは、で始まる行を置くことができる#ファイルのコメント、さらには空行として、彼らは無視されます。

しかし、/etc/shadowコメントのあるファイルを見たことがありません。これは一般的な方法ではないようですが、非常に正当な理由があります。手動で編集することはお勧めしません。このため、/etc/shadow.READMEコメントを保存する代わりにファイルを作成することをお勧めします。chmod 000root以外のユーザーがファイルを覗き見しないように、このファイルを忘れないでください。


なぜ000ですか?所有していてroot:root、それでug=r,o=十分ではありませんか?
0xC0000022L

000は/etc/shadow(少なくともRed Hatでは、他のディストリビューションで調べたことはありません)のアクセス権であり、rootだけがファイルにアクセスできるようにします。440あなたが提案するように、彼/彼女が誤ってルートグループに参加した場合、通常のユーザーがファイルを読めるようにします。適切に管理されたマシン上で、すべての実用的な目的のために、それらは同じ価値があります。000は「セキュリティクリティカルファイル-手を離さない」の意味をよりよく伝えると思いますが、それは私の意見です。
dr_

@ dr01:スーパーユーザーがそれを行わずに、通常のユーザーがルートグループに参加する方法がわからない。スーパーユーザーがそのような間違いを犯した場合、すべての賭けは無効になります。たとえば、その人がすでにsudoerであり、関係なくファイルにアクセスできる可能性は十分にあります。あいまいさによるセキュリティだと思いますが、YMMV。
0xC0000022L 2015年

これは、「通常のユーザーが誤ってルートグループに参加する」という意味です。私の場合は、スーパーユーザーが(チャンスは少ないですが)誤ってルートグループに入れてしまう可能性があります。000の権限では、rootだけがファイルにアクセスできます。私はそれがおそらく最悪のケースであることを認識していますが、コメントファイルがと同じ権限を持つことになるので、この方法もはるかにクリーンだと思います/etc/shadow
dr_

3

もちろん、に変更があります/etc/shadow。サーバー上のアカウント情報(ハッシュされたパスワード、アカウントの有効期限など)をアップストリームのバイト単位のコピーにしたくない。/etc/shadow/etc/shadow

また/etc/shadow、アップストリームデータソースから取得したもので現在の値を上書きしないようにしてください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.