UNIX におけるユーザー管理
地球科学科 地球惑星大気物理学研究室 4年 山田 学
なぜにユーザー管理が必要か?
○大前提:UNIXはマルチユーザー、マルチタスクなOSであるということ
- マルチタスク
:一台のコンピュータ上で同時に複数の仕事を処理できる。
そのためにTSS(Time Shareing System:時間分割システム)を採用している。
- マルチユーザー
:一台のコンピュータを同時に複数人が利用できる
つまり複数のユーザが幾つかのの仕事を同時に行える。
実際CPUが使われている時間を考えると、高性能な機械を皆で共有する
ことで、資源の有効利用が期待できる。
○必要となる概念
複数のユーザが同じコンピュータを共有し、
なおかつ同時に処理を行うには、
それなりのお約束
(コンピュータが処理をする上での、
またファイルと言った資源を共有する上でも)
が必要となる。
- UID:User ID
:ユーザと一対一の対応を持つ番号=アカウント名(ログイン名)に対応
- GID:Group ID
:複数ユーザ内での共有を実現するための番号=グループ名に対応
ユーザは一つのUIDと一つ以上のグループに属して
作業を行うことになる。
このことで、
- ファイルの持ち主は誰か
- ファイルが、どのグループ所有なのか
というファイルの管理が可能になる。
実際、各々のファイルにはパーミッション属性というものがついていて、
- ファイルの持ち主に対して
- ファイルの所有グループに属するユーザに対して
- 上に属さない"他人"に対して
『読み』『書き』『実行』が出来るかを(持ち主が)決めることになる。
あまり良い例えでは無いかも知れないが、図書館での蔵書管理を
想像すると良いのかも知れない。"個人"に対して"所属グループ"
(教員、院生、学部生 etc.)がありそれらに対応して"閲覧"、
"貸し出し"がどのように可能であるかが決まっている。
(ただ、少し違う点として、実行されたファイルに対しても
"実行者"、"実行グループ"と言う属性がついている。詳しくはそのうち?
もしくは各自調べて下さい。)
実践研究会での現状
○問題点
- :UID、GIDを用いた管理が実現されていない
:UID=GIDと言う状態になっているために、資源の管理が基本的に
"自分"と"自分以外"という風になってしまう。この体制では、
一つのシステム内では何とかなるものの、外とつなげた状態では
"他人"には"同一システム内の他人"と"他のシステム内の他人"の
区別が不可能となってしまう。
○改善点
- UID、GIDの割当方の検討
:長期的な展望の上での割当を模索する必要がある。
NFS(Network File System)、NIS(Network Information Service)
といったものの使用も念頭にいれた上で、
IPアドレスの割り振り同様の考え方が必要。
つまり、ローカルで自由に使えるUIDの割り振りと、
全体で用いる予約されたUID(root,staff,etc.)、
そしてユーザ用のID(これも研究室毎の割り振り等)
を考える必要がある
- 併せて、ユーザ登録のしかた
- その際の約束事項について
○Example
- 0-999 ローカルで自由に管理する番号
:ただし0-100は予約されたものを用いる
- 0-50 : システム管理似関係するグループ(root,staff,etc.)
- 51-100 : 一般ユーザの属するグループ(user,etc)
- 1000- :2-4年生用ユーザアカウント
- 2000- :2-4年生用ユーザアカウント
- 2000- :2-4年生用ユーザアカウント
- 3000- :500おきに書く研究室で自由に用いるアカウント
等など。
急いで考えたので、まとまっていませんがこんな感じ?
これは、かなり模索する必要がありそうです。
参考文献
書籍
- 山口 和紀:The UNIX Super Text. 技術評論社
- 長谷川さん御提供資料『UNIX の基礎知識』
履歴
- 1998/11/06
- 山田 学