ユーザのリストは通常 /etc/passwd
ファイルに保存されており、/etc/shadow
ファイルには暗号化されたパスワードが保存されています。どちらのファイルもテキストファイルで、比較的単純なフォーマットで書かれており、テキストエディタを使って読んだり変更する事が可能です。各ユーザはこれらのファイルにリストされ、各行はコロン (「:
」) で区切られた幾つかのフィールドを含んでいます。
8.4.1. ユーザリスト: /etc/passwd
以下は /etc/passwd
ファイルに含まれるフィールドのリストです:
ログイン名、例えば rhertzog
;
パスワード: これは一方向性関数 (crypt
) によって暗号化されたパスワードです。DES
、MD5
、SHA-256
、SHA-512
などが使われます。特別な値「x
」は暗号化されたパスワードが /etc/shadow
に保存されていることを意味しています;
uid
: 各ユーザを識別する一意的な番号;
gid
: ユーザの主なグループを示す一意的な番号 (Debian はデフォルトで各ユーザに固有のグループを作成します);
GECOS
: 通常はユーザの氏名を含むデータフィールド;
ログインディレクトリ、ユーザが個人ファイルを保存するために割り当てられたディレクトリ (環境変数 $HOME
は通常このディレクトリを指します);
ログイン時に実行されるプログラム。通常これはユーザに行動の自由を与えるコマンドインタプリタ (シェル) です。/bin/false
(何もせずすぐにコントロールを返すプログラム) が指定された場合、ユーザはログインできません。
8.4.2. 隠された暗号化パスワードファイル: /etc/shadow
/etc/shadow
ファイルには以下のフィールドが含まれます:
以下のコマンドはユーザデータベースの特定のフィールドに保存されている情報を変更します: passwd
を使うと、一般ユーザは自分のパスワードを変更できます。つまり /etc/shadow
ファイルが更新されます; chfn
(CHange Full Name) を使うと GECOS
フィールドが変更されます。このコマンドはスーパーユーザ (root) 専用です。chsh
(CHange SHell) を使うと、ユーザはログインシェルを変更できます。しかしながら、ここで設定できるのは /etc/shells
に書かれたシェルだけです; 一方、管理者はこの制限に縛られません、シェルにどんなプログラムを設定することも可能です。
最後に、chage
(CHange AGE) コマンドを使うと、管理者はパスワードの有効期限設定を変更できます (-l user
オプションで現在の設定を表示します)。passwd -e user
コマンドを使うと、パスワードを強制的に失効させる事が可能です。ユーザは次回のログイン時にパスワード変更を要求されます。
ときに「アカウントを失効」する (ユーザを締め出す) 必要が出てくるかもしれません。ユーザの懲戒処分、調査目的、単純に長期に渡って明らかにログインしていない場合などです。失効されたアカウントとは、ユーザがログイン出来ないかマシンへのアクセスを獲得できないことを意味しています。マシン上のアカウントは元のままです。いかなるファイルおよびデータも削除されません; 単にアクセス出来ない状態というだけです。アカウントを失効するには passwd -l user
(lock) を使ってください。再度アカウントを有効化するには同様の方法で -u
オプション (unlock) を付けてください。
8.4.5. グループリスト: /etc/group
グループは /etc/group
ファイルにリストされています。このファイルは単純なテキストデータベースで、フォーマットは /etc/passwd
ファイルとよく似ており、以下のフィールドを持っています:
addgroup
と delgroup
コマンドはそれぞれ、グループを追加または削除します。groupmod
コマンドはグループの情報 (gid
または識別情報) を変更します。passwd -g group
はグループのパスワードを変更し、一方で passwd -r -g group
コマンドはグループを削除します。