So stellen Sie SELinux so ein, dass ein CGI-Skript eine Datei erstellen kann

So stellen Sie SELinux so ein, dass ein CGI-Skript eine Datei erstellen kann

Ich schreibe ein CGI für httpd unter CentOS 7, das Dateien in einem Verzeichnis unter Home erstellt und schreibt. Wenn ich SELinux aktiviere, tritt ein interner Serverfehler auf. Wie kann ich SELinux einrichten?

Der Befehl sudo ausearch -m AVC,USER_AVC -ts recentzeigt unten einen Fehler an.

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

Der Kontext des Verzeichnisses wird wie unten festgelegt.

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

verwandte Informationen