「スクリプトから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 オプションで指定した文字列がそのまま パスワード文字列として設定されます。要するに指定された文字列は、暗号化処理されずにそのまま入ってしまいます。

関連項目