Solaris のシステム管理 (基本編)

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

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


注 -

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


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

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

passwd ファイルのフィールド

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


username:password:uid:gid:comment:home-directory:login-shell

たとえば、次のようになります。


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

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

表 4-11 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 に割り当てられ、65534 は nobody4 に割り当てられる)

comment

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

home-directory

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

login-shell

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

デフォルトの passwd ファイル

Solaris のデフォルトの passwd ファイルには、標準のデーモン用のエントリが入っています。デーモンとは、通常ブート時に起動され、システム全体で有効なタスク (印刷、ネットワークの管理、ポートの監視など) を実行するプロセスです。


root:x:0:1:Super-User:/:/sbin/sh
daemon:x:1:1::/:
bin:x:2:2::/usr/bin:
sys:x:3:3::/:
adm:x:4:4:Admin:/var/adm:
lp:x:71:8:Line Printer Admin:/usr/spool/lp:
uucp:x:5:5:uucp Admin:/usr/lib/uucp:
nuucp:x:9:9:uucp Admin:/var/spool/uucppublic:/usr/lib/uucp/uucico
smmsp:x:25:25:SendMail Message Submission Program:/:
listen:x:37:4:Network Admin:/usr/net/nls:
nobody:x:60001:60001:Nobody:/:
noaccess:x:60002:60002:No Access User:/:
nobody4:x:65534:65534:SunOS 4.x Nobody:/:
表 4-12 デフォルトの passwd ファイルのエントリ

ユーザー名 

ユーザー ID 

説明 

root

0

スーパーユーザーのアカウント 

daemon

1

ルーチンシステムタスクに関連するシステム包括デーモン 

bin

2

ルーチンシステムタスクを実行するシステムバイナリの実行に関連する管理デーモン 

sys

3

システムのログの記録や一時ディレクトリのファイルの更新に関連する管理デーモン 

adm

4

システムのログの記録に関連する管理デーモン 

lp

71

ラインプリンタのデーモン 

uucp

5

uucp 関数に関連するデーモン

nuucp

6

uucp 関数に関連するデーモン

smmsp

25 

Sendmail メッセージ送信プログラムデーモン 

listen

37

ネットワーク監視デーモン 

nobody

60001

特別なアクセス権を必要としない、あるいは持つべきではないユーザーまたはソフトウェアプロセスに割り当てられる 

noaccess

60002

あるアプリケーションを経由するが実際にログインをしないで、システムにアクセスする必要があるユーザーまたはプロセスに割り当てられる 

nobody4

65534

SunOS 4.0 または 4.1 の nobody ユーザーアカウント

shadow ファイルのフィールド

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


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

たとえば、次のようになります。


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

次の表では、shadow ファイルの各フィールドについて説明します。

表 4-13 shadow ファイルのフィールド

フィールド名 

説明 

username

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

password

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

lastchg

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

min

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

max

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

inactive

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

expire

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

group ファイルの各フィールド

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


group-name:group-password:gid:user-list

たとえば :


bin::2:root,bin,daemon

次の表では、group ファイルの各フィールドについて説明します。

表 4-14 group ファイルの各フィールド

フィールド名 

説明 

group-name

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

group-password

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

gid

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

user-list

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

デフォルトの group ファイル

Solaris のデフォルトの group ファイルには、システム全体に有効なタスク (印刷、ネットワーク管理、電子メールなど) をサポートする次のようなシステムグループが記述されています。これらの多くのエントリは、passwd ファイルのエントリに対応しています。


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
smmsp::25:smmsp
sysadmin::14:root
nobody::60001:
noaccess::60002:
nogroup::65534:
表 4-15 デフォルトの group ファイルのエントリ

グループ名 

グループ ID 

説明 

root

0

スーパーユーザーのグループ 

other

1

オプションのグループ 

bin

2

システムバイナリの実行に関連する管理グループ 

sys

3

システムのログの記録や一時ディレクトリに関連する管理グループ 

adm

4

システムのログの記録に関連する管理グループ 

uucp

5

uucp 関数に関連するグループ

mail

6

電子メールのグループ 

tty

7

tty デバイスに関連するグループ 

lp

8

ラインプリンタのグループ 

nuucp

9

uucp 関数に関連するグループ

staff

10

一般的な管理グループ 

daemon

12

ルーチンシステムタスクに関連するグループ 

sysadmin

14

Admintool と Solstice AdminSuite ツールに関連する管理グループ 

smmsp

25 

Sendmail メッセージ送信プログラムデーモン 

nobody

60001

特別なアクセス権を必要としない、あるいは持つべきではないユーザーまたはソフトウェアプロセスに割り当てられるグループ。 

noaccess

60002

あるアプリケーションを経由するが実際にログインをしないで、システムにアクセスする必要があるユーザーまたはプロセスに割り当てられるグループ。 

nogroup

65534

既知のグループのメンバーでないユーザーに割り当てられるグループ。