Aslında bazı eklentiler wordpress'in kök belgesini değiştirdiğinden kullanmayı planladığınız eklentilere bağlıdır. ama genellikle wordpress dizini için böyle bir şey öneriyorum.
Bu, her kök dosyada / klasörde "kök" (veya kullandığınız kullanıcı ne olursa olsun) kullanıcı olarak atanır, R özyinelemeli anlamına gelir, bu nedenle "html" klasöründe durmaz. R kullanmadıysanız, yalnızca "html" dizini için geçerlidir.
sudo chown -R root:www-data /var/www/html
Bu, "wp-content" ın sahibi / grubunu "www-data" olarak ayarlayacak ve böylece web sunucusunun eklentileri yönetici panelinden yüklemesine izin verecektir.
chown -R www-data:www-data /var/www/html/wp-content
Bu, "html" klasöründeki (alt dizinlerdeki dosyalar dahil) her bir dosyanın iznini 644 olarak ayarlar, bu nedenle dışarıdaki kişiler herhangi bir dosyayı yürütemez, herhangi bir dosyayı değiştiremez, grup herhangi bir dosyayı çalıştıramaz, herhangi bir dosyayı değiştiremez ve yalnızca kullanıcının dosyaları değiştirmesine / okumasına izin verilir, ancak yine de kullanıcı herhangi bir dosyayı yürütemez. Bu önemlidir, çünkü "html" klasöründe her türlü yürütmeyi engeller, ayrıca html klasörünün sahibi ve wp-content klasörü dışındaki tüm diğer klasörler "root" (veya kullanıcı) olduğundan, www-data ' t wp-content klasörü dışındaki herhangi bir dosyayı değiştiremez, bu nedenle web sunucusunda herhangi bir güvenlik açığı olsa da ve birisi siteye yetkisiz olarak erişse bile, eklentiler dışında ana siteyi silemez.
sudo find /var/www/html -type f -exec chmod 644 {} +
Bu, "wp-config.php" dosyasına rw-r ----- bu izinlerle kullanıcı / grup erişim iznini kısıtlar.
chmod 640 /var/www/html/wp-config.php
Ve bir eklenti veya güncelleme güncelleyemediğinden şikayet ederse, SSH'ye erişin ve bu komutu kullanın ve yönetici panelinden güncelleme / yükleme için "www-data" (web sunucusu) geçici izni verin ve ardından geri dönün tamamlandıktan sonra "root" a veya kullanıcınıza
chown -R www-data /var/www/html
Ve Nginx'te (apache için aynı prosedür) wp-admin klasörünü yetkisiz erişime ve problamaya karşı korumak için. nginx yüklü olsa bile şifreyi şifrelemek için apache2-utils gerekir, aynı dosyaya daha fazla kullanıcı eklemeyi planlıyorsanız c'yi atlayın.
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd userName
Şimdi bu konumu ziyaret edin
/etc/nginx/sites-available/
"Wp-admin" klasörünü bir parolayla korumak için bu kodları kullanın, şimdi "wp-admin" e erişmeye çalıştığınızda parola / kullanıcı adı soracaktır. burada şifrelenmiş parolayı içeren ".htpasswd" dosyasını kullanırsınız.
location ^~ /wp-admin {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
index index.php index.html index.htm;
}
Şimdi nginx'i yeniden başlatın.
sudo /etc/init.d/nginx restart