
Linuxでpasswdコマンドで、パスワードに関する操作を行います。
記事の目次
passwdコマンドのヘルプを表示する!
passwdコマンドのヘルプを表示して、使用方法を確認します。パスワード変更以外に、強制的に期限切れにしたり、ロックをかけたりすることができます。
# passwd --help
Usage: passwd [OPTION...] <accountName>
-k, --keep-tokens keep non-expired authentication tokens
-d, --delete delete the password for the named account (root only); also removes password lock if any
-l, --lock lock the password for the named account (root only)
-u, --unlock unlock the password for the named account (root only)
-e, --expire expire the password for the named account (root only)
-f, --force force operation
-x, --maximum=DAYS maximum password lifetime (root only)
-n, --minimum=DAYS minimum password lifetime (root only)
-w, --warning=DAYS number of days warning users receives before password expiration (root only)
-i, --inactive=DAYS number of days after password expiration when an account becomes disabled (root only)
-S, --status report password status on the named account (root only)
--stdin read new tokens from stdin (root only)
Help options:
-?, --help Show this help message
--usage Display brief usage message
対話的にパスワードを変更する!
対話的なコマンドラインのインターフェースで、パスワード変更を行います。システムに設定されたパスワードポリシーに合ったパスワードに変更する必要があります。rootユーザであれば、パスワードコマンドにユーザ名を指定することで、指定したユーザのパスワードを変更することができます。
# passwd Changing password for user root. New password: Retype new password: passwd: all authentication tokens updated successfully.
バッチ処理でパスワードを変更する!(passwd)
標準入力を使用して、コマンドラインでパスワードを変更することができます。
# echo "password" | passwd --stdin root
バッチ処理でパスワード変更を行う!(chpasswd)
バッチ処理などで一括でパスワード変更を行う場合は、「chpasswd」コマンドを使用します。以下は、コマンドライン1行の例ですが、ファイルに「ユーザ名:パスワード」の一覧を作成して、標準入力からchpasswdコマンドに読み込ませることで、一括でパスワード変更を行うことができます。パスワードポリシーは無視されることに注意しましょう。
# echo "root:password" | chpasswd
初期パスワードをコマンドで生成する!
強度の強い複雑なパスワードを考えるのが大変なことがあります。その場合、コマンドで自動で作成する方法があるので、以下の記事を参考にして作成します。
おわりに
「passwd」コマンドを使用して、パスワードに関する操作を各種行うことができますが、パスワード変更は対話的な操作になります。バッチ処理を行いたいときは、「chpasswd」コマンドを使用します。
関連記事
関連書籍(Amazon)

