シェルスクリプトでユーザの作成/パスワードの設定をバッチ処理する

対象プラットフォーム: FreeBSD 8.x
(下記手順を2014/05/01にFreeBSD 8.4-RELEASEで確認済み)


はじめに

「pw」や「passwd」はパスワードの入力時に対話モードになり、この間はリダイレクトを受け付けない状態になります。

システムに多数のユーザを追加したり、一括でパスワードを変更したい場合は多いですが、この対話モードの為に、普通にシェルスクリプトを書いても、ユーザ作成やパスワード変更をバッチ処理することはできません。

このページでは、上記の対話モードを回避して、ユーザ作成やパスワード変更をシェルスクリプトでバッチ処理する方法について説明します。

「pw」のパラメータ「-h」

ユーザの追加/削除およびパスワードの変更等を行う為のコマンド「pw」には、「-h」というパラメータがあり、標準入力(STDIN)からパスワードを取得することが可能です。
予めパスワードが格納されたファイルを用意し、以下のようにすることでシェルスクリプトからユーザのパスワードを変更することができます。

パスワードファイル「password.txt」の例
hogehoge

「pw」の「-h」パラメータによる標準入力(STDIN)からのパスワード取得
$ pw usermod root -h 0 < ./password.txt

新規作成ユーザにランダムなパスワードを割り当てるには

尚、新規ユーザにランダムなパスワードを割り当てたい場合には、わざわざ上記のようなやり方をしなくても、「-w random」のパラメータで実現可能です。
このパラメータを付与すると、標準出力に生のパスワードが出力されますので、これをファイルにリダイレクトして保存し、ユーザへの周知等に利用してください。


あなたの探し物は見つかりましたか?
まさにこれだ 参考になった ちょっと違う これじゃない
何かメッセージがあればお願いします

このメッセージを非公開にする

ご注意

・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。


まだ評価がありません

表示できるメッセージはありません。


目次に戻る
image