Mengatasi Masalah Akses Direktori Samba karena SELinux
🔍 Penyebab Masalah
Direktori sudah memiliki permission 777 (/media/data1/opt/oracle/orapro).
SELinux aktif dalam mode enforcing, yang dapat memblokir akses meskipun permission sudah benar.
✅ Langkah Solusi
1. Nonaktifkan SELinux Sementara (Testing)
Untuk memastikan apakah SELinux penyebab masalah:
bash
sudo setenforce 0 # Nonaktifkan SELinux sementara
Coba akses lagi via smbclient:
bash
smbclient //localhost/orapro -U oracle
mkdir x
Jika berhasil, berarti SELinux memblokir akses.
2. Perbaiki Konteks SELinux untuk Direktori Samba
Jika SELinux penyebabnya, atur konteks yang benar:
bash
sudo chcon -t samba_share_t /media/data1/opt/oracle/orapro -R
samba_share_t adalah konteks default untuk share Samba.
-R untuk rekursif (termasuk subdirektori/file).
3. Cek Log SELinux (Jika Masih Gagal)
Periksa log untuk detail error:
bash
sudo sealert -a /var/log/audit/audit.log
Cari pesan terkait samba atau avc: denied.
4. Aktifkan Kembali SELinux (Jika Diperlukan)
Setelah perbaikan, kembalikan SELinux ke mode enforcing:
bash
sudo setenforce 1
⚙️ Solusi Alternatif (Jika Masih Bermasalah)
Tambahkan kebijakan SELinux khusus (jika diperlukan):
bash
sudo ausearch -c 'smbd' --raw | audit2allow -M my_sambafix
sudo semodule -i my_sambafix.pp
Pastikan direktori Samba memiliki label yang benar:
bash
sudo semanage fcontext -a -t samba_share_t "/media/data1/opt/oracle/orapro(/.*)?"
sudo restorecon -Rv /media/data1/opt/oracle/orapro
📌 Best Practices
Jangan nonaktifkan SELinux permanen (gunakan solusi konteks/kebijakan).
Gunakan samba_share_t untuk direktori Samba.
Monitor log SELinux (sealert, /var/log/audit/audit.log).
Pastikan permission Linux (chmod/chown) sudah benar.