Episode ini membahas kontrol akses presisi Windows di Linux: nt acl support, POSIX ACL dengan modul acl_xattr untuk menyimpan permission NTFS di extended attributes, serta quota per-user dan per-group melalui modul VFS quota. Kalian memahami bagaimana permission Windows diterjemahkan menjadi setfacl dan sebaliknya.

Sampai episode 10, kontrol akses kalian masih "kasar": valid users, group, dan bit permission sederhana. Di dunia Windows, admin terbiasa membuka Properties → Security dan mengatur ACL (Access Control List) per-user per-folder — izinkan si A membaca, larang si B menghapus, dan seterusnya. Di episode 11 kita mewujudkan presisi itu di atas Linux: POSIX ACL + xattr, dan menutup dengan quota per-user/group. Hasilnya: klien Windows mengedit permission di share Samba sama seperti di fileshare Windows.
Windows NTFS menyimpan ACL dengan granularity tinggi: read, write, execute, delete, change permissions, take ownership, dan kombinasi Allow/Deny. POSIX ACL Linux memiliki tiga entitas (owner, group, other) plus extended entries — hingga 32 user/group tambahan. Keduanya tidak identik, dan Samba harus menerjemahkan. Di sinilah dua konsep bekerja:
nt acl support = yes (default): Samba menerima dan menerapkan perubahan ACL yang dilakukan klien Windows melalui protocol SMB.acl_xattr: menyimpan ACL gaya NTFS secara penuh di extended attributes (system.ntfs_acl), bukan hanya menerjemahkan sebagian. Ini yang membuat permission Windows bertahan bulat.[data]
path = /srv/data
nt acl support = yes
vfs objects = acl_xattr
inherit permissions = yesnt acl support = yes: izinkan klien Windows membaca/mengubah ACL via SMB.vfs objects = acl_xattr: simpan ACL NTFS penuh di xattr, tanpa kehilangan informasi saat diterjemahkan bolak-balik.inherit permissions = yes: folder/file baru mewarisi permission induk — mencegah file baru "keluar jalur" dari kebijakan folder.acl_xattr butuh filesystem yang mendukung POSIX ACL dan xattr — ext4, XFS, Btrfs memenuhi (centang acl dan user_xattr di mount option bila perlu). Verifikasi dukungan:
tune2fs -l /dev/sda1 | grep -i "default mount"
mount | grep /srvUntuk share, matikan opsi yang mengganggu ACL: jangan pakai force user pada share ACL (menimpa identitas yang sedang di-ACL-kan), dan biarkan force group jika benar-benar diperlukan saja.
Important
force user dan ACL NTFS adalah kombinasi bermasalah: ACL menyimpan kepemilikan per-identity, sedangkan force user mengesampingkan identitas penulis. Pada share dengan acl_xattr, hindari force user — biarkan identitas asli mengalir sehingga ACL bekerja sesuai harapan. Jika terpaksa, putar ke force user hanya pada share tanpa ACL granular.
Admin Linux juga bisa mengatur ACL langsung dengan setfacl/getfacl — Samba akan membaca hasilnya:
sudo setfacl -m u:budi:rwx /srv/data
sudo getfacl /srv/datasetfacl -m u:budi:rwx menambah entri ACL user budi. Dari sisi Windows, folder tersebut sekarang menampilkan budi di tab Security dengan permission yang sesuai — bukti dua dunia bertemu.
Quota membatasi pemakaian disk: user tidak bisa mengisi share hingga disk penuh dan mengganggu semua orang. Quota dikelola filesystem (bukan Samba) — Samba hanya meneruskan query dan enforcement lewat modul VFS quota.
Untuk XFS:
sudo mount -o remount,pquota /srv
sudo xfs_quota -x -c 'limit bsoft=90g bhard=100g budi' /srvUntuk ext4:
sudo tune2fs -O quota /dev/sda1
sudo setquota -u budi 90G 100G 0 0 /srvsetquota -u budi 90G 100G menetapkan soft limit 90 GB dan hard limit 100 GB untuk user budi. Analog untuk group: -g.
[data]
path = /srv/data
vfs objects = quota acl_xattrDengan vfs objects = quota, klien Windows yang membuka Properties → Quota (atau melihat info volume) akan mendapat data quota nyata, dan penulisan yang melampaui hard limit ditolak filesystem — user tidak bisa menambah satu byte pun melewati batas.
Tip
Nilai apa yang wajar? Ukur dulu, bukan tebak. du -sh /srv/data/* | sort -h memberi gambaran pemakaian riil per folder; tetapkan soft limit sedikit di atas rata-rata dan hard limit sebagai pengaman. Soft limit yang tertutup (bisa dilampaui sementara) memberi ruang kerja, hard limit yang kaku melindungi disk dari satu user yang kalap.
acl/user_xattr — periksa /etc/fstab.getfacl di sisi Windows menampilkan nama aneh: winbind belum terpasang/aktif (episode 10) — Samba butuh resolusi SID → nama.setquota berhasil: pastikan filesystem di-mount dengan opsi quota (pquota/usrquota) — Samba hanya meneruskan, enforcement tetap di filesystem.Inti yang harus dibawa pulang:
nt acl support = yes membuat Samba menghormati perubahan ACL dari klien Windows.vfs objects = acl_xattr menyimpan ACL NTFS penuh di extended attributes.inherit permissions = yes memastikan file baru mewarisi kebijakan folder.quota.force user pada share dengan ACL granular.Di episode 12 selanjutnya kita akan membahas recycle bin & shadow copies — modul VFS recycle sebagai trash bin pelindung hapus, snapshot filesystem (Btrfs/LVM) dengan shadow_copy2, dan fitur "Previous Versions" di Windows. Kalian akan melindungi data dari kesalahan manusia dan menghapus panik!