Last Modiffied: 28 May 2004
新規ユーザ作成時のデフォルト値の設定

1.はじめに

■はじめに

Red Hat Linuxなどのディストリビューションでは新規にユーザを作成した場合、デフォルトで /home/user_name という名前でホームディレクトリが作成され、ログイン用に /bin/bash が与えられ、ユーザ名と同じグループに所属するようになります。
しかし、ファイルサーバとして使用している場合やメールサーバとして運用している場合には、全てのユーザがLinuxシステムにログインする必要がないので、システムのセキュリティを確保するためにもユーザ作成時にデフォルトでログイン用のシェルを与えないような運用がすすめられています。

ここでは、Linuxシステムに新規にユーザを追加する場合の管理を容易にするためにデフォルト値を変更し、システムのポリシーに見合ったユーザ追加を行なうための方法を紹介していきます。



2.デフォルト値の確認と変更

■デフォルト値の確認

useraddコマンドでは、-D オプションを指定することでデフォルト値の確認や変更を行なうことができます。まずは、useraddコマンドに -D のオプションを指定して実行し、useraddコマンドをオプションなしで実行した場合のデフォルト値について確認します。
# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
表示内容の詳細は以下の通りです。
GROUP
グループIDを 100 に設定。ただし、Red Hat系のディストリビューションの場合、/etc/login.defs で GID_MIN 500 と設定されているので、グループIDは 500 から始まります。
HOME
ホームディレクトリを作成するディレクトリを /home 配下に設定。したがって、ホームディレクトリは /home/user_name になります。
INACTIVE
ユーザのパスワードが無効になってから、そのユーザのアカウントが無効になるまでの期限を設定。デフォルトでは -1 が指定されているので無期限になります。
EXPIRE
ユーザアカウントの有効期限を設定。デフォルトでは値が設定されていないので無期限になります。
SHELL
ログイン用のシェルを設定。デフォルトでは /bin/bash がログイン用のシェルとして使用出来ます。
SKEL
ホームディレクトリ作成時にコピーするファイルを格納するディレクトリを設定。デフォルトでは /etc/skel に格納されているファイルがコピーされます。


■デフォルト値の変更

次に、いくつか例を示しながらデフォルト値を変更する方法を紹介していきます。
ここでは一例として紹介しますので、useraddコマンドの使用方法については manページ をご確認頂くことをおすすめします。

まずは、新規に作成するユーザにログイン用のシェルを与えないようにデフォルト値を変更する方法です。
# useradd -D -s /bin/false
# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/false
SKEL=/etc/skel
SHELLの行で指定されているログイン用のシェルが /bin/false になっていることを確認出来ます。


次に、新規に作成するユーザが所属するデフォルトのグループが sample になるようにデフォルト値を変更する方法です。ここで指定するグループ名は /etc/group ファイルに存在しているグループ名でなくてはなりません。
# useradd -D -g sample
# useradd -D
GROUP=502
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/false
SKEL=/etc/skel
# cat /etc/group | grep sample
sample:x:502:
GROUPの行が 502 に変更になっていることを確認出来ます。


最後に、新規に作成するユーザに使用期限(YYYY/MM/DDで指定)を設けるようにデフォルト値を変更する方法です。
# useradd -D -e 2004/12/31
# useradd -D
GROUP=502
HOME=/home
INACTIVE=-1
EXPIRE=2004/12/31
SHELL=/bin/false
SKEL=/etc/skel
EXPIREの行で 2004/12/31 に有効期限が設定されたことを確認することが出来ます。



BACKUP