情報システム管理 #2 ユーザとグループ

情報システム管理
2. ユーザとグループの管理
水野嘉明
本日の内容
1. ユーザとグループ
1.1 ユーザの種別
2. ユーザ情報の登録
2.1 /etc/passwd の内容
2.2 /etc/shadow
2.3 ユーザの追加、削除、更新
2.4 ユーザによる情報の更新
3. グループ
3.1 グループ情報格納ファイル
3.2 グループファイルの更新
2
1. ユーザとグループ
 ユーザ、グループは、アクセス制御
の単位
すべてのものに「所有者」の概念
がある
ファイルのアクセス、コマンドの実
行権などを制御
3
1. ユーザとグループ
 UNIXには、複数ユーザがアクセス
(マルチユーザ )
UNIXマシン
一人ひとりのユーザを区別する
4
1. ユーザとグループ
をしやすくするために、グルー
プ という集団でユーザーを扱う
 管理
UNIXマシン
ユーザは、一つ以上のグループに所属
5
1.1 ユーザの種別
 ユーザには、次の3種がある
特権ユーザ
特殊ユーザ
一般ユーザ
6
1.1 ユーザの種別
( root )
システムの管理者
基本的に、何でもできる
ファイルの読み書き、削除
ディスクの管理(フォーマット等)
プロセスの起動・停止
ユーザの登録、管理
シャットダウン
etc.
 特権ユーザ
7
1.1 ユーザの種別
何でもできるので、慎重な操作が必
要
システム全体を破壊するのも容易
通常の作業は一般ユーザで行い、
必要な場合のみ特権ユーザになる
とよい
su コマンド
8
1.1 ユーザの種別
☆本講義では、
システム管理者 (特権ユーザ:root)
として、サーバを管理することを学ぶ
9
1.1 ユーザの種別
 特殊ユーザ
サービス運営用のユーザ
特殊な権限を保持
 root権限をばら撒くのは怖い
⇒ 特定の操作のみを許可
ログインできないものが大多数
例: ftp、mail、www、news、・・・
10
1.1 ユーザの種別
 一般ユーザ
普通のユーザ
一人ひとりにユーザIDが割り振ら
れる
(複数人でユーザIDを共有するこ
とは、避けること)
11
1.1 ユーザの種別
 su
コマンド
一時的に他のユーザとなる
ユーザ名を指定しないと、root と
なる
$ su [-] [user]
必要に応じて、パスワード入力が
求められる
12
1.1 ユーザの種別
オプション引数 - をつけると、直接
ログインした場合と同じ環境となる
元のユーザに戻るには、exit コマ
ンドを実行する
13
1.1 ユーザの種別
suコマンド実行例
ユーザ knoppix
から rootに
rootから
mizunoに
元に戻る
14
2. ユーザ情報の登録
(パスワードファイル)
 /etc/passwd
ユーザを管理するための情報を格
納しておく
テキストファイル
誰でも読み出しができる
(書込みは rootのみ)
15
2. ユーザ情報の登録
 パスワードは、別のファイルに格納
する (shadow化)
⇒ /etc/shadow (Linux、Solaris等)
または
⇒ /etc/master.passwd (BSD等)
( rootのみが読み書き可 )
16
2. ユーザ情報の登録
昔は、パスワードも /etc/passwdに
格納されていたが、セキュリティ上
問題なので 別ファイルとなった
★ /etc/passwdは誰でも読めるため、
総当りや辞書方式でパスワード破
りができる
17
2. ユーザ情報の登録
 Linux/Solaris系と
BSD 系では、少々
フォーマットが異なるが、基本は同じ
18
2.1 /etc/passwd の内容

1ユーザに1行、コロンが区切り
1. ユーザ名
2. 暗号化されたパスワード
3. ユーザID番号
4. グループID番号
5. GECOSフィールド
6. ホームディレクトリ
7. ログインシェル
19
2.1 /etc/passwd の内容
 /etc/passwd
