我想允许httpd从用户的主目录执行文件。 从audit2allow我明白,这意味着以下政策:
allow httpd_t user_home_t:file execute;
如何将其转换为在CentOS服务器上启用此策略的脚本? 我已经为httpd_read_user_content和httpd_enable_homedirs启用了布尔值,但没有帮助。
使用chcon工程,但是当你重新启动服务器时你失去了selinux标签,更清晰的方法是使用semange和restorecon
例:
semanage fcontext -a -t httpd_user_script_exec_t '/home/pippo/file.bash' restorecon -v /home/pippo/file.bash restorecon reset /home/pippo/file.bash context unconfined_u:object_r:user_home_t:s0->unconfined_u:object_r:httpd_user_script_exec_t:s0 -rwxr-xr-x. root root unconfined_u:object_r:httpd_user_script_exec_t:s0 /home/pippo/file.bash
针对Web服务器的常见SELinux安全策略提供了一组可供普通用户用来告诉SELinux Web服务器如何在指定文件上运行的types。 用户可以使用chcon命令将这些types与指定的文件和目录相关联。
这些types中的每一个都有特定的属性,专门用于特定目的。
httpd_user_script_exec_ttypes是您的Web服务器允许执行的types。 另外还有一些与这种types相关的规则,它指示SELinux从webservers进程types到为通用用户cgi脚本进程特别devise的进程types运行脚本进程,并将其称为“自动进程types转换”。 这种types与大多数cgi脚本进程通用的一组特定的权限相关联。
httpd_user_rw_content_ttypes是允许您的Web服务器读取和写入的types。 (例如〜/ public_content / myblog / wp_content)
httpd_user_content_ttypes是允许您的web服务器读取的types(例如〜/ public_content)
httpd_user_content_ra_ttypes是允许您的web服务器读取和追加的types(例如〜/ public_content / myblog / logs)
当您将httpd_enable_homedirs布尔值切换到on时,这些types通常会很有用。 这个布尔值与允许你的web服务器遍历$ HOME的规则有关,例如它可以达到〜/ public_content。
使用上面的types和布尔值应该确保相当不错的完整性。 例如你的networking服务器将无法读取你的〜/ .ssh或〜/ Documents,但能够读取你的网站。
用户cgi脚本进程也将被包含,所以如果它被攻破,它所能做的损害被包含在合理的范围内。