ユーザーのパスワードは/etc/passwd
に保存されていることがわかっています 、ただし暗号化されているため、ルートでさえそれらを見ることができません:
jane:x:501:501::/home/jane:/bin/bash
fred:x:502:502::/home/fred:/bin/bash
上記のように、:x:
パスワードを表します。
/etc/passwd
にパスワードを保存する方法(可能な構成)はありますか? クリアテキストで、ルートがそれらを見ることができるように?
承認された回答:
他の2つの答えは、これは悪いアイデア™であるとあなたに伝えています。 。しかし、彼らはまたあなたにその難しい 行うには、一連のプログラムを変更する必要があります。
それは真実ではない。それは超簡単。変更する必要があるのは、1つまたは2つの構成ファイルだけです。制御していないシステムにログインするときは注意する必要があるため、これを指摘することが重要だと思います。これらは実際にはプレーンテキストのパスワードを/etc/passwd
に配置しません または/etc/shadow
、別のファイルに入れられます。パスワードをプレーンテキストにしたくないので、これらをテストしていないことに注意してください。
-
/etc/pam.d/common-password
を編集します (パスワードの変更をキャッチするため)または/etc/pam.d/common-auth
(ログイン時にキャッチするため)そして… pam_exec expose_authtok log=/root/passwords /bin/cat
-
これらの両方を編集し、
crypt=none
を使用してpam_unixからpam_userdbに切り替えます 。または、パスワードをcommon-passwordのみに入れて(pam_unixも残して)、パスワードが変更されたときにパスワードを記録することもできます。 -
shadow
を削除できます (および強力なハッシュオプション)pam_unixのオプションを使用して、シャドウファイルを無効にし、従来の暗号化パスワードに戻します。プレーンテキストではありませんが、JohntheRipperがそれを修正します。
詳細については、PAMシステム管理者ガイドを確認してください。
PAMのソースコードを編集したり、独自のモジュールを作成したりすることもできます。 PAM(またはモジュール)をコンパイルするだけで、他には何も必要ありません。