Saya perlu file yang dibuat oleh apache2 untuk memiliki umask 002
, yaitu grup rw, secara default.
Saya sudah mencoba memasukkan umask 002
/ etc / apache2 / envvars dan walaupun skrip ini dijalankan sebagai bagian dari apache start up ( apache2ctl graceful
) umask tidak berpengaruh. Agaknya suatu tempat lebih lanjut dalam proses start up (misalnya ketika pengguna diturunkan dari root
ke www-data
) ada tempat yang lebih baik untuk meletakkan ini.
Saya sudah membaca posting tentang Fedora dan satu menyarankan memasukkan umask /etc/init.d/apache2
tetapi tidak satupun dari ini berlaku / bekerja di Debian (Squeeze).
Bisakah kamu menolong?
apache-2.2
umask
artfulrobot
sumber
sumber
drush cc all
sebagai pengguna karena kesalahan pada semua file cache yang dibuat www-data ini.Jawaban:
Untuk memastikan bahwa pengaturan umask berlaku, gunakan tes sederhana dan jangan gunakan aplikasi web lain untuk ini. Mungkin saja aplikasi ini mengubah hak secara independen dari pengaturan umask di Apache.
Skrip PHP pengujian sederhana:
Berhati-hatilah karena pengguna www-data memiliki akses tulis ke folder tempat Anda menginstal file uji sederhana ini.
Untuk menjalankan umask baru, periksa apakah file / etc / apache2 / envvars akan digunakan dalam file mulai Apache Anda /etc/init.d/apache2:
Setel umask Anda di / etc / apache2 / envvars:
Mulai ulang Apache Anda:
Periksa perbedaannya:
sumber
Jika Anda menjalankan beberapa situs, Anda dapat mengatur izin grup default menggunakan Access Control Lists (ACL) per direktori seperti:
Setel
setid
flag untuk memaksa semua file baru mewarisi grup dari direktori:Buat file baru
rw
untuk izin grup, mis. sehinggawww-data
dapat menulis ke file SFTPed oleh pengguna unggahan:Konfirmasikan ACL seperti itu:
Buat file untuk mengonfirmasi itu berfungsi:
sumber
setfacl --default --modify group:rwx wordpress
ini tidak ada titik dua. Seharusnyasetfacl --default --modify group::rwx wordpress
(Untuk Debian Stretch yang menggunakan systemd - Terima kasih womble!)
Masukkan
UMask=0002
file unit layanan Apache2 systemd, muat ulang unit layanan, dan kemudian restart Apache2.sumber