%20%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%20%2Fetc%2Fshadow%20%E3%81%8B%E3%82%89%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E3%81%95%E3%82%8C%E3%81%9F%E3%83%91%E3%82%B9%E3%83%AF%E3%83%BC%E3%83%89%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%3F.png)
明らかに機能があります(パスワードを取得/etc/passwd
)、ユーザー名が与えられると、そのユーザーに関するその他の詳細(シェル、uid、gidなど)と一緒にその項目が返されます。
/etc/shadow
しかし、この機能をシャドウパスワードファイル()と連携させる方法がわかりません。可能ですか?アプリケーションはroot
。
答え1
シャドウパスワードファイルのポイントは次のとおりです。getpwnam
いいえそれからパスワードを返します。あなたは見る必要がありますman 3 shadow
そしてgetspnam
特に。
答え2
これは2つの理由で不可能です。
- シャドウファイルは最新システムの認証方法です。これらの一部には実際のパスワードはまったく含まれていません。ユーザーが指紋で認証している場合は何を返す必要がありますか?なぜアプリケーションがハングするのですか?
- ルート以外のアプリケーションにハッシュされた文字列を提供すると、オフライン攻撃が可能になります。
とにかく、構造はそれほど複雑ではないシステム固有のファイルなので、必要に応じて直接パーサーを作成できます。