Saya melihat bahwa pengguna saya adalah anggota grup apache. Saya menambahkan dan mengkonfirmasi melalui yang berikut ini
$ sudo usermod -a -G apache `whoami` # add my user to apache group
$ sudo chmod -R g+w . # permit group members to write
$ groups `whoami` # confirm I'm in the apache group
Namun, ketika saya mencoba untuk menjalankan inti pembaruan drush atau bahkan drron cron
$ drush cc all
unlink(sites/default/files/css/css_71ba7c25a8d3c47c68a8e05608ae525c.css):[warning]
Permission denied file.inc:482
Dan sepertinya cache CSS dalam situasi ini
$ ll
total 1536
drwxrwxr-x. 2 apache apache 12288 Nov 26 10:12 .
drwxrwxr-x. 11 apache apache 4096 Nov 24 20:35 ..
-rw-rw-r-- 1 apache apache 162269 Nov 26 10:06 css_00d5f4d7c5c92cd4f.css
-rw-rw-r-- 1 apache apache 158090 Nov 26 10:02 css_0605989692a2119d305.css
-rw-rw-r-- 1 apache apache 162269 Nov 26 10:02 css_0779dcac71ee9aa8e02d9e.css
Saya akan berasumsi bahwa akun pengguna saya, yang memiliki akses sudo, harus menjadi anggota grup apache (atau www-data) dan bahwa pohon file harus mengizinkan akses tulis grup. Bantuan atau poin apa pun di arah yang benar akan sangat dihargai.
newgrp apache
tanpa sudo dan coba lagiJawaban:
Dapat diperdebatkan, pendekatan yang jauh lebih mudah adalah tidak membuang tugas grup pengguna Anda sama sekali dan bukannya menjalankan drush sebagai pengguna server web (yaitu: apache, www-data).
Gunakan sudo:
atau di debian / ubuntu:
Buat alias perintah:
Lalu, untuk memastikan Anda selalu menjalankan drush seperti itu, tambahkan alias:
atau di debian / ubuntu:
Sekarang ketika menjalankan perintah drush, Anda akan dimintai kata sandi oleh sudo, dan perintah itu akan berjalan sebagai pengguna server web. Tidak ada lagi masalah izin membaca dan menulis file.
sumber
Meskipun jawaban lainnya informatif, saya sekarang menggunakan izin pengguna yang tepat seperti yang dijelaskan dalam
Mengamankan izin dan kepemilikan file
Yang terbuka dengan
sumber
Ketika saya berlari drush karena
www-data
drush tidak lagi tersedia karena $ PATH saya telah berubah .Sebagai solusinya, Anda dapat memasuki seluruh jalur untuk mabuk.
Misalnya
Untuk mendapatkan jalur drush Anda, Anda dapat menjalankan:
Yang berarti Anda juga bisa menjalankan:
yang menghilangkan kebutuhan untuk mengkodekan jalur pada perintah.
sumber