LinuCレベル3 セキュリティスペシャリスト アクセスおよび権限制御の強化 問44
アクセスおよび権限制御の強化/SELinux による強制アクセス制御RHEL 9系のシステムで、テスト目的で /var/tmp/test.html のSELinuxタイプを一時的に httpd_sys_content_t に変更したい。この変更は restorecon を実行すると元に戻ってもよい。適切なコマンドはどれか。
当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「アクセスおよび権限制御の強化」に対応。実際の試験問題ではありません)
- Asemanage fcontext -a -t httpd_sys_content_t '/var/tmp/test.html'
- Brestorecon -v /var/tmp/test.html
- Cchcon -t httpd_sys_content_t /var/tmp/test.html
- Dsetsebool -P httpd_read_user_content on
正解:C
解説
chcon コマンドはファイルのSELinuxコンテキストを直接変更します。この変更はファイルシステムに保存されますが、restorecon を実行するかシステムのリラベルを行うとポリシーの定義に従って上書きされます。恒久的にコンテキストを変更したい場合は semanage fcontext でポリシーに登録したうえで restorecon で反映させる必要があります。restorecon はコンテキストを指定のタイプに変えるコマンドではなく、ポリシー定義に戻す操作です。setsebool はSELinuxブール値を変更するコマンドであり、ファイルのコンテキストは変更しません。
選択肢ごとの解説
- A誤り。semanage fcontext -a はポリシーデータベースに恒久的なコンテキストルールを追加するコマンドで、restorecon を実行した後も変更が維持される。一時的な変更には適さない。
- B誤り。restorecon は指定したファイルのコンテキストをポリシーの定義に従ったデフォルト値に戻すコマンドであり、コンテキストを任意のタイプに変更する機能はない。
- C正しい。chcon はファイルのSELinuxコンテキストを直接変更するコマンドで、変更はファイルシステムに保存されるが restorecon やリラベル操作で元に戻る。テスト目的の一時的な変更に適している。
- D誤り。setsebool はSELinuxのブール値を設定するコマンドで、ファイルのセキュリティコンテキストを変更する機能はない。