ユーザとグループの管理 2. ユーザとグループの管理 水野嘉明 情報システム管理 2. ユーザとグループの管理 水野嘉明 情報システム管理
本日の内容 1. ユーザとグループ 2. ユーザ情報の登録 2.4 ユーザによる情報の更新 3. グループ 1.1 ユーザの種別 ユーザとグループの管理 本日の内容 1. ユーザとグループ 1.1 ユーザの種別 2. ユーザ情報の登録 2.1 /etc/passwd の内容 2.2 /etc/shadow 2.3 ユーザの追加、削除、更新 2.4 ユーザによる情報の更新 3. グループ 3.1 グループ情報格納ファイル 3.2 グループファイルの更新 2 情報システム管理
1. ユーザとグループ ユーザ、グループは、アクセス制御の単位 すべてのものに「所有者」の概念がある ユーザとグループの管理 1. ユーザとグループ ユーザ、グループは、アクセス制御の単位 すべてのものに「所有者」の概念がある ファイルのアクセス、コマンドの実行権などを制御 3 情報システム管理
1. ユーザとグループ UNIXには、複数ユーザがアクセス (マルチユーザ ) 一人ひとりのユーザを区別する UNIXマシン 4 ユーザとグループの管理 1. ユーザとグループ UNIXには、複数ユーザがアクセス (マルチユーザ ) UNIXマシン 一人ひとりのユーザを区別する 4 情報システム管理
1. ユーザとグループ 管理 をしやすくするために、グループ という集団でユーザーを扱う ユーザは、一つ以上のグループに所属 UNIXマシン ユーザとグループの管理 1. ユーザとグループ 管理 をしやすくするために、グループ という集団でユーザーを扱う UNIXマシン ユーザは、一つ以上のグループに所属 5 情報システム管理
ユーザとグループの管理 1.1 ユーザの種別 ユーザには、次の3種がある 特権ユーザ 特殊ユーザ 一般ユーザ 6 情報システム管理
1.1 ユーザの種別 特権ユーザ ( root ) システムの管理者 基本的に、何でもできる ファイルの読み書き、削除 ユーザとグループの管理 1.1 ユーザの種別 特権ユーザ ( root ) システムの管理者 基本的に、何でもできる ファイルの読み書き、削除 ディスクの管理(フォーマット等) プロセスの起動・停止 ユーザの登録、管理 シャットダウン etc. 7 情報システム管理
1.1 ユーザの種別 何でもできるので、慎重な操作が必要 システム全体を破壊するのも容易 ユーザとグループの管理 1.1 ユーザの種別 何でもできるので、慎重な操作が必要 システム全体を破壊するのも容易 通常の作業は一般ユーザで行い、必要な場合のみ特権ユーザになるとよい su コマンド 8 情報システム管理
1.1 ユーザの種別 ☆本講義では、 システム管理者 (特権ユーザ:root) として、サーバを管理することを学ぶ 9
1.1 ユーザの種別 特殊ユーザ サービス運営用のユーザ 特殊な権限を保持 ログインできないものが大多数 ユーザとグループの管理 1.1 ユーザの種別 特殊ユーザ サービス運営用のユーザ 特殊な権限を保持 root権限をばら撒くのは怖い ⇒ 特定の操作のみを許可 ログインできないものが大多数 例: ftp、mail、www、news、・・・ 10 情報システム管理
1.1 ユーザの種別 一般ユーザ 普通のユーザ 一人ひとりにユーザIDが割り振られる (複数人でユーザIDを共有することは、避けること) ユーザとグループの管理 1.1 ユーザの種別 一般ユーザ 普通のユーザ 一人ひとりにユーザIDが割り振られる (複数人でユーザIDを共有することは、避けること) 11 情報システム管理
1.1 ユーザの種別 su コマンド 一時的に他のユーザとなる ユーザ名を指定しないと、root となる ユーザとグループの管理 1.1 ユーザの種別 su コマンド 一時的に他のユーザとなる ユーザ名を指定しないと、root となる 必要に応じて、パスワード入力が求められる $ su [-] [user] 「$」は、プロンプト 12 情報システム管理
1.1 ユーザの種別 オプション引数 - をつけると、直接ログインした場合と同じ環境となる ユーザとグループの管理 1.1 ユーザの種別 オプション引数 - をつけると、直接ログインした場合と同じ環境となる 元のユーザに戻るには、exit コマンドを実行する 「$」は、プロンプト 13 情報システム管理
1.1 ユーザの種別 suコマンド実行例 ユーザ knoppix から rootに rootから mizunoに 元に戻る 14 ユーザとグループの管理 1.1 ユーザの種別 suコマンド実行例 ユーザ knoppix から rootに rootから mizunoに 元に戻る 14 情報システム管理
2. ユーザ情報の登録 (パスワードファイル) /etc/passwd ユーザを管理するための情報を格納しておく テキストファイル ユーザとグループの管理 2. ユーザ情報の登録 (パスワードファイル) /etc/passwd ユーザを管理するための情報を格納しておく テキストファイル 誰でも読み出しができる (書込みは rootのみ) 15 情報システム管理
2. ユーザ情報の登録 パスワードは、別のファイルに格納する (shadow化) ユーザとグループの管理 2. ユーザ情報の登録 パスワードは、別のファイルに格納する (shadow化) ⇒ /etc/shadow (Linux、Solaris等) または ⇒ /etc/master.passwd (BSD等) ( rootのみが読み書き可 ) 16 情報システム管理
2. ユーザ情報の登録 昔は、パスワードも /etc/passwdに格納されていたが、セキュリティ上問題なので 別ファイルとなった ユーザとグループの管理 2. ユーザ情報の登録 昔は、パスワードも /etc/passwdに格納されていたが、セキュリティ上問題なので 別ファイルとなった ★ /etc/passwdは誰でも読めるため、 総当りや辞書方式でパスワード破 りができる 17 情報システム管理
2. ユーザ情報の登録 Linux/Solaris系と BSD 系では、少々フォーマットが異なるが、基本は同じ 18 ユーザとグループの管理 情報システム管理
2.1 /etc/passwd の内容 1ユーザに1行、コロンが区切り ユーザ名 暗号化されたパスワード ユーザID番号 グループID番号 ユーザとグループの管理 2.1 /etc/passwd の内容 1ユーザに1行、コロンが区切り ユーザ名 暗号化されたパスワード ユーザID番号 グループID番号 GECOSフィールド ホームディレクトリ ログインシェル 19 情報システム管理
ユーザとグループの管理 2.1 /etc/passwd の内容 /etc/passwd の例 20 情報システム管理
2.1 /etc/passwd の内容 ユーザID GECOSフィールド ユーザ名 グループID ユーザとグループの管理 2.1 /etc/passwd の内容 ユーザID GECOSフィールド ユーザ名 グループID mizuno:x:1001:1002:MIZUNO Yoshiaki,,,: /home/mizuno:/bin/bash パスワード ログインシェル ホームディレクトリ 21 情報システム管理
2.1 /etc/passwd の内容 1. ユーザ名 (ログイン名) システ全体で一意 2. 暗号化されたパスワード ユーザとグループの管理 2.1 /etc/passwd の内容 1. ユーザ名 (ログイン名) システ全体で一意 2. 暗号化されたパスワード shadow使用時には 「x」などと記述 3. ユーザID番号 実際のユーザ管理は、この番号で行われる 22 情報システム管理
2.1 /etc/passwd の内容 4. グループID番号 所属するグループの番号(ID) (グループについては後述) ユーザとグループの管理 2.1 /etc/passwd の内容 4. グループID番号 所属するグループの番号(ID) (グループについては後述) 5. GECOSフィールド ユーザのフルネームや説明など コメント欄として使用できるが、一部のユーティリティもここを使用する 23 情報システム管理
2.1 /etc/passwd の内容 6. ホームディレクトリ ログイン時のカレントディレクトリ ユーザとグループの管理 2.1 /etc/passwd の内容 6. ホームディレクトリ ログイン時のカレントディレクトリ 通常、/home の下に ユーザ名のディレクトリを作成する 例) /home/mizuno ユーザは、このディレクトリを自由に使うことが出来る 24 情報システム管理
2.1 /etc/passwd の内容 7. ログインシェル そのユーザが使用するシェル Linuxでは、 bash が多い ユーザとグループの管理 2.1 /etc/passwd の内容 7. ログインシェル そのユーザが使用するシェル Linuxでは、 bash が多い 特殊ユーザは false や nologin root は sh(ボーンシェル)を使用することもよくある 25 情報システム管理
2.2 /etc/shadow /etc/shadow /etc/passwd からパスワードを分離 root のみが読み出し可 ユーザとグループの管理 2.2 /etc/shadow /etc/shadow /etc/passwd からパスワードを分離 root のみが読み出し可 暗号化されたパスワードと、エージングの情報が格納されている BSD系では、 /etc/master.passwd 26 情報システム管理
2.2 /etc/shadow エージング (aging) パスワードに有効期間を設け、定期的なパスワードの変更を促す事 ユーザとグループの管理 2.2 /etc/shadow エージング (aging) パスワードに有効期間を設け、定期的なパスワードの変更を促す事 /etc/shadow の第3~第8フィールドは、このエージングの管理を行うためのフィールド 27 情報システム管理
2.2 /etc/shadow /etc/shadow の例 「*」や「!」は ログイン不可 暗号化されたパスワード 28 ユーザとグループの管理 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. パスワードが期限切れになる前に 警告を出す日数 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 : ホームディレクトリを作成 37
2.3 ユーザの追加、削除、更新 多数のユーザを一度に登録するには スクリプトで useradd を利用 (GUIツールより便利) 38
2.3 ユーザの追加、削除、更新 パスワードファイルの更新 (GUI) 最近のOSには、GUIを用いてユーザ/グループの管理を行うツールが用意されている 39
2.3 ユーザの追加、削除、更新 GUI ツールの画面例 (KNOPPIX)
2.4 ユーザによる情報の更新 前節での登録・更新は、特権ユーザ(root)による ユーザ自身での更新 passwd : パスワードの変更 2.4 ユーザによる情報の更新 前節での登録・更新は、特権ユーザ(root)による ユーザ自身での更新 passwd : パスワードの変更 chsh : ログインシェルの変更 chfn : 氏名等の情報(GECOS) を変更 41
2.4 ユーザによる情報の更新 passwd コマンド エコー表示されない 42
2.4 ユーザによる情報の更新 root は、他人のパスワードも変更できる ☆ rootは、古いパスワード不要 43
【おまけ】 パスワードを忘れたら アカウントの管理は、システム管理者(root)の大事な仕事の一つである 問題: ある一般ユーザが、自分で設定したログイン・パスワードを忘れてしまったと連絡してきた。システム管理者としてどのように対処すべきか 44
【おまけ】 パスワードを忘れたら (本人確認) 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
お疲れ様でした