パスワードが次に保存されていることを知っています。/etc/shadow
ただし、ログインプロセス中に、Linuxはユーザー名とパスワードを引数として使用し、同じアルゴリズムを使用してパスワードを暗号化し、それをシャドウに保存されているパスワードと比較すると仮定します。
私の質問は、このプロセスがどこで発生するかです。 (コード)PAMを検索してみましたが、役に立つものが見つかりませんでした。
答え1
答え2
パスワードが/etc/shadowに保存されていることを知っています。
Gillesがすでに述べたように、パスワードハッシュのみが保存され、/etc/shadow
これは可能な場所の1つにすぎず、ldap
サーバーまたはNIS
テーブルに完全に保存できます。
ただし、ログインプロセス中に、Linuxはユーザー名とパスワードを引数として使用し、同じアルゴリズムを使用してパスワードを暗号化し、それをシャドウに保存されているパスワードと比較すると仮定します。
プロセスはそれよりはるかに柔軟です。PAM
構成によっては、システムは複数のモジュールを順次チェックし、1つが成功して十分であると宣言したり、1つが失敗して必須と宣言したりすると停止することがあります。モジュールはログインしようとしているユーザーと会話を確立できるため、提供されるものは必ずしもユーザー名とパスワードのペアである必要はありません。たとえば、rlogin
(pam_rhosts_auth
)を使用すると、ユーザーにパスワードを提供せずにアクセス権を付与できます。パスワードがすぐに期限切れになるという警告、期限切れのパスワードを変更するように求めるメッセージ、および同様の対話型タスクをユーザーに知らせる必要があります。
私の質問は、このプロセスがどこで発生するかです。 (コード)PAMを検索してみましたが、役に立つものが見つかりませんでした。
Gillesはまた、etファイルエントリpam_unix
を扱ってこの質問に答えました。/etc/passwd
/etc/shadow