SELinux httpd对目录的写访问


9

我是SELinux的新手。来自debian。我想授予httpd目录访问权限。

SELinux Alert Browser建议:

# grep httpd /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp 

我不明白这个命令是如何工作的。我没有在任何地方指定目录路径。它怎么知道允许httpd的目录?

以前,我曾使用grep从输出或文件中提取文本。但是这里grep正在一个进程中使用。我没有得到。

还有什么实际的解决方案。如果我想授予httpd对目录的写权限?


4
为了回答您的其他问题,audit2allow读取SELinux日志文件并编写一条策略,允许所有被阻止的内容;目录名称将出现在日志消息中。通过对httpd进行grepping,您可以对其进行一些限制,但是该方法仍然比应有的更广泛。
miken32

Answers:


17

永久更改目录上下文的方法如下:

# install semanage if you don't already have it:
yum install policycoreutils-python

# give the directory a new default context. The part at the end is a regex.
semanage fcontext -a -t httpd_sys_rw_content_t "/path/to/directory(/.*)?"

# apply the default context to the directory
restorecon -R /path/to/directory

这是有关httpd不同上下文的更多文档:

RHEL 7:https//access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/SELinux_Users_and_Administrators_Guide/sect-Managing_Confined_Services-The_Apache_HTTP_Server-Types.html

RHEL 6:https//access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/6/html/Managing_Confined_Services/sect-Managing_Confined_Services-The_Apache_HTTP_Server-Types.html


完美!在Fedora 26中为我工作,policycoreutils-python已默认安装。
弗纳爵士(Sir_Faenor)'17

5

SELinux使用扩展属性,这些属性可以附加到磁盘上的目录结构中。想想这些是否作为元数据。访问控制列表(ACL)是另一个。

您需要附加到目录的扩展属性称为上下文,SELinux的行为类似于交通警察,请确保允许具有某些上下文的可执行文件基于这些上下文访问文件系统。您可以使用-Z切换至,查看目录中的可用内容ls

$ sudo ls -Z /var/www
drwxr-xr-x. root root system_u:object_r:httpd_sys_script_exec_t:s0 cgi-bin
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 html

在这里,您可以看到这些目录httpd_sys_script_exec_t:s0cgi-bindir 上具有上下文。和html目录。有httpd_sys_content_t:s0

您可以使用以下chcon命令添加它们:

$ sudo chcon -t httpd_sys_content_t public_html

您要询问的命令只会加载模块,mypoll.pp我不认为它会授予任何权限,这可能会audit.log导致您丢失了更多消息,这些命令会更详细地告诉您所需的信息允许访问。

我鼓励您花一些时间并熟悉SELinux。乍一看令人困惑,但花了一些时间后,通常很简单。请参阅下面的资源以开始使用。

参考文献


谢谢。我会通过他们。但是,您现在可以告诉我我需要做些什么才能授予对该目录的写访问权吗?
Neel Basu 2014年

如果您希望Apache读取其内容,则可能需要将此上下文添加到dir:chcon -R -t httpd_sys_content_t <dir>
slm
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.