Linuxでパスワードデータベースファイル(/etc/passwd)を変更できますか?

Linuxでパスワードデータベースファイル(/etc/passwd)を変更できますか?

/etc/passwdパスワードデータベースファイル()を別のファイルに変更できますか?この認証メカニズムは内部的にどのように機能しますか?パムに依存していますか?

ベストアンサー1

あなたは正しいです。協議によると/etc/passwdPAMの一部です。少なくとも最新のLinuxではそうです。をパッチしてこの設定を変更できます。マンページを信頼できる場合は、システムデータベースの場所を変更できません。/etc/shadowpam_unix.sopam_unix.so

そして、あなたは本当にそうしたくありません。/etc/passwd認証だけでなく、(逆)名前解決やユーザーのフルネーム、シェルなどを見つけるためにも使用されます。名前と場所はあまりにも標準化されているので、移動するとPAM外の問題がほぼ確実に中断されます。予想以上に多くのものに触れる必要があります。

修正する:セキュリティ上の理由からファイルを非表示にしたい場合でも/etc/{passwd,shadow,group}心配しないでください。あいまいなセキュリティはポリシーとしてほとんど役に立ちません。これをそのままにして、残りの方針を強化してください。

アップデート:考えられる解決策

他のユーザー/グループデータベースセットにアクセスする必要があるカスタムソフトウェアがある場合は、関連するPAMおよびNSSモジュールをコピーしてパッチを適用できます。それらカスタムデータベースを使用します。元のUNIXデータベースはそのまま残り、ソフトウェアは難読化されません。ただし、必要に応じてカスタムモジュールを使用するようにPAMとNSSを設定し、自分に合った戦略を使用できます。

UNIXデータベースを本質的にプリミティブに保つことで、必要なものを得ることができます。これはPAM / NSSモジュールが行うこととほぼ同じですradiusldap追加(代替ではありません)資格情報とユーザー/グループ情報のソース。

さらに一歩進んで、PAMとNSSを使用してUnixデータベースの検索を完全に無効にすることができます。ファイルは古いソフトウェアのままにしておきます(もちろん、ユーザー/グループデータベースの表示は正確ではありませんが、少なくとも破損するわけではありません)。

おすすめ記事