修复selinux安全上下文值

引言

  在做网站的时候总会遇到一些各种各样的问题,selinux真是让人又爱又恨,爱的是能有效保证文件系统的安全,恨的是有些时候做一些服务或者操作时不得不把selinux暂时关闭,接下来写一个最近遇到很多次的selinux安全上下文故障

selinux处于Enforcing模式

故障原因:脚本文件安全上下文值为默认值,selinux禁止php-fpm查看/使用文件导致网站页面报错

解决方案

把/var/www/html/shells目录里的脚本文件的安全上下文值改为httpd_sys_rw_content_t

通过 SELinux 的默认文件上下文规则,让指定目录下的文件自动继承正确的安全上下文。

1. 添加目录的默认安全上下文规则

#在路径中使用正则表达式,如“/var/www/html/shells(/.*)?”来匹配所有子目录和文件。
semanage fcontext -a -t httpd_sys_rw_content_t “/var/www/html/shells(/.*)?”

2. 立即应用新规则到目录及现有文件
restorecon -Rv /var/www/html/shells/

如果文件已存在且需要批量修复安全上下文:

1. 检查当前目录的安全上下文
ls -lZ /var/www/html/shells/

2. 递归修复目录下所有文件的安全上下文
restorecon -Rv /var/www/html/shells/

以后传输文件的操作步骤

1.cp -a /shell/a.sh  /var/www/html/shell/

2.递归修复文件安全上下文值(前提已配置selinux默认规则)

restorecon -Rv /var/www/html/shell/

3.修改所有者所有组为apache

chown apache:apache /var/www/html/shell/

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部