Bagaimana cara menetapkan kepemilikan grup default untuk file dalam direktori?


20

Saya menjalankan webapp cakephp di Linode LAMP. Saya menemukan bahwa file temp saya dibuat dengan kepemilikan root: root. Tetapi webapp berjalan dengan izin Apache (www-data). Hal ini menyebabkan peringatan kapan saja ada file baru yang dibuat karena tidak dapat ditulisi oleh pengguna www-data.

Bagaimana cara mengubah kepemilikan default menjadi www-data pada file baru yang dibuat di folder temp?

Terima kasih atas bantuan Anda!

Jawaban:


23

Untuk menetapkan kepemilikan grup oleh www-data terlepas dari uid / gid dari proses yang membuat file, Anda perlu mengatur bit setgid pada direktori.

    sudo chown :www-data <dir>
    sudo chmod g+s <dir>

Perhatikan bahwa Anda juga harus membuat direktori dapat ditulis oleh proses apa pun yang akan membuat file. Jika itu orang lain selain root, Anda mungkin juga perlu chmod o+rwxmembuat semuanya berfungsi dengan baik.


Bagaimana dengan sub-direktori?
mcont

Menambahkan flag -R ke chown dan chmod membuat perintah itu bersifat rekursif. Jadi perintah di bawah ini akan menetapkan kepemilikan grup default untuk <dir> dan juga semua subdirektori dari <dir>: sudo chown -R :www-data <dir>dansudo chmod -R g+s <dir>
Josh Wieder
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.