名前


passwd - パスワードファイル

説明


passwd ファイルは、そのシステムのアカウントリストを保持するテキストファイルである。 アカウント毎に、ユーザー ID、グループ ID、ホームディレクトリ、 使用する shell コマンドの種類、等の有用な情報を提供している。 また、各アカウントの暗号化されたパスワードを保持する場合もある。 パスワードファイルのアクセス許可は、全ユーザーに 読み出しの許可を与え (ls(1) 等の多くのユーティリティではユーザー ID をユーザー名に 対応させるのに passwd ファイルを使用する)、 書き込み許可はスーパーユーザーにのみ与えるようにすべきである。

古き良き時代には、この全ユーザーに対する読み取り許可は 特別な問題を起こさなかった。誰でも暗号化されたパスワードを 読むことが出来たが、上手に選ばれたパスワードを破るのには 当時のハードウェアの速度はあまりに遅かったし、それに加えて 友好的なユーザー社会であることを基本的な前提としていた。 最近では多くの人が、何らかのバージョンの shadow password suite (シャドウ・パスワード機能を実現するためのプログラム群) を動かしている。その場合 /etc/passwd ファイルのパスワード欄には、暗号化されたパスワードの代わりに アスタリスク (*) が設定される。暗号化されたパスワードは /etc/shadow ファイルに保持される。 /etc/shadow ファイルはスーパーユーザーだけが読み出すことができる。

shadow password が使われているかどうかにはよらず、多くのシステム 管理者は、暗号化パスワード欄にアスタリスクを設定することで、 そのユーザーがパスワードでの認証が受けられないようにしている (下記の「注意」の項を参照)。

新しいユーザーを登録する場合には、パスワード欄にアスタリスクを設定しておき passwd(1) コマンドにより設定を行うようにする。

パスワードファイルは 1 行ごとに 1 エントリを持ち、 各行の書式は以下の通りである:

account:password:UID:GID:GECOS:directory:shell

各欄の説明:

account
 そのシステムでのユーザー名。大文字を含まないようにする。
password
 ユーザーの暗号化されたパスワード、アスタリスク、または文字 ’x’ (’x’ の説明については pwconv(8) を参照)。
UID
 ユーザー ID 番号。
GID
 ユーザーが属するプライマリグループ ID 番号。
GECOS
 本欄は省略可能で、情報提供の目的のみに使われる。 ユーザーのフルネームを設定することが多い。GECOS は General Electric Comprehensive Operating System を意味しており、GE 社の大規模システム部門 が Honeywell 社に売却された際に GCOS へと変更された。Dennis Ritchie 氏は 次のように言っている:「時々プリンタ出力や、 バッチジョブを GCOS マシンに送ったりするが、 パスワードファイルの gcos 欄は $IDENT カード用の情報を 隠しておくための場所なんだ。まるっきりエレガントじゃない。」
directory
 ユーザーの $HOME ディレクトリ。
shell
 ログイン時に動くプログラム名 (空欄の場合 /bin/sh が使われる)。 存在しない実行プログラムが設定された場合、 login(1) によるシステムへのログインはできなくなる。

ファイル


/etc/passwd

注意


ユーザーグループを作りたい場合には、同じグループに属する ユーザーの GID は同じ値とし、その GID を /etc/group の中に 定義しておく必要がある。そうしないとグループを作ったことにはならない。

暗号化パスワードとしてアスタリスクを設定すると、 login(1) を使ってのログインができなくなるが、 rlogin(1) ではまだログインができるし、 rsh(1), cron(1), at(1) やメイルのフィルタ等を使い、現存するプロセスを 実行させたり、新たなプロセスを起動したりすることができる。 使用する shell の欄を、単に変更することでアカウントを 使えないようにするのも同様の結果となる。その場合にはさらに su(1) も有効なまま残ってしまう。

関連項目


login(1), passwd(1), su(1), group(5), shadow(5)

openSUSE Logo

コンテンツ