Mengatasi Masalah Akses Direktori Samba karena SELinux

 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.