Saya tahu bahwa ini adalah pertanyaan yang sangat lama, tetapi saya ingin menambahkan solusi yang baik dengan penjelasan yang mendalam. Anda harus menjalankan dua pernyataan pada sistem seperti Ubuntu dan kemudian berfungsi seperti pesona.
Izin di Linux dapat direpresentasikan dengan tiga digit. Digit pertama menunjukkan izin dari pemilik file. Digit kedua izin dari grup pengguna tertentu. Digit ketiga mendefinisikan izin untuk semua pengguna yang bukan pemilik maupun anggota grup.
Server web seharusnya dijalankan dengan id yang merupakan anggota grup. Server web tidak boleh berjalan dengan id yang sama dengan pemilik file dan direktori. Di Ubuntu menjalankan apache di bawah id www-data. Id itu harus menjadi anggota grup yang izinnya ditentukan.
Untuk memberi direktori tempat Anda ingin mengubah konten file hak yang tepat, jalankan pernyataan:
find %DIR% -type d -exec chmod 770 {} \;
Itu akan menyiratkan dalam pertanyaan OP bahwa izin untuk direktori% ROOT% / database harus diubah sesuai. Oleh karena itu, penting untuk tidak memiliki file dalam direktori itu yang tidak boleh diubah, atau dihapus. Oleh karena itu, praktik terbaik adalah membuat direktori terpisah untuk file yang isinya harus diubah.
Izin membaca (4) untuk direktori berarti dapat mengumpulkan semua file dan direktori dengan metadatanya di dalam direktori. Izin menulis (2) memberikan izin untuk mengubah konten direktori. Menyiratkan menambah dan menghapus file, mengubah izin, dll. Izin eksekusi (1) berarti Anda berhak masuk ke direktori itu. Tanpa yang terakhir ini tidak mungkin untuk masuk lebih dalam ke direktori. Server web membutuhkan izin baca, tulis, dan eksekusi ketika konten file harus diubah. Untuk itu perlu kelompok angka 7.
Pernyataan kedua adalah dalam pertanyaan OP:
find %DOCUMENT_ROOT%/database -type f -exec chmod 760 {} \;
Mampu membaca dan menulis dokumen diperlukan, tetapi tidak diharuskan untuk menjalankan file. 7 diberikan kepada pemilik file, 6 untuk grup. Server web tidak perlu memiliki izin untuk mengeksekusi file untuk mengubah isinya. Izin menulis tersebut hanya boleh diberikan ke file di direktori itu.
Semua pengguna lain tidak boleh diberi izin apa pun.
Untuk direktori yang tidak perlu mengubah file-nya adalah izin grup 5 yang cukup. Dokumentasi tentang perizinan dan beberapa contoh:
https://wiki.debian.org/Permissions
https://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions
http://www.linux.org/threads/file-permissions-chmod.4094/
php.ini
file untuk mencari sesuatu yang mungkin menolak akses file?