前回は設定関連の基礎知識と,SSHやsyslogd,Apache HTTP Server(以下,Apache)をLIDSに対応させて動作させるときの簡単な設定手順を紹介した。今回は,前回の設定内容と設定用スクリプトを参照しながら,LIDSを管理するための「lidsadm」コマンドと,アクセス・コントロール・リスト(以下,ACL)を設定するための「lidsconf」コマンドの使い方を解説する。

lidsadmコマンドを用いてLIDSを管理する

 連載の第3回で説明したように,LIDS 2系列では,システムが起動してから停止するまでを3つの状態(ステート)に分けている。

(1)起動段階(BOOTステート):起動からログインを経てカーネルを封印するまで。

(2)稼働段階(POSTBOOTステート):カーネルを封印してからシャットダウンを実行するまで。

(3)停止段階(SHUTDOWNステート):シャットダウンを実行してから停止するまで。

これらのステートの遷移は,lidsadmコマンドで行う。例えば,カーネルを封印してBOOTステートからPOSTBOOTステートに移行するには,

# lidsadm -I

を実行する。また,POSTBOOTステートからSHUTDOWNステートに移行するには

# lidsadm -S -- +SHUTDOWN

を実行する。
 このように,よく使用するlidsadmコマンドのオプション(表1)を順番に説明する。

表1●lidsadmコマンドのオプション

オプション 説明
-v バージョンを確認する lidsadm -v
-V LIDSの情報(ケーパビリティ・バウンディング・セットと状態フラグ)を見る lidsadm -V
-S LIDSの状態フラグを変更する lidsadm -S -- +RELOAD_CONF
-I カーネルを封印する lidsadm -I
-h ヘルプを表示する lidsadm -h

●lidsadm -V

図1●「lidsadm -V」を実行したときの画面出力
 このコマンドを実行すると,カーネルに読み込まれているLIDSの情報が表示される(図1[拡大表示])。図1で「CAP_CHOWN 0」のように「CAP_***」と表示されている個所は,コマンド発行時点のステートのケーパビリティ・バウンディング・セットである。値が「0」の場合は,プロセスにそのケーパビリティが与えられないことを意味する。逆に「1」の場合は,プロセスにケーパビリティが与えられる。
 「LIDS 0」の行以下は,LIDSの状態を表すフラグ(以下,状態フラグ)である。状態フラグの概要を表2に示す。
 連載第3回で述べたように,LIDS 2系列では各ステート(BOOT,POSTBOOT,SHUTDOWN)ごとに,ケーパビリティ・バウンディング・セットやファイルに関するACLを設定できる。システムの現在のステートを確認したい場合は,状態フラグの中のPOSTBOOTフラグとSHUTDOWNフラグの値を見れば分かる(表3)。

表2●LIDSの状態を表すフラグ(状態フラグ)の概要

状態フラグ 説明
LIDS LIDSを,そのパラメータを変更したシェル内でのみ有効あるいは無効にする 有効=1 無効=0
LIDS_GLOBAL LIDSをシステム全体で完全に有効あるいは無効にする 有効=1 無効=0
RELOAD_CONF このパラメータを指定することにより,/etc/lids以下に再度作成した設定ファイルを読み込む 値自身は変化しない
POSTBOOT 現在のステートを表す POSTBOOTに移行すると1になる
SHUTDOWN 現在のステートを表す SHUTDOWNに移行すると1になる
ACL_DISCOVERY ACL_DISCOVERYモードを有効あるいは無効にする 有効=1 無効=0

表3●各ステートと状態フラグの関係

ステート フラグ
BOOT POSTBOOT=0
SHUTDOWN=0
POSTBOOT POSTBOOT=1
SHUTDOWN=0
SHUTDOWN POSTBOOT=1
SHUTDOWN=1

●lidsadm -I
 先に紹介したように,このコマンドによりカーネルを封印できる。BOOTステートのシステムに対してこのコマンドを発行することで,カーネルを封印してPOSTBOOTステートに移行できる。

●lidsadm -S -- +(-)"状態フラグ"
 このコマンドにより,LIDSの状態フラグの値を変えられる。例えば,「LIDS」フラグの値を「0」にする(無効にする)場合は,
# lidsadm -S -- -LIDS
を実行する。逆に,「1」にする(有効にする)場合は,
# lidsadm -S -- +LIDS
を実行する。
 状態フラグの意味は,大まかに3種類に分類できる。

(a)ACLをチューニングする際に使用するもの。値を変える際には,lidstoolsをインストールするときに設定したパスワードが必要になる。

 (i)LIDSフラグ
  このパラメータを「0」にすると,そのターミナル(端末セッション)のみで「LIDS Free Session(以下,LFS)」を開くことができる(lidsadm -S -- -LIDS)。そのため,このターミナルではLIDSは無効になる。そのほかのターミナルではLIDSは有効になったままである。LFSを使用することにより,LIDSの設定を変更するなどのチューニングが行える。LFSから“抜ける”(そのターミナルでLIDSを有効にする)には,このパラメータを1にすればよい(lidsadm -S -- +LIDS)。

 (ii)LIDS_GLOBALフラグ
  このパラメータを「0」にすると,システム上でLIDSが完全に無効になる(lidsadm -S -- -LIDS_GLOBAL)。これもLIDSの設定を変更する際に使用できる。2個所以上のさまざまな場所からシステムを変更したい場合や,スクリプトを用いてコマンドを使用したい場合などに用いる。再びLIDSを有効にするには,このパラメータを「1」に戻せばよい(lidsadm -S -- +LIDS_GLOBAL)。

 (iii)RELOAD_CONFフラグ
  このフラグは常に「0」であるが,「+」を指定してコマンド(lidsadm -S -- +RELOAD_CONF)を実行することにより,LFSで変更したACLをシステムに読み込ませることができる。これも,システム設定のチューニング時に用いるフラグである。

(b)ステートを変更するもの。この種類のパラメータは「1」にすることはできるが,「0」にすることはできない。

 (i)POSTBOOTフラグ
  このパラメータを「1」にすることにより,システムをPOSTBOOTステートにできる。通常は,カーネルを封印したときに自動的に「1」になる。

 (ii)SHUTDOWNフラグ
  このパラメータを「1」にすることにより,システムをSHUTDOWNステートにできる。

(c)ACL_DISCOVERYを変更するもの。値を変える際には,lidstoolsをインストールするときに設定したパスワードが必要になる。

 (i)ACL_DISCOVERYフラグ
  このパラメータを「1」にすることにより,システムをACL_DISCOVERYモードにできる。ACL_DISCOVERYモードの説明は後述する。