The list of users is usually stored in the /etc/passwd
file, while the /etc/shadow
file stores hashed passwords. Both are text files, in a relatively simple format, which can be read and modified with a text editor. Each user is listed there on a line with several fields separated with a colon (“:
”).
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
ファイルには以下のフィールドが含まれます。
The following commands allow modification of the information stored in specific fields of the user databases: passwd
permits a regular user to change their password, which in turn, updates the /etc/shadow
file; chfn
(CHange Full Name), reserved for the super-user (root), modifies the GECOS
field. chsh
(CHange SHell) allows the user to change their login shell; however, available choices will be limited to those listed in /etc/shells
; the administrator, on the other hand, is not bound by this restriction and can set the shell to any program of their choosing.
最後に、chage
(CHange AGE) コマンドを使うと、管理者はパスワードの有効期限設定を変更できます (-l user
オプションで現在の設定を表示します)。passwd -e user
コマンドを使うと、パスワードを強制的に失効させることが可能です。ユーザは次回のログイン時にパスワード変更を要求されます。
「アカウントを失効」する (ユーザを締め出す) 必要が出てくるかもしれません。これが必要になるのは、ユーザの懲戒処分、調査目的、単純に長期にわたって明らかにログインしていない場合などが考えられます。失効されたアカウントとは、ユーザがログインできないかマシンへのアクセスを獲得できないことを意味しています。アカウントは単にアクセスできない状態になっているだけで、アカウントがマシンから削除されるわけでもなければファイルおよびデータが削除されるわけでもありません。アカウントを失効するには passwd -l user
(lock) を使ってください。もう一度アカウントを有効化するには同様の方法で -u
オプション (unlock) を付けてください。
8.4.5. グループリスト、/etc/group
グループは /etc/group
ファイルにリストされています。/etc/group
ファイルは単純なテキストデータベースで、フォーマットは /etc/passwd
ファイルとよく似ており、以下のフィールドを持っています。
addgroup
コマンドはグループを追加、delgroup
コマンドはグループを削除します。groupmod
コマンドは指定したグループの情報 (gid
またはグループ名など) を変更します。gpasswd group
は group で指定したグループのパスワードを変更し、一方で gpasswd -r group
コマンドは group で指定したグループを削除します。