启用selinux后,nginx如何访问其默认虚拟主机文件?

启用selinux后,nginx如何访问其默认虚拟主机文件?

据我所知,正在安全上下文nginx中运行,而例如, 是其中之一:httpd_tindex.htmlusr_t

$ ps auxZ | grep 'nginx.*worker'
system_u:system_r:httpd_t:s0    nginx    13734  0.0  0.2 112948  3600 ?        S    02:07   0:00 nginx: worker process

$ ls -Z /usr/share/nginx/html/index.html
-rw-r--r--. root root system_u:object_r:usr_t:s0       /usr/share/nginx/html/index.html

我这里运行的是 CentOS 7,如果有的话。

答案1

据我所知:

$ sesearch -A -t usr_t -p read | grep 'httpd usr_t'
   allow httpd_t usr_t : file { ioctl read getattr execute execute_no_trans open } ;
   allow httpd_t usr_t : dir { ioctl read getattr lock search open } ;
   allow httpd_t usr_t : lnk_file { read getattr } ;

据推测,这意味着 Web 服务器可以访问usr_t文件。另外,我听说它usr_t具有广泛的可读性。

相关内容