CentOS sunucularındaki kullanıcıların kimliğini doğrulamak için SSSD kullanıyoruz. oddjobd-mkhomedir, varsayılan giriş dizini / home olduğunda mükemmel çalışır, ancak belirli bir sunucuda, varsayılan giriş dizinini SAN bağında bulunan / data olarak değiştirmek zorunda kaldık.
Şimdi, her kullanıcı giriş yapmaya çalıştığında, aşağıdaki mesajla birlikte bash kabuğuna bırakılır.
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$
Her girişim için aşağıdaki AVC reddetme mesajını görüyorum:
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
/ Data içeriğini değiştirdiğinizden emin olun.
drwxr-xr-x. root root system_u:object_r:home_root_t:s0 data
/ Data / home ile aynı içeriğe sahipse, SELinux neden oddjobd dosyasını /data/XYlocal/first.last oluşturmak için kısıtlıyor?
# sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
[GÜNCELLEME]
Bunun bunu çözmenin doğru yolu olup olmadığından emin değilim, ancak aşağıdaki üç girişi ekledikten sonra artık kullanıcı giriş yapabilir ve ana dizinlerine erişebilir. Yeni kullanıcının dizinleri için aşağıda tanımlanan içeriğe göre oluşturulmaktadır.
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(/.*)?"
Bu sorunla başa çıkmanın doğru yolu bu mu?