シェルスクリプトを使用してUnixユーザーのパスワードを変更したいのですが、古いパスワードの入力を求められません。
つまり、シェルスクリプト自体に新旧のパスワードを指定して、プロンプト中にスクリプトファイルからパスワードを読み取るようにします。
シェルスクリプトを使用してUnixユーザーのパスワードを変更したいのですが、古いパスワードの入力を求められません。
つまり、シェルスクリプト自体に新旧のパスワードを指定して、プロンプト中にスクリプトファイルからパスワードを読み取るようにします。
コマンドを確認する必要がchpasswd
あります (Linux フレーバーで使用可能な場合)。
echo 'userid:newpasswd' | chpasswd
または、各アカウントのuserid:passwdを別の行にリストしたファイルを cat できます。
それでおしまい。
$> echo -e -n "oldpasswd\nnewpasswd\nnewpasswd" | passwd
または、物事をよりクリーンな方法にするために、パスワードを含むファイルを書き込みます
oldpassword
newpassword
newpassword
次のコマンドを使用します。$> passwd < file
パイプおよびリダイレクト演算子は、標準入力を、リダイレクトされたファイルのコンテンツ、またはパイプされたコマンドの出力のいずれかに置き換えます。