Saya telah menemukan Daftar Kontrol Akses POSIX memungkinkan Anda, sebagai administrator sistem, untuk melindungi pengguna Anda dari yang terburuk dari ketidaktahuan mereka sendiri, dengan mengesampingkan izin sistem file grup-pengguna-lainnya yang biasa, tanpa banyak peluang untuk memecahkan sesuatu yang penting .
Mereka dapat sangat berguna jika Anda (fi) membutuhkan direktori home agar dapat diakses dunia karena konten web harus dapat diakses untuk apache di ~/public_html/
. (Meskipun dengan ACL sekarang Anda dapat melakukan sebaliknya, hapus akses untuk semua dan gunakan ACL efektif spesifik untuk pengguna apache.)
Ya, pengguna yang berpengetahuan dapat menghapus / menimpa mereka lagi, hanya cukup biasa bahwa itu tidak mungkin, dan para pengguna yang biasanya tidak mudah untuk chmod -R 777 ~/
melakukannya, kan?
Anda perlu me-mount sistem file dengan acl
opsi mount:
mount -o remount,acl /home
Dalam banyak distribusi, standarnya adalah untuk membuat grup pengguna, setiap pengguna memiliki grup utama mereka, dan saya telah menetapkan semua pengguna dalam grup sekunder dengan nama tidak imajinatif users
.
Menggunakan ACL sekarang sepele untuk mencegah pengguna lain mengakses direktori home:
Sebelum:
chmod 0777 /home/user*
ls -l /home/user*
drwxrwxrwx. 2 user1 user1 4096 Jul 11 15:40 user1
drwxrwxrwx. 2 user2 user2 4096 Jul 11 15:24 user2
Sekarang atur izin direktori yang efektif untuk anggota users
grup menjadi 0
tidak baca, tulis atau akses:
setfacl setfacl -m g:users:0 /home/user*
ls -l
drwxrwxrwx+ 2 user1 user1 4096 Jul 11 15:40 user1
drwxrwxrwx+ 2 user2 user2 4096 Jul 11 15:24 user2
The +
tanda menunjukkan kehadiran pengaturan ACL sana. Dan getfacl
dapat mengkonfirmasi bahwa:
getfacl /home/user1
getfacl: Removing leading '/' from absolute path names
# file: home/user1
# owner: user1
# group: user1
user::rwx
group::rwx
group:users:---
mask::rwx
other::rwx
The group:users:---
menunjukkan bahwa kelompok efektif tidak memiliki hak akses, meskipun izin reguler untuk makhluk lainother::rwx
Dan pengujian sebagai user1:
[user1@access ~]$ ls -la /home/user2
ls: cannot open directory /home/user2: Permission denied
Solusi umum kedua pada sistem bersama adalah memiliki direktori home mount automounter atas permintaan server yang didedikasikan untuk akses shell. Itu jauh dari bukti bodoh, tetapi biasanya hanya segelintir pengguna akan login bersamaan yang berarti hanya direktori home dari para pengguna yang terlihat dan dapat diakses.
chmod files 0777
benar-benar diperlukan, yaitu mengatasi akar penyebab masalah, daripada gejala bahwa, dengan melakukan itu, siapa pun dapat membaca file orang lain. Sering kali rekomendasi semua akses memungkinkan hanya cara murah untuk menghindari panggilan dukungan, atau kurangnya kecakapan teknis untuk dapat mengatur izin dengan benar. Dalam hampir tidak ada kasus saya harus mengatur file0777
atau memberikan aplikasi akses root penuh ketika diminta. Pendidikan pengguna dan / atau vendor sangat membantu di sini.