最低限 UNIX / Linux [I]

  1. ルートと一般利用者
  2. アカウントの作成
  3. パスワードの変更
  4. ログイン
  5. ログアウト

  6. ユーザー情報に関するファイル
  7. パスワードセキュリティー
  8. UNIX の代表的なコマンド
  9. マルチユーザを実感する
  10. 最低限 vi

5. ユーザー情報に関するファイル

ユーザー情報は以下のファイルに書き込まれています.

[1] /etc/passwd ファイル

/etc/passwd には以下のような内容が書き込まれています.

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:100:sync:/bin:/bin/sync
games:x:5:100:games:/usr/games:/bin/sh
man:x:6:100:man:/var/catman:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
list:x:38:38:SmartList:/var/list:/bin/sh
keikei:x:1000:1000:Kuramoto Kiyoshi:/home/keikei:/bin/bash

1行に1ユーザーの情報が記述されています. 個々のユーザーの情報として, コロン(:)で区切られた7つのフィールドに, 次のような内容が左から順に書き込まれています.

  1. ユーザー名
    ユーザーの login 名. これはアカウント名とも呼ばれ, 8文字までの英小文字を用いて表されます.
    例)keikei

  2. パスワード
    かつて暗号化されたパスワードが書き込まれていた場所. このファイルと同名の passwd コマンドで各ユーザーがパスワードを登録すると, この部分に書き込まれました.
    現在はセキュリティを考慮し, パスワードの情報は, アカウントを持っているユーザーなら誰でも見ることの出来る passwd ファイルではなく, root のみ閲覧可能な shadow ファイルに書き込まれます.
    例)昔:ODmNoe3rpqcWE(暗号化されている), 今:x .

  3. ユーザー ID
    ユーザーの識別番号. 0 から 65535 までの値を選ぶことが出来ます. システムはこの数値を参照してユーザーを識別するので, 他のユーザーと重複しないように注意します. また 0 は root の番号なので一般ユーザーには使用しません. Linux のデフォルト(特に変更しなかった場合)では 501 番以降が与えられます.
    例)1000

  4. グループ ID
    ユーザーの所属するグループ番号. 複数のグループに属する場合は主たるグループを記述します. Linux のデフォルトでは 100 番(users)が与えられます. 登録方法によっては, ユーザー名と同じ名前のグループ名が作成されることもあります. 番号とグループ名の対応は /etc/group にリストアップされており, 新たにグループを作った場合, このファイルに追加します.
    例)1000

  5. gecos
    コメント用フィールド. ユーザーの本名等を書いておきます.
    例)Kuramoto Kiyoshi

  6. ホームディレクトリ
    ユーザーのホームディレクトリを絶対パスで記述します. 慣習として login 名と同じディレクトリ名が用いられます. ホームディレクトリに関しては後で学習します.
    例)/home/keikei

  7. ログインシェル
    ログイン時に起動されるシェル. SUN OS のデフォルトは /bin/sh . Linux では /bin/bash . シェルについては後で学習します.
    例)/bin/bash

[2] /etc/shadow ファイル

/etc/shadow には以下のような内容が書き込まれています. (因みに, 以下の暗号化されたパスワードは参考書から引用したものであり 復号化してもメリットはありません. )

addie:ODmNoe3rpqcWE:10886:0:99999:7:::0
adam:kHTsizRZqOpqE:10907:0:99999:7:::0
addison:iJMp94cZHbJ26:10910:0:99999:7:::0
adon:zK1kwbbc6.IeM:10905:0:99999:7:::0
samson:fM77gWFKHu4DU:10889:0:99999:7:::
bob:LOZNf7d9Xn6Rc:10910:0:99999:7:::0
david:YTpjdEsdAMFJ2:10928:0:99999:7:::0

1行に1ユーザーのパスワード情報が記述されています. 個々のユーザーのパスワード情報として, コロン(:)で区切られた9つのフィールドに, 次のような内容が左から順に書き込まれています. なお, このファイルは root の権限をなくして閲覧することはできません.

  1. ユーザー名
    ユーザーの login 名. 同じ物が /etc/passwd ファイルに記述されている必要があります.
    例)samson

  2. パスワード
    暗号化されたパスワードが書かれています.
    例)fM77gWFKHu4DU

  3. 最終パスワード変更日時
    1970年1月1日からパスワード最終変更日時迄の日数です.
    例)10889

  4. パスワード変更不能日数
    パスワード変更が出来る様になるまでの日数です.
    例)0

  5. パスワード変更要求迄の日数
    パスワードを変更しなくても良い日数です.
    例)99999

  6. パスワード期限満了警告日数
    パスワードが無効となるまでに, "ユーザにパスワードが無効となりかかっている"との警告を出す日数です.
    例)7

  7. アカウント無効までの日数
    パスワードが無効となってから, アカウントが不能となり使用できなくなるまでの日数です. 上のサンプルでは設定されていません.

  8. アカウント期限満了の日付
    1970年1月1日からアカウント使用不能となる迄の日数です. 上のサンプルでは設定されていません.

  9. 将来の使用に予約
    将来的に何か情報を追加するようシステムが変更された場合に, その新規情報を書き込むために空けてあります. 0 を指定します.

[3] /etc/group ファイル

/etc/group には以下のような内容が書き込まれています.

root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:lp
mail:x:8:
news:x:9:
uucp:x:10:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:
floppy:x:25:
tape:x:26:
audio:x:29:
nogroup:x:65534:
keikei:x:1000:
sugiyama:x:1005:
dongury:x:1007:

/etc/passwd ファイル同様, 1行に1グループの情報が記述されています. 個々のグループの情報として, コロン(:)で区切られた4つのフィールドに, 左から順に, 「グループ名:グループのパスワード (現在は使われていない) :グループ ID の数値:グループに属するメンバー全員のユーザー名 (個々のユーザー名はコンマで区切られる)」の形で書かれています.

>> 次のページへ

最終更新日: 2005/10/11(森川靖大) Copyright © 2005 inex