PASSWD(5) | Linux Programmer's Manual | PASSWD(5) |
名前¶
passwd - パスワードファイル
説明¶
/etc/passwd ファイルは、そのシステムのユーザーのログインアカウントリス トを記述したテキストファイルである。パスワードファイルの読み出し許可は 全ユーザーに対して与えるが(ls(1) 等の多くのユーティリティではユーザー ID をユーザー名に 対応させるのに passwd ファイルを使用する)、書き込 み許可はスーパーユーザーにのみ与えるようにすべきである。
古き良き時代には、この全ユーザーに対する読み取り許可は 特別な問題を起こ さなかった。誰でも暗号化されたパスワードを 読むことが出来たが、上手に選 ばれたパスワードを破るのには 当時のハードウェアの速度はあまりに遅かった し、それに加えて 友好的なユーザー社会であることを基本的な前提としていた。 最近では多くの人が、何らかのバージョンの shadow password suite (シャドウパスワード機能を実現するためのプログラム群) を動かしている。 その場合 /etc/passwd ファイルのパスワード欄には 'x' 文字が設定され、暗号化されたパスワードは /etc/shadow ファイルに保持される。 /etc/shadow ファイルはスーパー ユーザーだけが読み出すことができる。
/etc/passwd と /etc/shadow のどちらの場合でも暗号化パスワードが 空文字列の場合、パスワードの問い合わせなしでのログインが許可される。 この機能は、アプリケーションで意図的に無効されたり、 設定可能 (例えば pam_unix.so の "nullok" や "nonull" 引数など) になっていたりする場合がある点に注意すること。
/etc/passwd の暗号化パスワードが "*NP*" (クォートはなし) の場合、 shadow レコードを NIS+ サーバから取得することを意味する。
shadow password が使われているかどうかにはよらず、多くのシステム管理者は、暗号化パスワード欄にアスタリスク (*) を設定することで、そのユーザーがパスワードでの認証が受けられないようにしている (下記の「注意」の項を参照)。
新しいユーザーを登録する場合には、パスワード欄にアスタリスク (*) を設定しておき、 passwd(1) コマンドにより設定を行うようにすること。
ファイルの 1 行は 1 ユーザーの情報を表し、 コロン区切りの 7 つの項目を含む。
name:password:UID:GID:GECOS:directory:shell
各フィールドは以下の通りである:
- name
- ユーザーのログイン名。大文字を含まないすべきである。
- password
- 暗号化されたユーザーのパスワード、アスタリスク (*)、文字 'x' の いずれかである ('x' の説明については pwconv(8) を参照)。
- UID
- 特権を持つ root ログインアカウント (スーパーユーザー) は ユーザー ID 0 である。
- GID
- このユーザーのプライマリグループ ID の番号。 (このユーザーの追加のグループはシステムのグループ定義ファイル で定義される。 group(5) を参照)。
- GECOS
- 本欄 (「コメント欄」と呼ばれることもある) は省略可能で、情報提供の 目的のみに使われる。ユーザーのフルネームを設定することが多い。 (finger(1) などの) いくつかのプログラムでは、このフィールドの 情報が表示される。
- GECOS は General Electric Comprehensive Operating System を意味しており、 GE 社の大規模システム部門が Honeywell 社に売却された際に GCOS へと変更 された。Dennis Ritchie 氏は次のように言っている:「時々プリンタ出力や、 バッチジョブを GCOS マシンに送ったりするが、パスワードファイルの gcos 欄は $IDENT カード用の情報を 隠しておくための場所なんだ。 まるっきりエレガントじゃない。」
ファイル¶
/etc/passwd
注意¶
ユーザーグループを作りたい場合には、そのグループが /etc/group の中に 定義されていなければならない。そうしないとグループを作ったことにはならない。
暗号化パスワードとしてアスタリスク (*) を設定すると、 login(1) を 使ってのログインができなくなるが、 rlogin(1) ではまだログインができるし、 rsh(1), cron(8), at(1) やメールのフィルタ等を使い、現存するプロセスを 実行させたり、新たなプロセスを起動したりすることができる。 使用する shell の欄を、単に変更することでアカウントを 使えないようにする のも同様の結果となる。その場合にはさらに su(1) も有効なまま残ってしまう。
関連項目¶
chfn(1), chsh(1), login(1), passwd(1), su(1), crypt(3), getpwent(3), getpwnam(3), group(5), shadow(5), vipw(8)
この文書について¶
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。
2018-04-30 | Linux |