オペレーティングシステム

オペレーティングシステムJ/K
2004年11月11日2時限目
酒居敬一([email protected])
http://www.info.kochi-tech.ac.jp/k1sakai/Lecture/OS2004/
予定
1. 第1回講義
10月 4日2時限目
2. 第2回講義
10月 7日2時限目
3.
第1回演習
10月14日2時限目
4. 第3回講義
10月18日2時限目
5. 第4回講義
10月18日5時限目
6.
第2回演習
10月21日2時限目
7. 第5回講義
10月25日2時限目
8. 第6回講義
10月28日2時限目
9.
中間試験
11月 1日2時限目
10.第7回講義
11月 1日5時限目
11.第8回講義
11月 4日2時限目
12.第9回講義
11月 8日2時限目
13.第10回講義 11月11日2時限目
14.第11回講義 11月15日2時限目
15.
第3回演習
11月15日5時限目
16.第12回講義 11月18日2時限目
17.第13回講義 11月22日2時限目
18.
第4回演習
11月25日2時限目
19.第14回講義 11月29日2時限目(必ず出席のこと・20回目と入れ替えの可能性あり)
20.クオータ末試験 11月29日5時限目(必ず出席のこと・19回目と入れ替えの可能性あり)
※変更の可能性があります。
アクセス管理とセキュリティ
• 利用形態
• マルチユーザ環境
– 計算機を複数の利用者で共有使用する環境
• 利用者の概念
• アクセス制御
• 資源管理
• 安全性(セキュリティ)
アクセス形態
• ローカル計算機を利用
– コンソールログイン(ログオン)
• キーボードとディスプレイを使用
• シリアルコンソール
• リモート計算機を利用
– リモートログイン
• SSHやTELNETなど
• ネットワーク越しに遠隔の資源を利用
– ネットワークサービス
• NFS(Network File System)やsamba
• HTTP
利用者(ユーザー)の概念
• OSの中で異なる利用者を区別する
• OSの中では利用者は番号(UID)で識別される
• UIDと利用者名を結びつけるしくみがある
• UIDは所有者として付加される
– ファイル
– プロセス
• 一般利用者と別に特権を持つ利用者がある
– root とか Administrator がスーパーユーザーとか
管理者と呼ばれている、特権をもつ利用者である
例: UNIXにおけるログイン
1. initプロセスがgettyを起動
 このときの情報はinittabなどに書かれている
2.
3.
4.
5.
6.
7.
geetyはログインを受け付けるデバイスを初期化
gettyプロセスはユーザー名入力を待つ
gettyプロセスがユーザー名を引数にloginを起動
loginはパスワード入力を待つ
認証を行い、ログインが可能かどうかしらべる
ユーザーIDやセッションIDを設定しシェルを起動
 5と6は、いわゆるパスワードファイルを参照して決定する
8. シェルは当該ユーザーの初期化スクリプトを実行
9. プロンプトを出して入力を待つ
資源管理
• CPU時間
• プログラムサイズ
• データサイズ
• スタックサイズ
• ディスク使用量
• ファイル使用数
[sakai@star sakai]$ ulimit -a
core file size
(blocks, -c)
data seg size
(kbytes, -d)
file size
(blocks, -f)
max locked memory
(kbytes, -l)
max memory size
(kbytes, -m)
open files
(-n)
pipe size
(512 bytes, -p)
stack size
(kbytes, -s)
cpu time
(seconds, -t)
max user processes
(-u)
virtual memory
(kbytes, -v)
[sakai@star sakai]$
制限をかけることで他の利用者や
システムサービスに影響がないようにする
0
unlimited
unlimited
unlimited
unlimited
1024
8
8192
unlimited
4092
unlimited
UNIXにおけるシステムサービス
• サービスを提供するプロセス→Daemon(守護
神)
– Demon(悪魔)ではない。
• ネットワークサービス
– SSHd、HTTPd、FTPd、NFSdなど
• システムサービス
– init, bdflush, syslogdなど
アクセス制御の必要性
• 誰でもアクセスしていいのか?
– 来客者が勝手に使ってもいい?
• どこからアクセスしてもいいのか?
– ネットカフェからのアクセスもいい?
• 何でもアクセスしてもいいのか?
– リモートユーザーが計算機を停止してもいい?
アクセス制御
• ログインによる計算機の利用
– 時間帯や曜日
– 同時ログイン数
• デバイス
– ユーザーやグループ
– 利用者がローカルであるかリモートであるか
• ネットワーク
– IPアドレスやEtherアドレス
– プロトコル
– ネットワークデバイス
安全性
• 一般利用者の安全性
• 特権を持つ利用者に関する安全性
• 遠隔利用のときの安全性
– システムの安全性
– データの安全性
一般利用者の安全性
• パスワードにより利用者を特定する
• 利用可能な資源に制限をかける
• 利用可能なデバイスに制限をかける
• 電源やリセットスイッチに施錠する
• 利用可能なコマンドに制限をかける
一般利用者は何をしても大丈夫
特権を持つ利用者に関する安全性
特権を持つ利用者は何でもできてしまう
• パスワードにより利用者を特定する
• 特権を持つ利用者になれる人間を制限する
• ログインを制限する
– リモートログインの禁止
– ログインできるデバイスを制限する
遠隔利用のときの安全性
• システムの安全性
– リモートアドレスによる接続の制限
– サービスの制限
– 使い捨てパスワードの使用
– パケットのフィルタリング
• データの安全性
– データの暗号化
セキュリティ対策
• システムに欠陥が無い保障は無いのが現状
• 複数の制限機構を利用する
– カーネル内のパケットフィルタ
– デーモンにおける接続の制限
– アプリケーションにおける制限
– 部屋の施錠とか、スイッチの保護など物理的制限
– 不正利用を監視する
割り込み処理
• 割り込み処理の概念
文字どおり、実行の流れに「割り込み」ます…
• 割り込みハンドラ
「割り込む」ほうの処理について…
• 有効性
ポーリングと割込み
• 通常処理中に、随時、別処理の必要性を監視
• 例: 掲示板
それに対して
何かあったら連絡してくれたらいいのに…
というしくみを計算機に組み込んだものが
「割込み処理」である
割込み処理の概念
• 通常処理を中断させて、別の処理を行い、
通常処理を再開すること。
• 例:
1. 食事をしていたところ、電話が鳴った。
2. 箸を置いて、電話に応対した。
3. 再び箸を手に取り、食事を続ける
• 割り込まれた側に影響を与えてはいけない
– 実行だけは遅れるが…