[FreeBSD] 無人でのユーザ追加

Pocket

 

仮想化全盛のこの世の中、OSインストール直後の各種設定はなるだけ無人化したい。
そこでFreeBSDでのユーザ設定の無人化について。

pw(8)

pwを使う。
man pwすると画面いっぱいに広がるSYNOPSISにまずのけぞる。
そのくらい、たくさんのことができるpwコマンドであるが、使うのは二つだけ。

グループ追加とユーザ追加ですな。

 

pwでのグループ追加

書式は以下の通り

 

-qはエラーメッセージの抑制。
じゃ実際にエラーが発生したらどうすんだ、って話になるが、そこはステータスコードを使う。

グループ:testgをgroup ID:10010で追加するなら、以下の通り。

 

pwでのユーザ追加

グループ追加に比べ、こちらはちょっと複雑。
書式は以下の通り。

特に-mを除いて説明の必要はないと思う。
-mはホームディレクトリを新規に作る、という意味。

しかしこれだけだとパスワードを訊かれてしまう。

 

パスワード設定も無人でしたい。

パスワード設定も自動化するには、以下のようにする。

-h 0をオプションとして与えると、pw はパスワード設定を標準入力から受け付けてくれる。
つまり、パスワードをechoし、その標準入力を-h 0オプションを与えたpw useraddにパイプすればよい。

パスワードにtest, uidに10010, シェルに/bin/sh, ホームディレクトリは/home/test, グループ:testに所属するユーザtestを作成するには、以下のように。

 

いや、でもさあ、パスワード丸見えじゃないか。
そう思ったあなたは正しい。
上記のスクリプトは使うべきでない。

 

暗号化済みのパスワードを無人で設定するには。

前章で追加した-hオプションを-Hにすれば、pwは暗号化済みのパスワードを受け付けてくれる。
こうしておけば、仮にスクリプトを覗かれたって、パスワードを平文で書いてあるよりははるかに危険度は少ない。

パスワードにtest, uidに10010, シェルに/bin/sh, ホームディレクトリは/home/test, グループ:testに所属するユーザtestを作成するケースを考える。

この記事で触れた方法でパスワードを暗号化する。この例ではsaltは”SALTsalt”。

 

得た文字列をechoしてpwに渡す。※文字列長いので省略してます。

 

自分のシステムがどの方法でパスワードを暗号化しているか、確認するのを忘れないこと。
MD5ならまずどのシステムでも大丈夫だが、MD5は今じゃちょっと危ないからね。

以上

 

No tags for this post.

2 comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください