Це фактично залежить від плагінів, які ви плануєте використовувати, оскільки деякі додатки змінюють кореневий документ wordpress. але загалом я рекомендую щось подібне для каталогу wordpress.
Це призначить "корінь" (або будь-якого користувача, який ви використовуєте) як користувача у кожному окремому файлі / папці, R означає рекурсивний характер, тому він просто не зупиняється на папці "html". якщо ви не використовували R, він застосовується лише до каталогу "html".
sudo chown -R root:www-data /var/www/html
Це встановить власника / групу "wp-content" на "www-data" і, таким чином, дозволить веб-серверу встановити плагіни через панель адміністратора.
chown -R www-data:www-data /var/www/html/wp-content
Це встановить дозвіл на кожен окремий файл у папці "html" (включаючи файли у підкаталогах) на 644, тому сторонні люди не можуть виконати жодного файлу, змінити будь-який файл, група не може виконати жодного файлу, змінити будь-який файл і лише користувачеві дозволено змінювати / читати файли, але все одно навіть користувач не може виконати жоден файл. Це важливо, оскільки це запобігає будь-якому виконанню в папці "html", також оскільки власник папки html та всіх інших папок, крім папки wp-content є "root" (або ваш користувач), www-data може " t змінювати будь-який файл поза папкою вмісту wp, тому навіть якщо на веб-сервері є якась вразливість, і якщо хтось звернувся до сайту несанкціоновано, він не може видалити головний сайт, окрім плагінів.
sudo find /var/www/html -type f -exec chmod 644 {} +
Це обмежить дозвіл на доступ до "wp-config.php" для користувача / групи з rw-r ----- цими дозволами.
chmod 640 /var/www/html/wp-config.php
І якщо плагін або оновлення скаржиться, що не може оновитись, тоді перейдіть до SSH та скористайтеся цією командою та надайте тимчасовий дозвіл "www-data" (веб-серверу) на оновлення / встановлення через панель адміністратора, а потім відновіть повернутися до "root" або вашого користувача після його завершення.
chown -R www-data /var/www/html
І в Nginx (та сама процедура для apache) для захисту папки wp-admin від несанкціонованого доступу та зондування. apache2-utils потрібен для шифрування пароля, навіть якщо у вас встановлений nginx, опустіть c, якщо ви плануєте додати більше користувачів у той самий файл.
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd userName
Тепер відвідайте це місце
/etc/nginx/sites-available/
Використовуйте цей код для захисту папки "wp-admin" з паролем, тепер він запитає пароль / ім'я користувача, якщо ви намагалися отримати доступ до "wp-admin". зауважте, тут ви використовуєте файл ".htpasswd", який містить зашифрований пароль.
location ^~ /wp-admin {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
index index.php index.html index.htm;
}
Тепер перезапустіть nginx.
sudo /etc/init.d/nginx restart