Defina SELinux para aplicar.
Antes de começar:
Verifique se os seguintes pacotes estão instalados no Oracle Linux:
rpm -q selinux-policy-targeted policycoreutils libselinux-utils libselinux-python libselinux
Observação
Ao alterar o modo SELinux de Permissivo ou Desativado para Imposição, você deverá reinicializar.
Crie uma política e certifique-se de que o PAM funcione quando SELinux estiver definido para impor:
-
Se necessário, instale estes pacotes no Oracle Linux:
rpm -q selinux-policy-targeted policycoreutils libselinux-utils libselinux-python libselinux
-
Permitir comunicação de saída em 443:
$ sudo setsebool -P nis_enabled 1
++
-
Crie uma política local para que
sssd_t
possa criar o diretório opc
para criar, ler e gravar no arquivo pam_nss.log
(que é mencionado em /etc/opc.conf
). Ele não precisa estar localizado em um local específico porque é compilado pelos utilitários SELinux.
-
Crie o arquivo de política e salve-o com o nome de arquivo
idcs-pam.te
. Este é o conteúdo:
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 };
-
Crie o módulo de política SELinux. Execução:
$ checkmodule -M -m -o idcs-pam.mod idcs-pam.te
$ semodule_package -m idcs-pam.mod -o idcs-pam.pp
-
Instale o módulo SELinux. Execução:
$ semodule -i idcs-pam.pp
-
Recarregue o SELinux. Execução:
$ semodule -R
-
Por fim, autentique o usuário do PAM novamente.
O diretório /opc
e o arquivo /opc/pam_nss.log
são criados.