スクリプトからpasswdコマンドでパスワードを変更する方法

提供: Linux入門
移動: 案内検索
スポンサーリンク

Linux で スクリプトから UNIX パスワードを変更する方法を紹介します。

読み方

passwd
ぱすわーど

概要

passwd コマンドを使って、アカウントのパスワードを変更する方法を紹介します。

chpasswd コマンドを使用する例

echo "USERNAME:NEW_PASSWORD" | chpasswd

passwd コマンドを使用する例

root ユーザで動作させれば、自分以外のアカウントのパスワードが変更できます。 foo のユーザのパスワードを $PASSWORD に変更する例です。 $PASSWORD は任意の文字列を指定して下さい。

root# echo "$PASSWORD\n$PASSWORD\n" | passwd foo

foo がパスワードを変更する場合は、現在のパスワード ($CURRENT_PASSWORD) も指定する必要があります。

foo$ echo "$CURRENT_PASSWORD\n$NEW_PASSWORD\n$NEW_PASSWORD\n" | passwd foo

ヒアドキュメントを使用した場合

/usr/bin/passwd foo<<EOF
new_password
new_password
EOF

perl で書いた場合

perl からパスワードを変更する例です。

my $user = "foo";
my $cmd = "echo \"$pw\n$pw\n\" | /usr/bin/passwd $user";
system ($cmd);

参考 useradd

useradd コマンドの -p オプションを指定して、ユーザアカウントを作成すると、 -p オプションで指定した文字列がそのまま パスワード文字列として設定されます。要するに指定された文字列は、暗号化処理されずにそのまま入ってしまいます。

関連項目




スポンサーリンク