2013-08-03 5 views

答えて

28

シャドウファイルを使用して、特定のユーザ名に対して特定のパスワードが正しいことを検証できます。

ほとんどの最新のディストリビューションでは、ハッシュされたパスワードはシャドウファイル/ etc/shadowに格納されています(これはrootだけが読むことができます)。ルートとして、そのような特定のユーザーのためのshadowファイルからのラインを引く:

cat /etc/shadow | grep username 

をあなたはこのようなものが表示されます。

username:$1$TrOIigLp$PUHL00kS5UY3CMVaiC0/g0:15020:0:99999:7::: 

$ 1があり、ユーザー名の後。これはMD5ハッシュであることを示します。その後、別の$、次に(この場合は)TrOIigLp、別の$が続きます。 TrOIigLpは塩である。その後、saltを使用してハッシュされたハッシュされたパスワード(この場合はPUHL00kS5UY3CMVaiC0/g0)が表示されます。

openssl passwd -1 -salt TrOIigLp 

メッセージが表示されたら、opensslコマンドが用意塩を使用してMD5ハッシュを計算しなければならない与えられたパスワードを入力し、:これは次のように

さて、あなたは、同じ塩を使用して、指定されたパスワードをハッシュするためにOpenSSLを使用することができますそれはシャドーファイルからの上記とまったく同じでなければなりません。上記のコマンドの-1はMD5のハッシュです。

+0

情報ありがとうございます。私はシャドウファイル第2フィールドの部分を知らなかった。今私はcrypt()関数を使用することもできます...素晴らしい答え。 – smit

+0

@ mti2935あなたは 'cat/etc/shadow | grep username 'や' grep username/etc/shadow'のようなものですか? –

+0

ラッセル、訂正してくれてありがとう。はい、それは 'cat'であってはならず' echo'ではありませんでした。私は答えを編集しました。 – mti2935

関連する問題