Làm cách nào để kiểm tra nhóm Apache nào tôi có thể sử dụng cho máy chủ web để viết?


13

Tôi đang cố gắng để Wordpress hoạt động. Tôi hiện đang có thông báo lỗi này:

Could not create directory. /var/www/html/wp-content/upgrade/theme_name

khi cố gắng tải lên một chủ đề. Đây là quyền được đặt thành/var/www/html/wp-content/upgrade/

drwxrwxr-x 3 ec2-user apache 4096 Jun 21 00:30 upgrade

chmod 777 upgradelàm cho lỗi đi Nhưng đó không được coi là thực hành tốt nhất. Tuy nhiên, tôi nghĩ cái này cũng nên hoạt động ... tại sao không?

Tôi đoán máy chủ web có thể không được bao gồm bởi các quyền trên. Tôi nên sử dụng nhóm nào để cho phép máy chủ web viết?

(Thiết lập của tôi là Amazon EC2, Amazon Linux AMI với httpd)

Câu trả lời:


16

Tôi không biết gì về Amazon EC2, nhưng bạn sẽ có thể:

  1. Lấy tên của người dùng đang chạy Apache bằng một lệnh tương tự như sau:

    ps aux | grep apache # The username should be in the first column.
    
  2. Truy xuất các nhóm mà người dùng này là một phần của groups(1)lệnh:

    groups [USERNAME]
    

Cột đầu tiên là apache và các nhóm apache trả về apache: apache. Một dòng từ commANGE đầu tiên trông như thế này: apache 11171 0.0 3.4 39984 21516? S Jun20 0:02 / usr / sbin / httpd

1
Người dùng apache rõ ràng có quyền để viết trong thư mục. Bạn nói chmod 777giải quyết được vấn đề, vì vậy tôi đoán bạn đang sử dụng một người dùng khác để tải lên các chủ đề của mình. Tôi không biết Wordpress lắm. Theo câu trả lời này hãy thử thay đổi quyền sở hữu cho người dùng www-data.
rahmu

Cảm ơn bạn đã dành thời gian để tra cứu bài viết và tất cả mọi thứ. Đó thực sự là một người dùng khác, vì tôi nhận ra Wordpress đã sử dụng FTP để thực hiện công việc của mình. Tôi phát hiện ra người dùng đó bằng những gì được đề xuất bên dưới và sau đó thêm apache nhóm, được tìm thấy ở bước 1, cho nó. Điều đó đã giải quyết nó.


1

nâng cấp chmod 777 làm cho lỗi đi.

Chà, trong trường hợp đó ls -ld /var/www/html/wp-content/upgrade/theme_namesẽ tiết lộ thông tin đăng nhập của người tạo, mà bạn có thể sử dụng để cấp quyền truy cập chính xác.

Và tốt hơn là sử dụng 1777(như đối với /tmp) vì ít nhất nó đảm bảo rằng chỉ chủ sở hữu của tệp mới có thể hủy liên kết tệp.


1
Làm cho lỗi đi! Cách tiếp cận thú vị để giải quyết vấn đề. Đây không phải là một giải pháp, đó là một lời nói dối.
iharob

Bạn gọi "dối trá" là gì - trích dẫn văn bản của tác giả gốc? :) hoặc đề nghị ít nhất sử dụng 1777 thay vì 777? :) hoặc tìm ra quyền sở hữu của người tạo và sử dụng nó để "cấp quyền truy cập chính xác"?
poige

Đó là một lời nói dối với hệ thống, bởi vì 777nó không đúng trong bất kỳ bối cảnh nào tôi biết.
iharob
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.