第9回 lidstoolsを使ってACLを設定する

面 和毅
サイオステクノロジー株式会社
インフラストラクチャービジネスユニット
Linuxテクノロジー部
OSSテクノロジーグループ
シニアマネージャ
2006/8/9

 LIDSとinode情報の関係

 このようにlidsconfコマンドでACLを編集するということは、lids.XXX.confファイルやlids.confファイルに、決められたフォーマットに従った設定行を追加するということと等価になります。

 また、LIDSでは設定ファイルの中で、SubjectやObjectの情報をすべてinodeとデバイス番号で取り扱っています。そのためaptコマンドやyumコマンドなどでパッケージを更新した際に、プログラムの絶対パスは同じでもinode番号が変わってしまった場合には、この設定ファイル中のinode番号を新しいものにアップデートする必要があります。

 その際に使用するコマンドが「lidsconf -U [ステート]」コマンドです。このコマンドにより各ステートのlids.XXX.confファイル中のinode番号が、Subjectのプログラムから調べた現在のinode番号に変更されます。当然、設定ファイルを変更することになりますので、LFS(LIDS Free Session)上かLIDSを無効にした状態で実行する必要があります。

 lids.XXX.capファイルについて

 lids.XXX.capファイルやlids.capファイルに関しては、別途viなどを使って手動で編集することになります。表記は第3回で示したように、それぞれのケーパビリティの左側に付いている「+」「-」が、そのケーパビリティをケーパビリティバウンディングセットでそれぞれ「ON」「OFF」にするという意味になっています。この部分を変更して各ステートでのケーパビリティバウンディングセットを調整します。

 Globalと各ステートの設定の関係

 Global での設定と各ステートの設定の関係は図2のようになっています。

図2 Globalの設定と各ステートの設定の関係

 Globalの設定ファイルと各ステートの設定ファイルから、最終的に各ステートでのACL、プロセス別のケーパビリティ、ケーパビリティバウンディングセットが決定されます。ここで重要なことは、Globalの設定と各ステートの設定が異なった場合には、各ステートの設定が優先されるということです。

 ACLの優先順位

 図3のように/tmpディレクトリに対してGlobalでREADONLY、BOOTステートでWRITEが指定されたとします(以下「指定」というときは、明示的にそのディレクトリ/ファイルを指定していない状態で、親ディレクトリからパーミッションを継承した場合も含めます)。

図3 /tmpディレクトリに対するパーミッションの指定

 BOOTステートでは、BOOTステートの設定が優先されますので/tmpディレクトリがWRITEになります。

 また、POSTBOOTステートでは、lidsconfコマンドを使わず、/tmpの設定をREADONLYから変更していません。つまり、POSTBOOTステートでは/tmpに対する個別の設定がないという状態ですのでGlobalのACLのままが適用され、READONLYとなります。

 SHUTDOWNステートでは、lidsconfコマンドで/tmpディレクトリをWRITEに指定していますので、SHUTDOWNステートの個別の設定が適用されてWRITEとなります。

 このように、システムにはまずGlobalでのACLが適用されます。その後、各ステートで個別に設定したACLが最終的に優先される形になります。従って、LIDSでACLを設定していく際には、まず一般的な(各ステートで共通な)設定をGlobalで指定し、次に各ステート固有のACLを指定していくという順番で設定を行うことになります。

 ケーパビリティバウンディングセットの優先順位

 ケーパビリティバウンディングセットの場合も同様に、Globalで指定されているセットよりも各ステートで指定されているセットの方が優先されます。プログラムが実行される際には、それぞれのステートのケーパビリティバウンディングセットと個別のステートで与えられているケーパビリティの両方が参照されます。

 次回からは、実際のアプリケーションを使ってACL/ケーパビリティの設定方法を紹介します。 

2/2
 

Index
lidstoolsを使ってACLを設定する
  Page1
lidsconfコマンドと設定ファイルとの関係
lidsconfコマンドとconfファイルの対応
Page2
LIDSとinode情報の関係
lids.XXX.capファイルについて
Globalと各ステートの設定の関係
ACLの優先順位
ケーパビリティバウンディングセットの優先順位


Profile
面 和毅(おも かずき)

サイオステクノロジー株式会社
インフラストラクチャービジネスユニット Linuxテクノロジー部
OSSテクノロジーグループ
シニアマネージャ

 学生時代よりUNIXに親しむ。1997年からサーバ構築およびセキュリティ全般を扱う仕事に従事、Linuxを使い始める。

 現在はLIDSの普及活動に注力。LIDSユーザ会(LIDS-JP)の立ち上げやLIDS関連文書の日本語化、LIDSを用いたシステム構築の紹介などを行っている。また、サイオステクノロジーでビジネス面でのLIDSの普及活動に注力している。

 2005年12月より、LIDS Teamに参加し、LIDSの公式な開発チームの一員として活動している。

Security&Trust記事一覧


Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間