メール だけの ユーザー等 shell も ホームディレクトリ も無い 名前だけ のユーザーを 作成する必要があるやもしれません。そのとき には useradd というもので 設定を行います。adduser で作成 しても良いのですが、 まあこの様に
# which adduser /usr/sbin/adduser # which useradd /usr/sbin/useradd # ls -l /usr/sbin/adduser -rwxr-xr-x 1 root root 15257 Aug 5 2005 /usr/sbin/adduser* # ls -l /usr/sbin/useradd -rwxr-xr-x 1 root root 22584 Apr 12 2004 /usr/sbin/useradd*
2個有りますので 使い分けをしても 良いのでは
まず useradd -D とだけ 入力すると
# useradd -D GROUP=100 HOME=/home INACTIVE=-1 /* 機能が無効 ; 無期限に有効 */ EXPIRE= SHELL= SKEL=/etc/skel
これは useradd のものです、今回は HOME とか SHELL が 不要のものという ことです。”/etc/useradd”と いうものも参考になるようです。
# cat /etc/useradd # useradd defaults file GROUP=1000 HOME=/home/users INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
ここで ”INACTIVE=-1”というのは man の 抜粋 から
-f inactive_days パ スワードの使用期限が切れてからアカウントが永久に 使用不能になるまでの日数。 0 にすると、パスワードの 期 限 が 切れると同時にこのアカウントは使用不能にな る。 -1 にするとこの機能が無効になる。デフォルト 値 は -1。
であるようです。幾つかの 例を 見ておきましょう、但し正鵠ということで はありません。運用しているというものです。
# cat /etc/group | grep named # cat /etc/passwd | grep named # groupadd -g 200 named # useradd -g named -d /var/named -s /bin/false -u 200 named # cat /etc/passwd | grep named named:x:200:200::/var/named:/bin/false # cat /etc/group | grep 80 # cat /etc/group | grep apache # groupadd -g 80 apache # cat /etc/passwd | grep 80 # cat /etc/passwd | grep apache # useradd -g apache -d /var/data/www -s /bin/false -u 80 apache # cat /etc/passwd | grep apache apache:x:80:80::/var/data/www:/bin/false # cat /etc/group | grep smmsp # cat /etc/passwd | grep smmsp # groupadd -g 25 smmsp # useradd -g smmsp -d /dokonimo/nai/directory -s /bin/false -u 25 smmsp # cat /etc/passwd | grep smmsp smmsp:x:25:25::/dokonimo/nai/directory:/bin/false
というのは この場合 ”/bin/false”にて 統一してあるようになっています。
一般にこの部分 shell の所に ”/sbin/nologin ”というのも 有ります。
振舞に相違が有るようですが 現状では”/bin/false”ということにしておきます。
redhat 系 は 最初から /sbin/nologin は用意されている、plamo の 場合 # は ファイル自体無い。 ヴァージョン と デストリビューション の 相違で異 るようです。 今回のシステムでは plamo ということで ”/bin/false”とい うことにしています。
**************** redhat 系 **************************** # file /sbin/nologin /sbin/nologin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \ for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped # file /bin/false /bin/false: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \ for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped **************** plamo の 場合 **************************** # file /bin/false /bin/false: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), \ for GNU/Linux 2.0.0, dynamically linked (uses shared libs), stripped
man というのは ”false”と”nologin” の項目とも存在しているので、両 方とも 必要な時は また 追加しましょうと言う感じです。
では メールユーザーの 例を示しておきます。
# useradd -s /bin/false aruusr # passwd aruusr Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully # cat /etc/passwd | grep aru aruusr:x:1007:100::/home/aruusr:/bin/false # userdel aruusr # cat /etc/passwd | grep aru
にゃんたろう 拝!
2008年 3月13日 (木) 20:12:44 JST 作成