chcon の使い方
SELinux のラベルを直接変える
書き方
sudo chcon -t タイプ パス sudo chcon -R -t タイプ ディレクトリ
今のラベルだけを書き換えます。restorecon や再ラベルで元に戻るので一時的。ずっと使う場所は semanage fcontext で規則を足して restorecon します。
よく使うオプション
| オプション | 意味 |
|---|---|
-t タイプ | ラベルのタイプだけを変える(httpd_sys_content_t など) |
-R | ディレクトリの中も下までたどって変える |
--reference=ファイル | ほかのファイルと同じラベルにする |
-v | 変えたファイルを出す |
例
$ sudo chcon -t httpd_sys_content_t /srv/site/index.html
1 つのファイルのタイプを、Web サーバーが読めるものに書き換えます。動くか試すときに使います。
$ sudo chcon -R -t httpd_sys_content_t /srv/site
ディレクトリの中をまとめて書き換えます。
$ sudo chcon --reference=/var/www/html /srv/site
/var/www/html と同じラベルにします。タイプの名前を覚えていなくても使えます。
よくある間違い・注意
- chcon の変更は一時的です。restorecon やシステムの再ラベルで規則どおりに戻ってしまいます。
- ずっと使う場所は、semanage fcontext -a で規則を足してから restorecon します。
実際に打って練習する
Linux レベル2 コースの Lv7「印を書き換える chcon」で覚えます(第1章 結界(firewalld と SELinux))。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
すべてのレベルが、ゴールド以上のプランで遊べます。