「スクリプトからpasswdコマンドでパスワードを変更する方法」の版間の差分
提供: Linux入門
(ページの作成:「Linux で '''スクリプト'''から UNIX パスワードを変更する方法を紹介します。 '''読み方''' ;passwd:ぱすわーど __TOC__ == 概要 == '''pa...」) |
|||
行8: | 行8: | ||
== 概要 == | == 概要 == | ||
'''passwd''' コマンドを使って、アカウントのパスワードを変更する方法を紹介します。 | '''passwd''' コマンドを使って、アカウントのパスワードを変更する方法を紹介します。 | ||
− | == | + | == chpasswd コマンドを使用する例 == |
+ | <syntaxhighlight lang="bash"> | ||
+ | echo "USERNAME:NEW_PASSWORD" | chpasswd | ||
+ | </syntaxhighlight> | ||
+ | == passwd コマンドを使用する例 == | ||
root ユーザで動作させれば、自分以外のアカウントのパスワードが変更できます。 | root ユーザで動作させれば、自分以外のアカウントのパスワードが変更できます。 | ||
foo のユーザのパスワードを $PASSWORD に変更する例です。 | foo のユーザのパスワードを $PASSWORD に変更する例です。 | ||
行19: | 行23: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
foo$ echo "$CURRENT_PASSWORD\n$NEW_PASSWORD\n$NEW_PASSWORD\n" | passwd foo | foo$ echo "$CURRENT_PASSWORD\n$NEW_PASSWORD\n$NEW_PASSWORD\n" | passwd foo | ||
+ | </syntaxhighlight> | ||
+ | == ヒアドキュメントを使用した場合 == | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | /usr/bin/passwd foo<<EOF | ||
+ | new_password | ||
+ | new_password | ||
+ | EOF | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== perl で書いた場合 == | == perl で書いた場合 == |
2017年9月3日 (日) 15:48時点における最新版
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 オプションで指定した文字列がそのまま パスワード文字列として設定されます。要するに指定された文字列は、暗号化処理されずにそのまま入ってしまいます。