% 表題 講義録「UNIX におけるユーザ管理」 % % 履歴 % 1999/01/22 豊田英司 と参加者の皆さん 1999/01/29 豊田英司 参加者リスト訂正 0. 場所 理学部本館 S-305 教室 1999年1月22日 16:30〜 0. 参加者 坂本竜彦 倉本圭 篠田太郎 小高正嗣 杉山耕一朗 山田学 横山誠 高橋共馬 横畠徳太 1. UNIX はどうできているか 1.1 ユーザとは UNIX システム利用者は 16bit 整数で識別される。 この数値はユーザID と呼ばれる。 普通のコマンドはユーザID でなく文字列で表現した名前 (ユーザ名) を表示するが、その対応は /etc/passwd で決まっている。 1.2 /etc/passwd passwd(5) を参照されたし。 1行が1エントリ。各エントリは ':' (コロン) で区切られ、 ユーザ名 パスワード ユーザID グループID コメント ホームディレクトリ ログインシェル からなる。いまどきの UNIX では /etc/passwd のパスワード欄(フィールド) は "x" と書かれていて、かわりに /etc/shadow にパスワードが書かれている。 なぜそうするかというと、一般ユーザに他人のパスワードを知られないため。 パスワードは「暗号化」(encrypted) されて入っている。 ので、一見しただけではわからない。 しかしいまどきはど根性で解読できないこともないこともないらしい。 * ユーザ名の規則はどこで決まっているんだ? ラテン小文字、数字、HYPHEN-MINUS が使えるらしい (本当か?)。 とにかく8文字以上ではいけないらしい。 (蛇足、昔の SunOS では 8 文字では困ってしまうバグがあった) → ユーザに実験させようぜ! * パスワードの規則はどこで決まっているんだ? passwd(1) にどのくらい複雑なものをつかうべきかが書いてある。 1.3 グループ ファイルのアクセス権などで、ユーザとは別にグループというものが使われる。 グループも 16bit 整数。数値と名前の対応は /etc/group で行われる。 ファイルを共有するためにつかう、とおもえばよい。 /etc/passwd のグループ欄 (primary group ともいうらしい) は、 ファイルを creat(2) (作るということ) したときのデフォルトのグループ (山田説)。 primary でないグループは /etc/group の最終欄にユーザ名を列挙することで 登録する。 2. 管理のポリシー論 2.1 パスワード管理 * かならず1個人が1つのパスワードを持つようにする (共有しない) * 他人に知られては、知らせてはいけない * 他人のパスワードを知ろうとしてはいけない (入力しているとき目をそむける、など) * 容易に推測できるパスワードを使ってはならない (encrypted password が知られると crack というソフトウェアで 解読されるおそれあり) * 頻繁に変更すべき? (よくいわれるんだけど、実践できないことのひとつ) 2.2 ユーザの追加・削除 もちろんスーパーユーザ (ユーザID が 0 のユーザ) しかできない。 ユーザやグループが増えてきて、ながいあいだたつと、 いったい何のユーザ・グループだったかわからなくなる。 この記録をつくって保守するのが、管理ということといってもよい。 2.3 北大地惑ルール 実働部隊メンバであれば or 教官の認証が得られれば新規にユーザとなれる 必要事項 * なにものか? (種別) / 身分肩書き * ほんとうの名前 * 連絡先 (いろいろ) * 責任教官 * ユーザ名 * 有効期限 は記録しなくてよい (すべてのユーザが単年度) 作業の流れ * ユーザ本人が教官の認証をとる * 必要事項を届け出て管理グループに申請する * 管理グループは新しいアカウントを作成し 初期パスワードを生成する * ユーザが管理グループに初期パスワードをもらいにいく 継続手続き * 年度末に email を送る * 返事があれば継続 用語: アカウントとはユーザというのとほぼ同義だが、対照的に つかうときは、ユーザが実体的人間のことで、アカウントが計算機上の概念。 3. 管理の道具たち 3.1 useradd, userdel debian だけではなく、Solaris 2.5.x にもあったので、 わりと広く使えるのではないかと思われる。 マニュアルページをみよう。 3.2 adduser Linux ではこっちが普通に使われる (というか、本に書いてある) のだけど、debian では実は useradd を呼び出す perl スクリプトに ほかならなかった!