SELinuxラベルをsemanageでシンボリックリンクに割り当てて、ラベルの再作成後も保持されるようにするにはどうすればよいですか?


12

私のApache DocumentRoot / var / wwwは、別のパスへのシンボリックリンクです。ターゲットは適切なファイルコンテキストラベル(httpd_sys_content_t)を持っているため、apacheはSELinuxを有効にしてそれを読み取ることができます。ただし、シンボリックリンク自体にはvar_tというラベルが付いています。

[root@localhost var]# ls -lZ
lrwxrwxrwx. root root unconfined_u:object_r:var_t:s0 www -> /srv/www

httpd_sys_content_tでシンボリックリンクのラベルを変更する必要があります。

-hオプションを指定してchconを実行すると、最初は動作するようです:

[root@localhost var]# chcon -h -t httpd_sys_content_t /var/www
[root@localhost var]# ls -lZ
lrwxrwxrwx. root root unconfined_u:object_r:httpd_sys_content_t:s0 www -> /srv/www

ただし、これは再ラベル付けでは無効です。

[root@localhost var]# restorecon -Rv .
restorecon reset /var/www context system_u:object_r:httpd_sys_content_t:s0->syst
em_u:object_r:var_t:s0

semanageを使用しても、リンク自体のラベルは変更されません。ターゲットのみ:

[root@localhost var]# semanage fcontext -a -t httpd_sys_content_t /var/www
[root@localhost var]# restorecon -Rv .
[root@localhost var]# ls -lZ
lrwxrwxrwx. root root unconfined_u:object_r:var_t:s0 www -> /srv/www

semanageには-hオプションはありません。

再ラベル後もhttpd_sys_content_tのままになるように、リンク自体のラベルを設定するためにsemanageを取得するにはどうすればよいですか?


うわー、私はこの1つのための人気の質問バッジを取得し、投票しませんか?
スティーブンT.スナイダー

回答:


9

私はそれを考え出した:

semanageには、-fモードフィールドに表示されるファイルタイプlsdディレクトリ、--通常のファイル、lリンク)を指定できるオプションがあります。ときに-f -l使用され、リンク自体を対象としています。

[root@localhost var]# semanage fcontext -f -l -a -t httpd_sys_content_t /var/www
[root@localhost var]# restorecon -Rv .
restorecon reset /var/www context system_u:object_r:var_t:s0->system_u:object_r:httpd_sys_content_t:s0

semanage-fcontextmanページを参照してください。


3
この答え-f -lは、それが記述されたときに有効だった構文であるため、正しく使用します。semanage(EL7)の以降のバージョンではを使用します-f l
user9517
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.