綾小路龍之介の素人思考

[linux] useraddでホームディレクトリが作られないのは-m オプションがついていないから

useraddでホームディレクトリが作られないのでadduserを使いましょうという話がある。manpageを読んでください。-m オプションをつければホームディレクトリが存在しない場合にホームディレクトリを作ってくれます。

たとえば以下。-mが無いとホームディレクトリは作られず、-mがあると、ホームディレクトリが作られる。

# useradd testuser
# ls /home/testuser -la
ls: cannot access /home/testuser: No such file or directory
# userdel testuser
# useradd -m testuser
# ls /home/testuser -la
total 20
drwxr-xr-x 2 testuser testuser 4096 2010-08-22 05:18 .
drwxr-xr-x 6 root     root     4096 2010-08-22 05:18 ..
-rw-r--r-- 1 testuser testuser  220 2006-12-12 06:20 .bash_logout
-rw-r--r-- 1 testuser testuser 3116 2008-05-13 04:02 .bashrc
-rw-r--r-- 1 testuser testuser  675 2008-05-13 04:02 .profile

この状態でuseraddすると、すでに登録済みといわれる。一旦ユーザを削除して、再度useraddすると今度はホームディレクトリがあるといわれる。ことのき、ユーザの追加は行われるが、/etc/skeからのコピーは行われない。

# useradd -m testuser
useradd: user testuser exists
# userdel testuser
# useradd -m testuser
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.

いまだにadduserコマンドの便利さがわからんのだ。基本的にユーザ管理はuser*系コマンドでいけるんじゃないかな。

リファレンス

  1. Manpage of USERADD
  2. manpage useradd - Google 検索

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2009-07-20T05:25:15+09:00
  2. Modified: 2009-07-20T05:25:15+09:00
  3. Generated: 2017-07-18T23:09:18+09:00