質問: linux系osのログイン処理について知りたいです. ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/403ea7006ad29fe77d743a5f82dd8c0a.jpeg) ubuntuでは以上のようなログイン画面で正しいパスワードを入力するとかなり短い時間でログインができます.どこでユーザー名とパスワードの情報を保持しているのでしょうか? rootユーザでcat /etc/shadowを実行するとユーザー名と暗号化されたパスワードが表示されますが,あくまでも暗号化されたパスワードで,その暗号化されたパスワードを解読するにはかなりのリソースが必要になると思います. ユーザーが入力したユーザー名と一致するパスワードを/etc/shadowから取得し,解読して,入力されたパスワードと比較して一致した場合ログイン成功といった処理をするとかなり時間がかかると思います. ユーザー名とパスワードの情報を保持しているのか,どういった処理を行ったらあんなに短時間でログインできるのかを教えてほしいです. もしくはこの答えと繋がるような情報が載っているサイトを教えてほしいです.(自分では見つからなかった)
回答: > > どこでユーザー名とパスワードの情報を保持しているのでしょうか? > > > 普通はファイル(`/etc/passwd` `/etc/shadow`)です。設定すれば、外部の認証サーバーの情報を参照して認証するようにする事も可能です。 > > その暗号化されたパスワードを解読するにはかなりのリソースが必要になると思います. > > > 解読はしません。 ユーザーが入力したパスワードをハッシュ化関数を使ってハッシュ値を求め、`/etc/shadow`に書いてあるハッシュ値と一致したらOKです。