ユーザ管理
ユーザの作成と削除
ユーザの作成
ユーザは次の形式で/etc/passwdファイルに登録する。
account:password:UID:GID:GECOS:directory:shell
| account |
ユーザー名。他と重複しない名前。8文字以内。 |
| password |
ユーザーの暗号化されたパスワード。ログインできないユーザ,あるいはシャドウパスワードを使う場合は'*'。 |
| UID |
ユーザID。 |
| GID |
ユーザーが属するグループID。 |
| GECOS |
ユーザのフルネームなどを記載する。省略可能。 |
| directory |
ユーザーのホームディレクトリ。 |
| shell |
ログインシェルのプログラム名。空欄の 場 合は/bin/shが
使われる。存在しないプログラムが設定された場合,loginコマンドではシステムにログインできなくなる。 |
ホームディレクトリや.bashrcなどのファイルを用意する。
ホームディレクトリの所有者,グループ,アクセス権も設定する。
/etc/passwdファイルを編集するときは,vipwコマンドを使うとよい。
vipwは,/etc/passwdファイルをロックし,同時に複数のユーザが編集することにより内容に矛盾が生じるのを防ぐ。
useraddコマンド
useraddコマンドでユーザを登録できる。useraddコマンドはホームディレクトリも作成する。
useradd <オプション> <ユーザ名> または
adduser <オプション> <ユーザ名>
| オプション |
意味 |
-c comment
|
/etc/passwdファイルのコメント欄に記入する値。 |
-d home_dir
|
ホームディレクトリ。デフォルトは/home/<ユーザ名>。ディレクトリがなければ作る。 |
-g initial_group
|
グループ名またはグループID。 |
-s shell
|
ログインシェル。デフォルトは/bin/bash。 |
-u uid
|
ユーザID。デフォルトは100以上の適当な未使用の値。 |
オプションの詳しい説明はこちらを参照。
ユーザの削除
userdelコマンドでユーザを削除する。
userdel [-r] <ユーザ名>
-rオプションがあると,ユーザのホームディレクトリ以下のファイルやサブディレクトリも削除する。
シャドウパスワードファイル
/etc/passwdファイルは全ユーザが読み込み可能。
そこから暗号化したパスワードを入手して,"しらみつぶし法"などでパスワードを破ることができる。
そのため,パスワードを/etc/passwdファイル中に記入せず,/etc/shadowファイルに記載する。
/etc/shadowファイルはスーパーユーザだけが読める。
Linuxでシャドウパスワード機能を使う場合はShadow
Suiteのインストールが必要。
詳しくは,Linux Shadow Password HOWTOを参照。
HOWTOドキュメントは/usr/doc/HOWTOディレクトリに英語版が,/usr/doc/JFディレクトリに日本語版がある。
グループ
グループとは
アクセス権などを設定するために,ユーザをグループ化するもの。
グループに所属するユーザにはファイル属性のグループに対する権限が適用される。
/etc/passwdファイルに記載されているGIDがデフォルトグループとなる。
/etc/groupファイルに登録されているグループの権限はそのままでは適用されない。
/etc/groupファイルに登録されているグループの権限を適用するときはnewgrpコマンドを使う。
/etc/groupファイルによってグループを管理する。
次の形式の1行で,一つのグループを登録する。
登録変更などはこれをテキストエディタで編集する。
group_name:passwd:GID:user_list
|
group_name
|
グループの名前
|
|
password
|
グループに設定されたパスワード(暗号化されている)。あるユーザがこのグループの権限を使うために,newgrpコマンドなどを実行する場合に,ここに登録されているパスワードと照合する。user_listに登録されているユーザはパスワード照合を必要としない。パスワードが空欄の場合もパスワード照合を必要としない。
|
|
GID
|
グループIDの数値。
|
|
user_list
|
グループのメンバー全員のユーザー名。それぞれのユ ーザ名はカンマ(',')で区切る。
|
グループを扱うコマンド
下記のコマンドを使ってグループをメンテナンスすることもできる。
groupadd |
新しいグループを作成する |
|
groupdel |
グループを削除する |
|
groupmod |
グループ名などを変更する |
|
groups |
ユーザが所属しているグループを一覧表示する |
|
newgrp |
ログインしているユーザがデフォルトグループ以外のグループに所属する |
|
grpck |
グループファイルの誤りを検査する |
|