普通のシステムであれば、このようなログインシェルと環境を用意してしまうと、exampleユーザとしてログインするだけでシステムを自由に操作できるようになってしまいます。しかしTOMOYO Linuxは、それに当てはまりません。このユーザが、このログインシェルを経由してログインした際に実行させたい作業だけを、TOMOYO Linux側で許可してやればよいのです。
では実際に登録の流れをみていきます。
まずexampleユーザとしてsshログインします。すると、rootユーザとしてシェルが実行されます。実行できたことを確認したら一旦ログアウトし、学習モードをオンにします。
本当のrootユーザとしてログインし、CUIのポリシーエディタ/root/ccstools/editpolicyを実行します。
editpolicy
すると、図2のように、ドメイン遷移の一覧が階層構造で表示されます。

図2:ドメイン遷移の一覧画面 (画像をクリックすると別ウィンドウに拡大図を表示します)
ドメイン名の左側にある「0」という数字は、現在そのドメインに割り当てられているプロファイルの番号です。
画面をスクロールして/bin/sudobashの行を探してください。図3の赤枠で囲まれている範囲が/bin/sudobashというログインシェルから発生したドメイン遷移で、青枠で囲まれている範囲が/bin/bashというログインシェルから発生したドメイン遷移です。

図3:/bin/sudobashのドメイン (画像をクリックすると別ウィンドウに拡大図を表示します)
今回は赤枠の範囲を制御の対象とするので、赤枠の範囲に含まれるドメインをスペースキーで選択してから「s」キーを押し、「1」と入力します(図4)。

図4:学習モード用のプロファイルを割り当てる (画像をクリックすると別ウィンドウに拡大図を表示します)
その後、「Enter」キーを押すと、赤枠の範囲の数字が「0」から「1」に変化したことが確認できます(図5)。

図5:学習モードに切り替わった後の画面 (画像をクリックすると別ウィンドウに拡大図を表示します)
これで、赤枠の範囲が学習モードになりました。では実際に、exampleユーザに行わせたい操作を学習させましょう。ここでは例として、Apacheサーバの再起動だけを行えるようにしてみます。
|