PASSWD
Section: Linux Programmer's Manual (5)
Updated: 2018-04-30
Index
JM Home Page
roff page
名前
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 カード用の情報を 隠しておくための場所なんだ。
まるっきりエレガントじゃない。」
- directory
-
ユーザーのホームディレクトリ、つまりログイン直後のそのユーザーの
初期ディレクトリである。
このフィールドの値は HOME 環境変数に設定される。
- shell
-
ログイン時に動くプログラム名 (空欄の場合 /bin/sh が使われる)。
存在しない実行ファイルが設定された場合、そのユーザーは login(1) による
システムへのログインができなくなる。
このフィールドの値は SHELL 環境変数の値に設定される。
ファイル
/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/ に書かれている。
Index
- 名前
-
- 説明
-
- ファイル
-
- 注意
-
- 関連項目
-
- この文書について
-
This document was created by
man2html,
using the manual pages.
Time: 03:33:32 GMT, December 05, 2022