Untuk file yang dibuat dari akun pengguna testuser di direktori / var / www, saya perlu mereka memiliki g + rwx sebagai izin, dan www-data sebagai grup.
Bagaimana saya bisa mencapai ini?
Saya membuat file melalui SSH.
linux
file-permissions
Mr.Gando
sumber
sumber
stor
/appe
? Melalui HTTPPUT
? Melalui akun shell? Detail-detail ini penting, karena mereka sangat memengaruhi jawaban yang mungkin, dan perlu ada dalam pertanyaan Anda.Jawaban:
Untuk mengatur kelompok, memberikan
/var/www
yang setgid bit:Untuk juga menyesuaikan subdirektori:
find /var/www -type d -exec chmod g+s {} +
Ini akan membuat semua file yang baru dibuat mewarisi grup direktori induk, bukan pengguna.
Untuk mengatur izin grup default, Anda harus menggunakan ACL . Tetapkan ACL "default":
Untuk juga menyesuaikan subdirektori:
find /var/www -type d -exec setfacl -m d:g::rwx {} +
Catatan: Sistem file harus memiliki dukungan ACL yang diaktifkan. Terkadang diaktifkan secara default; pada ext3 atau ext4 Anda mungkin mendapatkan "Operasi tidak didukung", dalam hal ini harus diaktifkan secara manual:
Untuk sistem file yang saat ini dipasang:
mount -o remount,acl /
Secara permanen - salah satu metode berikut:
di tingkat fstab: edit
/etc/fstab
untuk adaacl
di bidang opsidi tingkat sistem file:
tune2fs -o acl /dev/diskname
sumber
chmod
juga akan mendapatkan semua file.install
, entah bagaimana berhasil melewati ACL direktori default./var/www/html/projects
folder dan ketika www-data membuat file memilikirw-rw-r
izin tetapi ketika saya melakukan sesuatu di konsol itu membuat file denganrw-r--r
. Bagaimana saya bisa memaksa file yang baru dibuat untuk selalu memilikirw-rw-r
izin?umask
. Izin default per-direktori dapat diubah menggunakansetfacl
seperti pada posting utama.Ini mungkin membuat beberapa orang terjebak dengan jawaban 'grawity' pada setgid, jika grup folder berbeda dari milik Anda, Anda mungkin perlu menjalankan chmod sebagai root tetapi Anda tidak akan mendapatkan kesalahan yang mengindikasikan Anda perlu melakukan ini.
sumber
Grup file yang dibuat oleh pengguna adalah grup pengguna tersebut (di / etc / group). Izin dikendalikan oleh parameter UMASK lihat ini
sumber