如何设置 SELinux 以允许 CGI 脚本创建文件

如何设置 SELinux 以允许 CGI 脚本创建文件

我正在为 CentOS 7 上的 httpd 编写一个 CGI,它在 home 下的目录中创建和写入文件。当我启用 SELinux 时,它会导致内部服务器错误。我该如何设置 SELinux?

该命令sudo ausearch -m AVC,USER_AVC -ts recent显示下面的错误。

time->Fri Sep 24 09:03:23 2021
type=PROCTITLE msg=audit(1632441803.684:10739412): proctitle=2F7573722F62696E2F707974686F6E330075706C6F61642E636769
type=SYSCALL msg=audit(1632441803.684:10739412): arch=c000003e syscall=2 success=no exit=-13 a0=7f69aa9978c0 a1=a00c2 a2=180 a3=3 items=0 ppid=12020 pid=5135 auid=4294967295 uid=1018 gid=1018 euid=1018 suid=1018 fsuid=1018 egid=1018 sgid=1018 fsgid=1018 tty=(none) ses=4294967295 comm="upload.cgi" exe="/usr/bin/python3.6" subj=system_u:system_r:httpd_user_script_t:s0 key=(null)
type=AVC msg=audit(1632441803.684:10739412): avc:  denied  { add_name } for  pid=5135 comm="upload.cgi" name="16r3sq_k" scontext=system_u:system_r:httpd_user_script_t:s0 tcontext=unconfined_u:object_r:httpd_user_script_exec_t:s0 tclass=dir permissive=0

目录的上下文设置如下。

$ ls -ldZ uploaded
drwxrwxr-x. user user unconfined_u:object_r:httpd_user_rw_content_t:s0 uploaded

相关内容