SELinuxの状態を確認する
/usr/sbin/getenforce
- "Enforcing"なら有効
- "Permissive"なら無効
SELinuxを一時的に無効/有効にする
無効
/usr/sbin/setenforce 0有効
/usr/sbin/setenforce 1
SELinuxにアクセス拒否された結果のログを見る
/sbin/ausearch -m avc
- ログは /var/log/messages に出力されるという説明をよく見かけるが、手元の環境では /var/log/audit/audit.log に出力されている。
- "scontext"がアクセスしてきたプロセスの情報で、"tcontext"がアクセス対象のセキュリティコンテキストみたい。
- 参考:selinux - xField Wiki
各ディレクトリ・ファイルのセキュリティコンテキスト(ラベル)を見る
ls -aZ [パス]
セキュリティコンテキストを変更する
chcon -t <セキュリティコンテキスト> <パス> [-R]
- 最後の-RはリカーシブのR
- "setenforce 0"してから変更する必要がある
- 参考:第5回 タイプを変更してトラブルに対処する - 第一人者がやさしく教える新SELinux入門:ITpro
(複数のアプリケーションからアクセス可能にするやり方も書いてある。)
セキュリティコンテキストを規定の値に戻す
/sbin/restorecon -R <パス>
- 手元の環境では想定通りに動かなかった。使い方が違うのかな?
booleanを一覧表示する
/usr/sbin/getsebool -a
audit2allowでポリシーを変更
/usr/sbin/setenforce 0
audit2allow -M local -i <抜き出したログ>
/usr/sbin/semodule -i local.pp
/usr/sbin/setenforce 1
- ログ( /var/log/audit/audit.log )には許したいアクセス以外も含まれているので、"/sbin/ausearch -m avc"を使って該当箇所だけを抜き出してテキストファイルとして保存する
- setenforceは不要?
- 参考
時間があるなら、第一人者がやさしく教える新SELinux入門---目次 - 第一人者がやさしく教える新SELinux入門:ITproを一読したい。
ボリュームが多いけど、基礎から駆け足で学ぶのによさそう。
0 件のコメント:
コメントを投稿