最初に言っておく!
正直まだ使いこなせていないし、よく分かっていない!
ファイルの属性値
属性値の確認方法
ファイルにSELinux用の属性値のようなものが割り当てられており、これに応じてセキュリティが作動する模様。
以下はサーバ証明書の例である。属性値は”unconfined_u:object_r:cert_t:s0″の箇所。”-Z”オプションにより参照可能。
私の例では、nginxがHTTPS通信のためにファイルを参照しようとしたところエラーが発生していた。
もちろんグループにnginxを入れていたし問題ないはずと思っていたがエラーに…。
そんな時にSELinuxが有効になっていることを思い出して調べてみると、この属性値を変更する必要があったみたい。
lls -lZ ./
合計 20
-rw-r-----. 1 root nginx unconfined_u:object_r:cert_t:s0 1766 1月 23 14:12 servername.key
-rw-r-----. 1 root nginx unconfined_u:object_r:cert_t:s0 4233 1月 23 14:01 ssl_combined.crt
属性値の変更方法
つまり上のファイルの属性値を下の”-t”オプションに指定したことになります。
ちなみにファイルだけでなく、ディレクトリも可能だそうです。
“semanage”は指定ファイルの属性値を専用の設定ファイルに保存し、”restorecon”はその設定ファイルの内容を実際に反映する、というものだ。
一時的な設定も可能なようなのでこちらを参照してください。
semanage fcontext -a -t 属性値 ファイル
restorecon -v ファイル