Stiamo utilizzando SSSD per autenticare gli utenti sui server CentOS. oddjobd-mkhomedir funziona perfettamente quando la home directory predefinita è / home, ma su un server particolare, abbiamo dovuto cambiare la home directory predefinita in / data, che si trova su un mount SAN.
Ora, ogni volta che un utente tenta di accedere, viene rilasciato in una shell bash con il seguente messaggio.
Creating home directory for first.last.
Could not chdir to home directory /data/X.Y.local/first.last: No such file or directory
-bash-4.1$
Vedo il seguente messaggio di rifiuto AVC per ogni tentativo:
type=AVC msg=audit(1492004159.114:1428): avc: denied { create } for pid=2832
comm="mkhomedir" name="x.y.local"
scontext=system_u:system_r:oddjob_mkhomedir_t:s0-s0:c0.c1023
tcontext=system_u:object_r:default_t:s0 tclass=dir
Si sono assicurati di cambiare il contesto per / data.
drwxr-xr-x. root root system_u:object_r:home_root_t:s0 data
Se / data ha lo stesso contesto di / home, perché SELinux sta limitando oddjobd alla creazione di /data/XYlocal/first.last?
# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
[AGGIORNARE]
Non sono sicuro se questo è il modo corretto per risolverlo, ma dopo aver aggiunto le tre voci seguenti l'utente è ora in grado di accedere e accedere alle proprie home directory. Per le directory dei nuovi utenti vengono create in base al contesto definito di seguito.
semanage fcontext -a -t home_root_t /data
semanage fcontext -a -t user_home_dir_t /data/x.y.local
semanage fcontext -a -t user_home_t "/data/x.y.local(/.*)?"
È questo il modo corretto per aggirare questo problema?