の例
20
2.1 /etc/passwd の内容
ユーザID
ユーザ名
GECOSフィールド
グループID
mizuno:x:1001:1002:MIZUNO Yoshiaki,,,:
/home/mizuno:/bin/bash
パスワード
ログインシェル
ホームディレクトリ
21
2.1 /etc/passwd の内容
1. ユーザ名 (ログイン名)
システ全体で一意
2. 暗号化されたパスワード
shadow使用時には 「x」などと記述
3. ユーザID番号
実際のユーザ管理は、この番号で
行われる
22
2.1 /etc/passwd の内容
4. グループID番号
所属するグループの番号(ID)
(グループについては後述)
5. GECOSフィールド
ユーザのフルネームや説明など
コメント欄として使用できるが、一部
のユーティリティもここを使用する
23
2.1 /etc/passwd の内容
6. ホームディレクトリ
ログイン時のカレントディレクトリ
通常、/home の下に ユーザ名の
ディレクトリを作成する
例) /home/mizuno
ユーザは、このディレクトリを自由
に使うことが出来る
24
2.1 /etc/passwd の内容
7. ログインシェル
そのユーザが使用するシェル
Linuxでは、 bash が多い
特殊ユーザは false や nologin
root は sh(ボーンシェル)を使用
することもよくある
25
2.2 /etc/shadow
 /etc/shadow
/etc/passwd からパスワードを分離
root のみが読み出し可
暗号化されたパスワードと、エージ
ングの情報が格納されている
BSD系では、 /etc/master.passwd
26
2.2 /etc/shadow
 エージング
(aging)
パスワードに有効期間を設け、定
期的なパスワードの変更を促す事
 /etc/shadow の第3~第8フィー
ルドは、このエージングの管理を
行うためのフィールド
27
2.2 /etc/shadow
/etc/shadow の例
「*」や「!」は
ログイン不可
暗号化された
パスワード
28
2.2 /etc/shadow
1. ユーザ名
 /etc/passwd と共通の名前
2. 暗号化されたパスワード
3. パスワードを最後に変更した日
1970年1月1日からの日数
4. パスワード変更ができるように
なるまでの日数
29
2.2 /etc/shadow
5. パスワードを変更しなくても良い
日数
6. パスワードが期限切れになる前に
警告を出す日数
7. 期限切れになってから、使用でき
なくなるまでの日数
8. アカウントの有効日数
9. (将来用に予約)
30
2.2 /etc/shadow
 暗号化は、非可逆
パスワードが正しいかどうかは
チェックできる
元のパスワードを読み取ることは
root でもできない
パスワード
暗号
31
2.3 ユーザの追加、削除、更新
 パスワードファイルの更新
ユーザの追加等のためには、パス
ワードファイル類を更新しなければ
ならない
 /etc/passwd
 /etc/shadow
 /etc/group
(後述)
 /etc/gshadow
(後述)
32
2.3 ユーザの追加、削除、更新
 パスワードファイルの更新の方法
手動
コマンドラインベースのツール
GUI ツール
33
2.3 ユーザの追加、削除、更新
 パスワードファイルの更新
(手動)
/etc/passwd、 /etc/shdowなどは
テキストファイルであるが、直接エ
ディタで書き換えてはならない
 普通のエディタは競合を管理しない
ので、複数ユーザが一度に書き換え
たり参照する可能性がある
⇒ vipw を使用する
34
2.3 ユーザの追加、削除、更新
 vipw
/etc/passwd と /etc/shadow 編
集のためのコマンド
vi コマンド + ファイルのロック
(OSによっては、もう少し他の
ことも行う)
root のみが実行できる
35
2.3 ユーザの追加、削除、更新
 パスワードファイルの更新
(ツール)
 useradd / userdel / usermod
パスワードファイル類の設定の他
に、ホームディレクトリの作成と設
定ファイルの雛形のコピーなどもし
てくれる
BSDなどでは、
adduser / rmuser
36
2.3 ユーザの追加、削除、更新
$ useradd [オプション] ユーザ名
オプション
 -m : ホームディレクトリを作成
 -s [シェル] : ログインシェルを
指定する
37
2.3 ユーザの追加、削除、更新
多数のユーザを一度に登録するには
スクリプトで useradd を利用
(GUIツールより便利)
38
2.3 ユーザの追加、削除、更新
 パスワードファイルの更新
(GUI)
最近のOSには、GUIを用いてユー
ザ/グループの管理を行うツール
が用意されている
39
2.3 ユーザの追加、削除、更新
 GUI
ツールの画面例 (KNOPPIX)
2.4 ユーザによる情報の更新
 前節での登録・更新は、特権ユーザ
(root)による
 ユーザ自身での更新
