nspawnコンテナの非対話型パスワードの変更

nspawnコンテナの非対話型パスワードの変更

最初に root パスワードがなく rootfs を生成した後、ansible でコンテナを生成するので、nspawn コンテナのルートパスワードを変更したいと思います。

パスワード変更を使用するのは良い考えですか?変えるモジュールは/etc/shadowファイルのルート行を置き換えますか?

非対話型でパスワードを更新する他の方法はありますか?

私は試した:

echo user:pass | /usr/sbin/chpasswd

しかし、エコーは機能しません。 execv() を受け取ります。failed: No such file or directory

答え1

passwdこの状況に適用されます。オプションがあります--stdin。誰かが実行すると表示される可能性があるため、echo my-secret-password | passwd --stdin使用しないでください。運が悪い場合は、ログファイルに表示されることもあります。echo my-secret-passwordps

#!/bin/sh

PASSWORD=...

passwd root --stdin <<EOF
$PASSWORD
EOF

関連情報