Nó thực sự phụ thuộc vào các plugin bạn dự định sử dụng vì một số plugin thay đổi tài liệu gốc của wordpress. nhưng nói chung tôi khuyên bạn nên một cái gì đó như thế này cho thư mục wordpress.
Điều này sẽ chỉ định "root" (hoặc bất cứ người dùng nào bạn đang sử dụng) làm người dùng trong mỗi tệp / thư mục, R có nghĩa là đệ quy, vì vậy nó chỉ dừng lại ở thư mục "html". nếu bạn không sử dụng R, thì nó chỉ áp dụng cho thư mục "html".
sudo chown -R root:www-data /var/www/html
Điều này sẽ đặt chủ sở hữu / nhóm "wp-content" thành "dữ liệu www" và do đó cho phép máy chủ web cài đặt các plugin thông qua bảng quản trị.
chown -R www-data:www-data /var/www/html/wp-content
Điều này sẽ đặt quyền của mọi tệp đơn trong thư mục "html" (Bao gồm các tệp trong thư mục con) thành 644, vì vậy những người bên ngoài không thể thực thi bất kỳ tệp nào, sửa đổi bất kỳ tệp nào, nhóm không thể thực hiện bất kỳ tệp nào, sửa đổi bất kỳ tệp nào và chỉ người dùng được phép sửa đổi / đọc tệp, nhưng ngay cả người dùng vẫn không thể thực thi bất kỳ tệp nào. Điều này rất quan trọng vì nó ngăn chặn mọi loại thực thi trong thư mục "html", vì chủ sở hữu của thư mục html và tất cả các thư mục khác ngoại trừ thư mục nội dung wp là "root" (hoặc người dùng của bạn), dữ liệu www có thể ' Không sửa đổi bất kỳ tệp nào bên ngoài thư mục nội dung wp, vì vậy ngay cả khi có bất kỳ lỗ hổng nào trong máy chủ web và nếu ai đó truy cập trái phép vào trang web, họ không thể xóa trang web chính trừ các plugin.
sudo find /var/www/html -type f -exec chmod 644 {} +
Điều này sẽ hạn chế quyền truy cập vào "wp-config.php" đối với người dùng / nhóm với rw-r ----- các quyền này.
chmod 640 /var/www/html/wp-config.php
Và nếu một plugin hoặc bản cập nhật phàn nàn thì nó không thể cập nhật, sau đó truy cập vào SSH và sử dụng lệnh này và cấp quyền tạm thời cho "www-data" (máy chủ web) để cập nhật / cài đặt thông qua bảng quản trị, sau đó hoàn nguyên trở lại "root" hoặc người dùng của bạn sau khi hoàn thành.
chown -R www-data /var/www/html
Và trong Nginx (cùng một quy trình cho apache) để bảo vệ thư mục wp-admin khỏi bị truy cập trái phép và thăm dò. apache2-utils là cần thiết để mã hóa mật khẩu ngay cả khi bạn đã cài đặt nginx, bỏ qua c nếu bạn có kế hoạch thêm nhiều người dùng vào cùng một tệp.
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd userName
Bây giờ hãy truy cập vị trí này
/etc/nginx/sites-available/
Sử dụng mã này để bảo vệ thư mục "wp-admin" bằng mật khẩu, bây giờ nó sẽ hỏi mật khẩu / tên người dùng nếu bạn cố truy cập vào "wp-admin". Lưu ý, ở đây bạn sử dụng tệp ".htpasswd" có chứa mật khẩu được mã hóa.
location ^~ /wp-admin {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
index index.php index.html index.htm;
}
Bây giờ khởi động lại nginx.
sudo /etc/init.d/nginx restart