Raspianの現在のバージョンでは、現在ログインしているユーザーのパスワードをコマンドラインから次のように変更できることを知っています。
Sudo passwd
次に、ユーザーに新しいパスワードを2回入力するように求めます。これにより、次のような出力が生成されます。
Changing password for pi.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
シェルスクリプトなどのように、プログラムでパスワードを変更する方法はないかと考えていました。
Raspberry Piに展開する構成スクリプトを作成しようとしています。手動で新しいパスワードを入力する必要はありません。
chpasswd
コマンドを探しています。あなたはこのようなことをするでしょう:
echo 'pi:newpassword' | chpasswd # change user pi password to newpassword
少なくともデフォルトのPAM構成では、ルートとして実行する必要があることに注意してください。しかし、おそらくrootとして実行することは、システム展開スクリプトの問題ではありません。
また、複数行の入力を供給することにより、一度に複数のユーザーを実行できます。
もう1つの方法は、スクリプトでyes
コマンドを使用することです。
yes newpassword | passwd youruser
これにより、newpassword
がpasswd
のyouruser
コマンドに送信されます。
スクリプトを使用してユーザーのパスワードを設定/変更すると、セキュリティ上のリスクが生じる可能性があるため、可能な限り回避する必要があることに注意してください。
編集:
この回答にはrootアクセスが必要です。これについて以前言及しなかったことをお詫びします。これは、ルートアクセスを必要とする管理タスクを実行するときに使用する方法です。