up

useradd

メール だけの ユーザー等 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 とだけ 入力すると

# 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。

であるようです。幾つかの 例を 見ておきましょう、但し正鵠ということで はありません。運用しているというものです。

named,apache,smmsp の例

# 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” の項目とも存在しているので、両 方とも 必要な時は また 追加しましょうと言う感じです。

mail user

では メールユーザーの 例を示しておきます。

# 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 作成


up

Copyright © 2004.-2008. nyantarou All Rights Reserved.