人気ブログランキング | 話題のタグを見る
(Linux)Debian系(Ubuntu)でのユーザ作成はuseraddよりadduserがよい
Ubuntuで下記のようにユーザ作ったんですが、ユーザのホームディレクトリが作成されません。おまけに既定のシェルが bash でなく、sh になってます。

# useradd hogeuser

CentOSの時はuseraddでちゃんとできたんですが。。。
と思って調べてみると RedHat系 は adduser は useradd へのシンボリックリンクになっているようです。

Debian系(Ubuntu)では、adduserはuseraddのラッパーのPerlスクリプトとなっているようです。
つまり、adduserは対話形式でユーザー情報を指定して登録するコマンド、useraddはオプションと引数のみを指定してユーザーを登録するコマンドという位置づけになっているようですね。
Debian系のuseraddは気が利かないのでホームディレクトリを作ったり、シェルを bash にするにはオプションで指定してあげないといけません。

なので、Debian系でユーザ作成をする場合は adduser コマンドを使った方がよさそうです。

しかし、このadduserコマンドは気が利きすぎており "9999999" とかの全て数字のユーザ名を作ろうとすると、下記のように怒られます。

adduser: Please enter a username matching the regular expression configured
via the NAME_REGEX[_SYSTEM} configuration variable. Use the `--force-badname'
option to relax this check or reconfigure NAME_REGEX.


結局 useradd コマンドでユーザを作成しました。
とりあえず下記のようにホームディレクトリの作成とシェルをbashにして、パスワードを与えてやりました。

# useradd -m -s /bin/bash 9999999
# passwd 9999999

RedHat系とDebian系の違いを痛感した3流PGです。


参考:
adduserとuseraddの違いをちゃんと意識しておきたい - 冷蔵庫って不要じゃんと思ってみるんダダダイアリー
adduserとuseraddの違い - ブックマクロ開発に
まさおのブログ (表): Ubuntu でユーザを追加する (adduser を使うべき)
adduserとuseraddの違い - DUNNO-CLEARブログ2.0:
Ubuntu Manpage: useradd
by jehoshaphat | 2011-05-14 23:34 | Linux


<< (SSD)Intel X25-... (Linux)X11VNCでS... >>