Mat*_*att 7 selinux centos nginx
我知道我对 SElinux 有问题。所以我正在学习一个教程,它将帮助我了解我遇到的文件访问问题的性质。那是我仍然可以按照应该禁用它的方式强制执行 SElinux。
基本上,我已将 SElinux 设置为许可模式以进行测试,并完成了一个在执行时会失败的文件操作。这样我就会看到日志中的消息是什么样的。这样的一行看起来像这样:
type=USER_CMD msg=audit(1452912989.069:324790): pid=66581 uid=1001 auid=1001 ses=1352 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='cwd="/srv/dpca/www" cmd=7461696C202F7661722F6C6F672F61756469742F61756469742E6C6F67 terminal=pts/0 res=success'
Run Code Online (Sandbox Code Playgroud)
现在,由于我对此非常陌生,因此我参考了教程以及它如何audit2why
为我进行布局。
[matt@localhost www]$ sudo grep 1452912989.069:324790 /var/log/audit/audit.log | audit2why
Nothing to do
Run Code Online (Sandbox Code Playgroud)
将grep
不会返回正确的文本。然而,audit2why
似乎正在返回“无事可做”。
有什么基本的我做错了吗?一天结束时,我试图找出分配给某些 NGINX 目录的上下文。我确信我可以只查找它们,但我也想了解我在做什么,只是运行我在互联网上看到的命令。
如果您好奇,这是我的 Web 根目录上下文的一小段
drwxr-xr-x. nginx nginx unconfined_u:object_r:httpd_sys_content_t:s0 administrator
drwxr-xr-x. nginx nginx unconfined_u:object_r:httpd_sys_content_t:s0 bin
drwxr-xr-x. nginx nginx unconfined_u:object_r:httpd_sys_content_t:s0 cache
Run Code Online (Sandbox Code Playgroud)
注意:我仍然对我的问题的答案感兴趣,但我确实想发布一个我正在使用的解决方法,如果按audit2why
我预期的方式工作,它会提供同样有用的信息。
CentOS.org 上的 SELinux Howto下有一个故障排除部分。其中讨论了如何使用sealert
从日志“/var/log/audit/audit.log”中解析出的人类可读信息。所以简单地运行
sudo sealert -a /var/log/audit/audit.log > ~/logfile.txt
Run Code Online (Sandbox Code Playgroud)
允许我阅读我想要的信息并获得有关我的 Web 目录的正确安全上下文的建议。
SELinux is preventing /usr/sbin/php-fpm from write access on the directory /srv/dpca/www/images.
***** Plugin httpd_write_content (92.2 confidence) suggests ***************
If you want to allow php-fpm to have write access on the images directory
Then you need to change the label on '/srv/dpca/www/images'
Do
# semanage fcontext -a -t httpd_sys_rw_content_t '/srv/dpca/www/images'
# restorecon -v '/srv/dpca/www/images'
Run Code Online (Sandbox Code Playgroud)
再说一遍,如果有人知道我最初的问题,audit2why
我仍然想知道。
归档时间: |
|
查看次数: |
2469 次 |
最近记录: |