passwd : パスワードの変更
chsh : ログインシェルの変更
chfn
: 氏名等の情報(GECOS)
を変更
41
2.4 ユーザによる情報の更新
 passwd
コマンド
エコー表示されない
42
2.4 ユーザによる情報の更新
root は、他人のパスワードも変更
できる
☆ rootは、古いパスワード不要
43
【おまけ】 パスワードを忘れたら
 アカウントの管理は、システム管理
者(root)の大事な仕事の一つであ
る
問題: ある一般ユーザが、自分で設定
したログイン・パスワードを忘れてし
まったと連絡してきた。システム管理
者としてどのように対処すべきか
44
【おまけ】 パスワードを忘れたら
1. (本人確認)
2. passwd コマンドにて臨時パスワード
を設定し、本人に通知する
3. 本人に、passwd コマンドにて正式
パスワードを設定させる
45
3. グループ
 ユーザ
+ グループ
権限制御はユーザ・グループ単位
ユーザは、ひとつ以上のグループ
に所属する
46
3.1 グループ情報格納ファイル
 パスワードファイルと同様の構成
/etc/group
グループ情報格納ファイル
 /etc/gshadow
シャドウ化グループ情報ファイル
47
3.1 グループ情報格納ファイル
 /etc/group
1グループ1行、 コロン区切り
内容は
グループ名
暗号化されたパスワード
(シャドウ化されている時「x」等)
グループID
全メンバーのリスト
(コンマで区切る)
48
3.1 グループ情報格納ファイル
 /etc/group
の例
3.1 グループ情報格納ファイル
 /etc/gshadow
内容
グループ名
暗号化されたパスワード
管理者リスト
メンバーリスト
50
3.1 グループ情報格納ファイル
注
KNOPPIX 5.3.1は、グループ情報の
シャドウ化をしていない (?)
(gshadowファイルがない)
51
3.2 グループファイルの更新
 手作業
 vigr
 コマンドラインベースのツール
 groupadd / groupdel / groupmod
 GUI ツール
パスワードファイルと共通
52
【課題 1】
 新しいユーザを作成する
ユーザ名は、自分の名字
例: mizuno
以下の4ステップに従って作業する
1. ユーザを作成
2. パスワードを設定
3. 設定ファイルをコピー
4. /etc/passwdを 提出
53
【課題 1】
 ステップ1
useradd コマンドを用いて、一般ユー
ザを追加せよ
ユーザ名は、自分の名字
ホームディレクトリを作成する (-m)
シェルは /bin/bash
(-s)
54
【課題 1】
 ステップ2
作成したユーザのパスワードを設
定せよ
作成したユーザは、最初はログイ
ン不可の状態
root にて passwdコマンドにより
パスワードを設定する
55
【課題 1】
 ステップ3
USB内の設定ファイルを、ホーム
ディレクトリにコピーせよ
まず、su にて作成ユーザとなる
cd にてホームディレクトリに移る
cp により、USBからコピーする
.bashrc
.bash_profile
56
【課題 1】
 ステップ4
ファイル /etc/passwd を提出せよ
ToyoNet の manaba course、本
科目の 「レポート1」にて提出する
57
【付録】 rootの仕事
 システム管理者(root)には、大きな権
限と責任がある
ほぼ、何でも出来る権限
どのユーザにもなることが出来る
(su コマンド)
システムを安定的に、かつ安全に動
作させる責任
58
【付録】 rootの仕事
 システム管理者(root)に求められる
もの
技術力
モラル
大きな権限
と責任
59
【付録】 rootの仕事
 システムを安定的/安全に動作させ
るため、システム管理者(root)が行
なうべき仕事
ソフトウェアやハードウェアの設定
ユーザの管理
システムのメンテナンス
定常的監視
障害対応
60
【付録】 rootの仕事
 root権限が必要な作業の例
マシンの終了、再起動
サーバ・ソフトウェアの実行
ソフトウェアのインストール
システムのアップデート
ソフトウェアの設定変更
61
【付録】 rootの仕事
ハードウェアの増設、変更
アカウント管理 (ユーザ登録・管理)
ログの閲覧
データのバックアップ
障害の修復
(データのリストア、設定変更、再起動、
ファイルの整理 etc.)
62
次回の予定
 「ファイルとディスクの管理」
ファイルおよびディスクの管理の
考え方、注意点
管理用のコマンド
63
お疲れ様でした