Setzen Sie SELinux auf Erzwingen.
Bevor Sie beginnen:
Prüfen Sie, ob die folgenden Packages in Oracle Linux installiert sind:
rpm -q selinux-policy-targeted policycoreutils libselinux-utils libselinux-python libselinux
Hinweis
Wenn Sie den SELinux-Modus von "Berechtigt" oder "Deaktiviert" in "Erzwingen" ändern, müssen Sie neu starten.
Erstellen Sie eine Policy, und stellen Sie sicher, dass PAM funktioniert, wenn SELinux auf Erzwingen gesetzt ist:
-
Installieren Sie bei Bedarf die folgenden Packages unter Oracle Linux:
rpm -q selinux-policy-targeted policycoreutils libselinux-utils libselinux-python libselinux
-
Ausgehende Kommunikation bei 443 zulassen:
$ sudo setsebool -P nis_enabled 1
++
-
Erstellen Sie eine lokale Policy, damit
sssd_t das Verzeichnis opc erstellen kann, um es zu erstellen, zu lesen und in die Datei pam_nss.log zu schreiben (siehe /etc/opc.conf). Sie muss sich nicht an einem bestimmten Speicherort befinden, weil sie von den SELinux-Utilitys kompiliert wird.
-
Erstellen Sie die Policy-Datei, und speichern Sie sie unter dem Dateinamen
idcs-pam.te. Dies ist der Inhalt:
module idcs-pam 1.0;
require {
type sssd_var_log_t;
type var_log_t;
type sshd_t;
type sssd_t;
type cert_t;
type http_port_t;
type user_home_dir_t;
class file { open read write };
class dir { create write};
class tcp_socket { name_connect };
}
#============= sssd_t ==============
allow sssd_t cert_t:file write;
allow sssd_t user_home_dir_t:dir write;
allow sssd_t var_log_t:dir create;
allow sssd_t var_log_t:file { open read };
allow sshd_t sssd_var_log_t:file { open read };
allow sshd_t http_port_t:tcp_socket { name_connect };
-
Erstellen Sie das Policy-Modul SELinux. Ausführen:
$ checkmodule -M -m -o idcs-pam.mod idcs-pam.te
$ semodule_package -m idcs-pam.mod -o idcs-pam.pp
-
Installieren Sie das Modul SELinux. Ausführen:
$ semodule -i idcs-pam.pp
-
Laden Sie SELinux neu. Ausführen:
$ semodule -R
-
Authentifizieren Sie den PAM-Benutzer erneut.
Das Verzeichnis /opc und die Datei /opc/pam_nss.log werden erstellt.