VPS設定を完全に自動化するスクリプトを作成していますが、ルートパスワードを変更する必要があります。スクリプトはSSHを介して実行されるため、入力を避けたいです。
passwd
任意の値をコマンド入力にリダイレクトする方法はありますか?
編集する
パスワードを2回含めることを知っていますpasswd < passwd_file.txt
。この目的のために一時ファイルを使用するのはやや不器用に思えるので、よりエレガントな方法があるかどうか疑問に思います。
ベストアンサー1
使用しているUNIXのバージョンを指定していませんが、Linuxではpasswd(1)のマニュアルページに次のように表示されます。
--stdin
This option is used to indicate that passwd should read the new
password from standard input, which can be a pipe.
したがって、あなたがしなければならないことは、以下を実行することだけです。
echo 'somepassword' | passwd --stdin
chpasswd
追加するように編集済み:Red HatとUbuntuの両方に(少なくとも)移植可能なバージョンがあります。
echo 'someuser:somepassword' | chpasswd
マニュアルページを参照してください。