LinuCレベル3 セキュリティスペシャリスト システム保護と監査 問28
システム保護と監査/カーネルセキュリティとシステムリソース保護Debian 12で cgroup-tools パッケージ(libcgroup)のコマンドを使い、cgcreate で作成した cpuset サブシステムの「batch」グループを削除するコマンドとして適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「システム保護と監査」に対応。実際の試験問題ではありません)
- Acgset -r cpuset.cpus=0 cpuset:batch
- Brmdir /sys/fs/cgroup/cpuset/batch
- Ccgget -g cpuset:batch
- Dcgdelete -g cpuset:batch
正解:D
解説
cgroup-tools(libcgroup)パッケージには cgcreate(作成)・cgset(パラメータ設定)・cgclassify(プロセス割り当て)・cgdelete(削除)・cgget(パラメータ取得)などのコマンドが含まれます。cgdeleteは cgcreate で作成したcgroupグループを削除するコマンドで、-g オプションで「サブシステム:グループ名」を指定します。低レベルには /sys/fs/cgroup/ を直接 rmdir する方法もありますが、cgroup-toolsのコマンドを使う場合は cgdelete が正しい操作です。
選択肢ごとの解説
- A誤り。cgset はcgroupのリソース制限パラメータを変更するコマンドであり、グループを削除する機能はない。グループを削除するには cgdelete コマンドを使う。
- B誤り。/sys/fs/cgroup/cpuset/batch を rmdir することでも cgroup を削除できるが、質問は「cgroup-tools のコマンドを使う」という条件であり、この直接操作は該当しない。
- C誤り。cgget はcgroupのパラメータを読み取るコマンドであり、グループを削除する機能はない。cgcreate で作成したグループを削除するには cgdelete コマンドを使う。
- D正しい。cgdelete は cgcreate で作成したcgroupグループを削除するコマンドで、-g サブシステム:グループ名 という書式で対象を指定する。cgdelete -g cpuset:batch でcpusetサブシステムのbatchグループを削除できる。