Saya mengalami masalah dengan izin pada server Linux. Saya sudah terbiasa dengan BSD. Ketika sebuah direktori dimiliki oleh suatu grup, pengguna yang memilikinya bukan dalam seperti data-www, file yang dibuat di dalamnya akan dimiliki oleh grup itu. Ini penting karena saya ingin file dapat dibaca oleh server web (yang saya tidak akan jalankan sebagai root) tetapi agar pengguna masih dapat meletakkan file baru di direktori. Saya tidak dapat menempatkan pengguna dalam data-www karena mereka dapat membaca setiap situs web pengguna lainnya.
Saya ingin server web membaca semua situs web, saya ingin pengguna dapat mengubah situs mereka sendiri.
Izin diatur seperti ini pada folder saat ini ....
drwxr-x--- 3 john www-data 4096 Feb 17 21:27 john
Ini adalah perilaku standar pada BSD untuk izin untuk bekerja dengan cara ini. Bagaimana saya membuat Linux melakukan ini?
sumber
Jawaban:
Kedengarannya seperti Anda menggambarkan fungsionalitas bit setgid di mana ketika direktori yang telah ditetapkannya, akan memaksa file baru yang dibuat di dalamnya untuk mengatur grup mereka ke grup yang sama yang ditetapkan pada direktori induk.
Contoh
setup direktori dengan perms + kepemilikan
sentuh file sebagai saml di dir ini
Ini akan memberi Anda kira-kira seperti apa yang Anda inginkan. Jika Anda benar-benar menginginkan apa yang telah Anda jelaskan, saya pikir Anda harus menggunakan fungsionalitas Daftar Kontrol Akses untuk mendapatkannya (ACL).
ACL
Jika Anda ingin mendapatkan kontrol lebih besar atas izin pada file yang dibuat di bawah direktori
somedir
,, Anda dapat menambahkan aturan ACL berikut untuk mengatur izin default seperti itu.sebelum
mengatur izin
Perhatikan
+
pada bagian akhir, itu berarti direktori ini memiliki ACL yang diterapkan padanya.setelah
Perhatikan dengan izin default (
setfacl -Rdm
) yang disetel sehingga izinnya adalah (r-x
) secara default (g:apache:rx
). Ini memaksa semua file baru untuk hanyar
mengaktifkan bitnya.sumber
unzip
?unzip
. Khususnya-X
sakelar.TL: DR; untuk membuat file baru mewarisi grup folder penampung lakukan:
Catatan: tersirat dalam jawaban yang diterima, ini hanya cuplikan.
sumber
Sebagai pelengkap jawaban slm, perhatikan bahwa, pada sistem file ext2 / 3/4, Anda dapat mereplikasi perilaku BSD yang Anda gambarkan dengan menggunakan
bsdgroups
opsi mount pada partisi. Darimount(1)
halaman manual:sumber