Kami menggunakan SSSD untuk mengautentikasi pengguna di server CentOS. oddjobd-mkhomedir berfungsi dengan baik ketika direktori home default adalah / home, tetapi pada server tertentu, kami harus mengubah direktori home default ke / data, yang ada di SAN mount.
Sekarang, setiap kali pengguna mencoba masuk, mereka akan jatuh ke bash shell dengan pesan berikut.
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$
Saya melihat pesan penolakan AVC berikut untuk setiap upaya:
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
Pastikan untuk mengubah konteks untuk / data.
drwxr-xr-x. root root system_u:object_r:home_root_t:s0 data
Jika / data memiliki konteks yang sama dengan / home, mengapa SELinux membatasi oddjobd untuk membuat /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
[MEMPERBARUI]
Tidak yakin apakah ini cara yang benar untuk menyelesaikan masalah ini, tetapi setelah menambahkan tiga entri berikut, pengguna kini dapat masuk dan membuka direktori home mereka. Untuk direktori pengguna baru dibuat berdasarkan konteks yang ditentukan di bawah ini.
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(/.*)?"
Apakah ini cara yang benar untuk mengatasi masalah ini?
Jawaban:
Bagian terakhir dengan itu
semanage fcontext
adalah cara yang benar untuk mengatur konteks secara permanen ya. Anda harus menjalankannyarestorecon
agar efeknya berlaku.restorecon
akan mempertimbangkan apa pun yang ada di/etc/selinux/targeted/contexts/files/file_contexts.local
dalamnya, yang seharusnya memiliki fcontext khusus yang baru saja Anda tambahkansemanage
Untuk mengatur konteks ini untuk sementara, lihat
chcon
perintah:sumber
Ketika memindahkan direktori home, solusi terbaik mungkin menggunakan mekanisme EQUAL
semanage fcontext
seperti yang dijelaskan dalam jawaban ini pada kesalahan server :Ini untuk memastikan bahwa semua aturan dari lokasi asal juga diterapkan ke yang baru.
sumber