Tôi nên cấp quyền gì / var và / media?


21

Tôi hiểu rằng magento nói có / var/ media ở mức 700 đối với các thư mục và 600 đối với các tệp nhưng khi tôi thực hiện việc này, nó sẽ phá vỡ một số phần nhất định trên trang web của tôi. Tôi tò mò muốn xem những gì hầu hết mọi người sử dụng quyền cho các thư mục này.


bạn đọc những thứ đó ở đâu? với 700?
FlorinelChis

Câu trả lời:


18

Tôi chưa thấy nhiều đề cập đến việc sử dụng 700 và 600 nhưng nói chung đó là lời khuyên tốt. Thật không may, mỗi máy chủ được thiết lập là khác nhau và cần được cân nhắc với sự thuận tiện (quyền truy cập của người dùng để cập nhật / chỉnh sửa tệp).

Cách tiếp cận cơ bản chỉ là cho đi càng ít càng tốt và khóa nó càng nhiều càng tốt (700/600 là tốt cho việc này). Về mặt đó, lời khuyên "chính thức" trên wiki muốn áp dụng cho càng nhiều trường hợp càng tốt và đề xuất quyền đọc cho mọi người (có nghĩa là mọi dịch vụ khác bị xâm phạm trên máy chủ sẽ có thể đọc ứng dụng / etc / local. xml với cấu hình db của bạn).

Trong trường hợp của bạn, hiện tại có vẻ như các tệp được sở hữu bởi một người dùng khác với quy trình máy chủ web / php của bạn chạy theo. Thay đổi quyền sở hữu các tệp vào máy chủ web sẽ giải quyết vấn đề ban đầu của bạn.

Xin lưu ý rằng việc sử dụng 700/600 và gán các tệp cho máy chủ web có nghĩa là người dùng bình thường của bạn sẽ không thể chỉnh sửa các tệp.

Dưới đây tôi cảm thấy là một sự thỏa hiệp tốt cho sự thuận tiện và khóa chặt. Tất cả các tệp được sở hữu bởi người dùng: webservergroup

var và media 770/660
Máy chủ và người dùng của bạn được phép đọc và ghi từ các thư mục var và media (session / cache / hình ảnh).

phần còn lại 750/640
Người dùng của bạn có thể chỉnh sửa / cập nhật mã.
Máy chủ web có thể đọc các tệp để thực thi / hiển thị.


2
Gần hai năm sau và bây giờ tôi đồng ý với điều này hơn câu trả lời của riêng tôi.
philwinkle

Tôi nhận ra rằng tôi chưa bao giờ cung cấp phản hồi cho vấn đề này và vấn đề tôi gặp phải là các tệp không thuộc sở hữu của máy chủ web. Tôi cũng đã yêu cầu làm rõ các quyền để có được nhiều thông lệ hơn khi tôi đọc những thứ khác nhau.
Tập hợp

18

Nói chung, tất cả các tệp nên 644và tất cả các thư mục nên 755nên được sở hữu bởi người dùng mà máy chủ web của bạn chạy theo . Việc magethực thi phải được cấp 550quyền để cho phép thực thi.

Kịch bản shell này sẽ vá mọi thứ nếu chạy từ gốc Mage của bạn:

#!/bin/sh
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 550 mage

Nguồn: http : //www.magentoc Commerce.com/wiki/groups/227/resetting_file_permissions


5

Trong khi giải pháp của Phil là tốt, tôi sử dụng một chút cách tiếp cận khác. Ngoài việc tạo chủ sở hữu "người dùng php / webserver" của các tệp tôi tạo nhóm bổ sung. Thông thường nó được gọi là dev . Và tôi thêm "user php" và bản thân mình và các nhà phát triển khác để nhóm dev . Sau đó, tôi làm chgrp để tất cả các tệp trong cây con dự án Magento có nhóm dev . Tôi thêm bit + s vào các thư mục đảm bảo các thư mục con mới được tạo có cùng quyền.

Tôi đã tạo một ý chính công khai với tập lệnh fix_permissions.sh của mình. Hãy sử dụng nó :) Nó giúp bạn giữ toàn bộ cây con dự án Magento của bạn với các quyền tốt.

https://gist.github.com/svenvarkel/8062778#file-fix_permissions-sh

Câu hỏi ban đầu - var và media phải có các quyền như vậy mà "người dùng php" có thể đọc và ghi vào các thư mục này. Nó phải có khả năng ghi bộ đệm, tập tin phiên vv dưới var và nó phải có khả năng ghi bộ đệm hình ảnh sản phẩm và hình ảnh dưới phương tiện truyền thông. Vì vậy, hãy làm như Phil khuyên: chown hoặc chgrp chúng cho "người dùng php" và cấp quyền rw cho "người dùng php".

Tôi nghĩ sẽ đúng hơn khi đề cập đến "người dùng php" trong ngữ cảnh của FPM (CGI). Người dùng máy chủ web có thể khác với người dùng đang chạy PHP.


3
Bạn hoàn toàn chính xác về các thuật ngữ liên quan đến người dùng máy chủ web so với người dùng php. Điểm tuyệt vời. Mặc dù vậy, người ta phải tự hỏi liệu một người hỏi cách thay đổi quyền sẽ biết liệu họ có đang chạy PHP FPM hay không ...
philwinkle

1

/ var - magento sử dụng để ghi bộ đệm, dữ liệu phiên vv.

/ media - magento sử dụng để cập nhật hình ảnh sản phẩm, hình ảnh danh mục (bất kỳ loại hình ảnh nào).

Vì vậy, hai thư mục bạn nên sử dụng quyền đọc + ghi. Tập tin khác bạn nên sử dụng quyền đọc + thực thi.


1

Quyền truy cập tệp là 644. Chạy bên dưới mã trong thư mục gốc bằng ssh. tìm thấy .

-type f -exec chmod 644 {} \;

Quyền thư mục là 755. Chạy bên dưới mã trong thư mục gốc bằng ssh. tìm thấy .

-type d -exec chmod 755 {} \;

Quyền thư mục Var là 777. Chạy bên dưới mã trong thư mục gốc bằng ssh.

chmod -R 777 var

Quyền thư mục tĩnh là 777. Chạy bên dưới mã trong thư mục gốc bằng ssh.

chmod -R 777 pub/static

Quyền thư mục phương tiện là 777. Chạy bên dưới mã trong thư mục gốc bằng ssh.

chmod -R 777 pub/media

2
Trên đây không phải là những gì OP yêu cầu, đây là cho Magento 2.x không dành cho Magento 1.7
Frank Groot

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.