Tôi biết rằng đó là một câu hỏi rất cũ, nhưng tôi muốn thêm giải pháp tốt với một số giải thích chuyên sâu. Bạn sẽ phải thực hiện hai câu lệnh trên Ubuntu giống như các hệ thống và sau đó nó hoạt động như một sự quyến rũ.
Quyền trong Linux có thể được biểu diễn bằng ba chữ số. Chữ số đầu tiên xác định quyền của chủ sở hữu tệp. Chữ số thứ hai cho phép của một nhóm người dùng cụ thể. Chữ số thứ ba xác định quyền cho tất cả người dùng không phải là chủ sở hữu cũng như thành viên của nhóm.
Máy chủ web phải thực thi với một id là thành viên của nhóm. Máy chủ web không bao giờ được chạy với cùng một id với chủ sở hữu của các tệp và thư mục. Trong Ubuntu chạy apache dưới id www-data. Id đó phải là thành viên của nhóm mà các quyền được chỉ định.
Để cấp cho thư mục mà bạn muốn thay đổi nội dung của tệp các quyền thích hợp, hãy thực hiện câu lệnh:
find %DIR% -type d -exec chmod 770 {} \;
Điều đó ngụ ý trong câu hỏi của OP rằng các quyền đối với thư mục% ROOT% / database nên được thay đổi tương ứng. Điều quan trọng là không có các tệp trong thư mục đó mà không bao giờ được thay đổi hoặc xóa. Cách tốt nhất là tạo một thư mục riêng cho các tệp có nội dung phải thay đổi.
Quyền đọc (4) cho một thư mục có nghĩa là có thể thu thập tất cả các tệp và thư mục với siêu dữ liệu của chúng trong một thư mục. Quyền ghi (2) cho phép thay đổi nội dung của thư mục. Ngụ ý thêm và xóa tệp, thay đổi quyền, v.v. Quyền thực thi (1) có nghĩa là bạn có quyền đi vào thư mục đó. Nếu không có cái sau thì không thể đi sâu hơn vào thư mục. Máy chủ web cần quyền đọc, ghi và thực thi khi nội dung của tệp được thay đổi. Do đó cần nhóm chữ số 7.
Tuyên bố thứ hai nằm trong câu hỏi của OP:
find %DOCUMENT_ROOT%/database -type f -exec chmod 760 {} \;
Có thể đọc và viết một tài liệu là bắt buộc, nhưng không bắt buộc phải thực thi tệp. Số 7 được trao cho chủ sở hữu của các tệp, số 6 được trao cho nhóm. Máy chủ web không cần phải có quyền thực thi tệp để thay đổi nội dung của nó. Các quyền ghi đó chỉ nên được cấp cho các tệp trong thư mục đó.
Tất cả những người dùng khác sẽ không được cấp bất kỳ quyền nào.
Đối với các thư mục không yêu cầu thay đổi tệp của nó, các quyền nhóm là đủ 5. Tài liệu về quyền và một số ví dụ:
https://wiki.debian.org/Permissions
https://www.linux.com/learn/tutorials/309527-und hieu-linux-file-permissions
http://www.linux.org/threads/file-permissions-chmod.4094/
php.ini
tệp cho bất kỳ điều gì có thể từ chối quyền truy cập tệp chưa?