Solaris のシステム管理 (第 1 巻)

ユーザーアカウントとグループ情報の格納場所

ユーザーアカウントとグループ情報は、サイトの方針に応じて、ネームサービスかローカルシステムの /etc 内のファイルのどちらかに格納できます。NIS+ ネームサービスでは、情報はテーブルに格納され、NIS ネームサービスではマップに格納されます。


注 -

混乱を避けるために、ユーザーアカウントとグループ情報の位置は、ファイル、テーブル、マップという 3 種類の呼び方ではなく、単にファイルと呼びます。


ほとんどのユーザーアカウント情報は、passwd ファイルに格納されます。ただし、パスワード暗号とパスワード有効期限は、NIS か NIS+ を使用するときは passwd ファイルに、/etc ファイルを使用するときは /etc/shadow ファイルに格納されます。NIS を使用するとき、パスワード有効期限は使用できません。

グループ情報は group ファイルに格納されます。

パスワードファイルのフィールド

passwd ファイルの各フィールドはコロンで区切られ、次のような情報が入っています。

username:パスワード:uid:gid:comment:home-directory:login-shell

具体的な例は次のようになります。

kryten:x:101:100:Kryten Series 4000:/export/home/kryten:/bin/csh

表 1-6 に、passwd ファイルの各フィールドについて説明します。

表 1-6 passwd ファイルのフィールド

フィールド名 

説明 

username

ユーザー (またはログイン) 名。ユーザー名は固有で、 1 から 8 文字の英字 (A-Z、a-z) と数字 (0-9) を使用する。最初の文字は英字で、少なくとも 1 文字は小文字を使用する。ユーザー名には下線や空白文字は使用できない。 

password

暗号化されたパスワードの代わりの x (パスワードフィールドはもう使用されない)。暗号化されたパスワードは shadow ファイルに格納される。

uid

ユーザーをシステムに識別させるユーザー識別番号 (UID)。一般ユーザーの UID は 100 から 60000 までの範囲とする。UID 番号はすべて固有でなければならない。 

gid

ユーザーの一次グループのグループ識別番号 (GID)。各 GID は 0 から 60002 までの範囲の整数でなければならない (60001 と 60002 はそれぞれ nobodynoaccess に割り当てられる)。

comment

通常はユーザーのフルネーム。 (このフィールドはコメントとしての情報専用。) このフィールドは、もともとは、Bell 研究所の UNIX システムから GECOS (General Electric Computer Operating System) を実行するメインフレームにバッチジョブを依頼する場合、必要なログイン情報を保持するために使われていたので、GCOS フィールドと呼ばれることもある。 

home-directory

ユーザーのホームディレクトリのパス名。 

login-shell

ユーザーのデフォルトログインシェル。これは /bin/sh/bin/csh/bin/ksh のどれかになる。表 1-11 のシェル機能の説明を参照のこと。

shadow ファイルのフィールド

shadow ファイルの各フィールドはコロンで区切られ、次のような情報が入っています。

username:password:lastchg:min:max:warn:inactive:expire

具体的な例は次のようになります。

rimmer:86Kg/MNT/dGu.:8882:0::5:20:8978

表 1-7shadow ファイルの各フィールドについて説明します。

表 1-7 shadow ファイルのフィールド

フィールド名 

説明 

username

ユーザー (またはログイン) 名。 

password

次のエントリのいずれかになる。13 文字の暗号化されたユーザーパスワード。アクセス不可能なアカウントを示す *LK*。アカウントのパスワードがないことを示す NP

lastchg

1970 年 1 月 1 日から最後にパスワードを変更した日付までの日数。 

min

パスワードの変更から次の変更までに必要な最少日数。 

max

ユーザーが新しいパスワードの指定をもとめられるまで、パスワードを変更しないで使い続けることができる最長日数。 

inactive

アカウントを使用 (ログイン) しなくてもよい最長日数。 

expire

ユーザーアカウントの有効期限が切れる日付。この日付が過ぎると、ユーザーはシステムにログインできない。

グループファイルのフィールド

group ファイルの各フィールドはコロンで区切られ、次のような情報が入っています。

group-name:group-パスワード:gid:user-list

具体的な例は次のようになります。

bin::2:root,bin,daemon

表 1-8group ファイルの各フィールドについて説明します。

表 1-8 group ファイルの各フィールド

フィールド名 

説明 

group-name

グループに付けられた名前。たとえば、大学の化学部のメンバーであれば chem などと指定する。グループ名に許される最大文字数は 9 文字。

group-パスワード

通常は空のままか、アスタリスクを指定する。グループパスワードフィールドは初期バージョンの UNIX のなごりで、グループにパスワードがある場合、newgrp コマンドはユーザーにグループパスワードを入力するよう求める。ただし、パスワードを設定するユーティリティはない。

gid

グループ GID 番号。ローカルシステムで固有でなければならず、組織全体を通じても固有であることが望ましい。GID 番号は 0 から 60002 までの範囲の整数で指定する。ただし、100 未満の番号はシステムのデフォルトグループアカウント用に予約されている。したがって、ユーザー定義グループの範囲は 100 から 60000 (60001 と 60002 はそれぞれ nobodynoaccess に割り当てられている)。

user-list

カンマで区切られたユーザー名のリスト。ユーザーの二次グループメンバシップを表す。各ユーザーは最高 16 までの二次グループに所属できる。

UNIX ユーザーグループ

すべての Solaris 7 システムに、デフォルトで次のグループがあります。

root::0:root
other::1:
bin::2:root,bin,daemon
sys::3:root,bin,sys,adm
adm::4:root,adm,daemon
uucp::5:root,uucp
mail::6:root
tty::7:root,tty,adm
lp::8:root,lp,adm
nuucp::9:root,nuucp
staff::10:
daemon::12:root,daemon
sysadmin::14:
nobody::60001:
noaccess::60002:
nogroup::65534: