Nginx
啟用 selinux 後,nginx 如何訪問其預設的虛擬主機文件?
據我所知,
nginx
是在httpd_t
安全上下文中執行,而index.html
,例如,是usr_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,如果有的話。
據我所知:
$ 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
具有廣泛的可讀性。