name: orientation class: title, smokescreen, shelf, no-footer # クラウドコンピューティング<br><small>第03回 ユーザの権限</small> <div class=footnote> <small><small> 3年、秋学期、選択; 旧「オペレーティングシステム」 ;脚注はELや定期試験の範囲ではありません <br> </small></small> </div> --- class: compact # TSSはマルチユーザ <div class=footnote> <small><small> </small></small> </div> - TSSの特徴の一つはマルチユーザです(前回の復習) - 当然コンピュータはユーザを区別する必要があります - コンピュータには安易に操作してはいけない機能や部品があります <small> - つまり、ユーザには「やっていいこと」「わるいこと」があります - 大きく分けて、一般ユーザと管理者ユーザ(root)があります - ようするに管理者とは「危ない操作ができる」ユーザです </small> --- class: compact # ユーザの区別 <div class=footnote> <small><small> (脚注1) 演習で確認しましょう <br> (脚注2) ユーザの登録や削除は専用の管理コマンド(たいていuseradd/userdel)で行います。 ふだんは、サーバ管理者でない限り使うことのないコマンドですが、 Dockerfileを書こうとすると必要になる知識でしょう。 本科目の標準コースではdockerは扱いませんが、 授業設計の想定としては、 簡単なdockerコンテナの設定ファイル(Dockerfile)を読み書きできる程度の内容を考えているのです </small></small> </div> - コンピュータは数字をあつかうのが得意です - 各ユーザには登録時に一意の数字を割り当てます - Unixではuid(user idの略)と呼んでいます - ただしuid = 0は特別で、管理者ユーザです - 設定は/etc以下にあるファイルに書かれています<small>(脚注)</small> --- class: compact # 一般ユーザadminに、できること、できないこと <div class=footnote> <small><small> (脚注1) 本科目の演習環境の場合、ユーザadminのUIDは1000です。あとで確認してみましょう <br> (脚注2) ユーザの設定はOSごとに異なります。これは、あくまでもAWSのdebianイメージの場合です </small></small> </div> - できること <small> - 日常よくおこなう一般操作はデフォルトで許されています(そうでないと不便でしょ?) <br> 例: ファイルの作成や編集、アプリの操作、ネットワークの利用 </small> - できないこと <small> - Unixの管理(つまり危ない操作)全般: OSの設定変更、電源OFFなど </small> --- class: compact # 管理者ユーザrootに、できること、できないこと <div class=footnote> <small><small> (脚注1) ユーザ権限は (a)プロセスにも (b)プロセスが利用する機能(e.g. network)にも影響を与えます。 詳細は、(a)は第4回、(b)は第5回 <br> (脚注2) ふつうハードウエア(PC)に干渉する操作は出来ません。 PCと協調できればUnix側から操作できることもあります。 たとえばUnix側から電源OFFが出来ますが、 これはPCが提供する仕組みを使っています。 実行中に、カーネルの動作を大きく変更することも出来ません。 もちろん、Unixのソースコードを改変してリビルドし、Unixの中身を入れ替えるなら、(Unixの変更は)なんでもできます </small></small> </div> - できること <small> - 一般ユーザが出来ることは、すべて出来ます(あくまでもユーザの一人なので、当然できます) - 管理コマンド群を使う各種Unixの管理: ユーザ、ファイルシステム、デバイス、ネットワーク ... - サーバの起動/停止/再起動 - カーネルチューニング(カーネルのパラメータを変更することで挙動を少し変更できます) </small> - できないこと <small> - ほぼ、ありません<small>(脚注2)</small> </small> --- class: compact # 一時的にroot権限を取得して管理コマンドを使う <div class=footnote> <small><small> (脚注1) あらゆる設計において「"Principle of Least Priviledge" (最小権限の原則)」は正しいので、 よく覚えておいてください。 そして、覚えるだけでなく、この原則を心がけて設計してください </small></small> </div> - ユーザrootは極力つかわない、必要な場面で一時的に使う<B>(最小権限の原則)</B> - 権限を奪取するコマンド - su ... Unix伝統のコマンド - sudo ... Linux文化圏の人たちが作ったコマンド <br> (演習環境はdebianなので主にsudoを利用)