Solusi 1:
Ya, ACL dapat melakukan ini.
-
Pastikan sistem file Anda terpasang dengan
acl
. Untuk memeriksanya, ketikmount
. Anda akan melihatacl
tercantum di antara izin lainnya, mis./dev/sda1 on / type ext4 (rw,errors=remount-ro,acl)
Jika tidak dipasang dengan acl, buka
/etc/fstab
, dan tambahkanacl
ke daftar opsi:# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> /dev/sda1 / ext3 noatime,errors=remount-ro,acl 0 1
Sekarang, pasang kembali sistem file yang sedang berjalan dengan opsi baru:
mount -v -o remount /
-
Instal utilitas acl. Di ubuntu/debian, ini adalah:
sudo apt-get install acl
-
Teman baru Anda adalah
setfacl
dangetfacl
. Gunakansetfacl
untuk mengubah acl default untuk direktori:setfacl -d -m o:r foo
-d
menyetel default,-m
memodifikasi acl, dano:r
memberikan "orang lain" hak untuk membaca. Menyetel default pada direktori kira-kira sama dengan menyetel setgid pada direktori, tetapi alih-alih file yang baru dibuat mewarisi grup, mereka mewarisi acl. Bersama-sama, setgid dan acl dapat menjadi kuat, karena Anda dapat memberikan izin default ke grup, dan mendapatkan file yang baru dibuat untuk menjadi bagian dari grup tersebut, untuk umask per direktori berbasis grup yang efektif. -
Periksa pekerjaan Anda:
ls -l
sekarang harus menunjukkan "+" tambahan yang menunjukkan keberadaan acl selain izin file standar.% ls -la foo/ drwxr--r--+
Anda bisa mendapatkan info detail tentang acl menggunakan
getfacl
.% getfacl foo # file: foo # owner: you # group: you user::rwx group::r-- other::r-- default:user::rwx default:group::--- default:other::r--
Solusi 2:
Anda juga bisa memaksa umask untuk direktori dengan menyetel properti mask ACL seperti ini:
setfacl -d -m mask:07 .