Я посмотрел здесь, но не нашел подробностей о лучших разрешениях файла. Я также взглянул на некоторые вопросы формы WordPress здесь, но любой, кто предлагает 777, очевидно, нуждается в небольшом уроке по безопасности.
Короче мой вопрос такой. Какие разрешения я должен иметь для следующего:
- корневая папка, в которой хранится весь контент WordPress
- WP-администратора
- WP-содержание
- WP-включает в себя
а потом все файлы в каждой из этих папок?
Ответы:
При настройке WP вам (веб-серверу) может потребоваться доступ на запись к файлам. Таким образом, права доступа могут быть потеряны.
После настройки вы должны ужесточить права доступа , согласно Hardening WordPress, все файлы, кроме wp-контента, должны быть доступны для записи только вашей учетной записи пользователя. wp-контент должен быть доступен для записи и для www-данных .
Возможно, вы захотите изменить содержимое в wp-content позже. В этом случае вы могли бы
su
,Что бы вы ни делали, убедитесь, что файлы имеют права доступа rw для www-данных .
источник
www-data
??? Это действительно звучит совсем не безопасно.Предоставление пользователю полного доступа ко всем wp-файлам
www-data
(в данном случае это пользователь веб-сервера) может быть опасным. Так что скорее НЕ делайте этого:Однако это может быть полезно в тот момент, когда вы устанавливаете или обновляете WordPress и его плагины. Но когда вы закончили, больше не стоит хранить wp-файлы, принадлежащие веб-серверу.
Это в основном позволяет веб-серверу размещать или перезаписывать любые файлы на вашем сайте. Это означает, что есть возможность захватить ваш сайт, если кому-то удастся использовать веб-сервер (или дыру в безопасности в каком-то скрипте .php), чтобы поместить некоторые файлы на ваш сайт.
Чтобы защитить ваш сайт от такой атаки, вам необходимо следующее:
Источник и дополнительная информация: http://codex.wordpress.org/Hardening_WordPress
источник
Для тех, у кого есть корневая папка WordPress в домашней папке:
** Ubuntu / Apache
КРЕДИТ Предоставление прав на запись для группы www-данных
Вы хотите позвонить
usermod
своему пользователю. Так что это будет:** Предполагая, что
www-data
группа существуетПроверьте, что ваш пользователь находится в
www-data
группе:groups yourUserName
Вы должны получить что-то вроде:
** youUserGroupName обычно похоже на ваше имя пользователя
Рекурсивно меняйте групповое владение папкой wp-content, сохраняя право владения пользователем
chown yourUserName:www-data -R youWebSiteFolder/wp-content/*
Сменить каталог на youWebSiteFolder / wp-content /
cd youWebSiteFolder/wp-content
Рекурсивно измените групповые разрешения для папок и подпапок, чтобы включить разрешения на запись:
find . -type d -exec chmod -R 775 {} \;
** режим `/ home / yourUserName / youWebSiteFolder / wp-content / 'изменен с 0755 (rwxr-xr-x) на 0775 (rwxrwxr-x)
Рекурсивно измените групповые разрешения для файлов и вложенных файлов, чтобы включить разрешения на запись:
find . -type f -exec chmod -R 664 {} \;
Результат должен выглядеть примерно так:
Эквивалентно:
chmod -R ug + rw foldername
Разрешения будут как 664 для файлов или 775 для каталогов.
Ps, если кто-либо сталкивается с ошибкой
'could not create directory'
при обновлении плагина, делайте:server@user:~/domainame.com$ sudo chown username:www-data -R wp-content
когда вы находитесь в корне своего домена.
Предполагая:
wp-config.php
имеетучетные данные FTP на LocalHost
define('FS_METHOD','direct');
источник
Лучше всего прочитать документацию WordPress на этом https://wordpress.org/support/article/changing-file-permissions/
источник
Я установил разрешения для:
В моем случае я создал конкретного пользователя для WordPress, который отличается от пользователя по умолчанию apache, который запрещает доступ из Интернета к файлам, принадлежащим этому пользователю.
Затем он дает пользователю apache разрешение на обработку папки загрузки и, наконец, устанавливает достаточно безопасные права доступа к файлам и папкам.
отредактированный
Если вы используете W3C Total Cache, вы должны также сделать следующее:
Тогда это сработает!
отредактированный
Через некоторое время при разработке сайтов на WordPress я бы порекомендовал разные права доступа к файлам для каждой среды:
В производственном процессе я бы не давал пользователям доступ к изменению файловой системы, я только позволял им загружать ресурсы и предоставлять доступ к некоторым плагинам для определенных папок для создания резервных копий и т. Д. Но управление проектами в Git и использование ключей развертывания в сервер, это не хорошие плагины обновления для постановки, ни производства. Я оставляю здесь настройки файла производства:
www-data: www-data = пользователь и группа apache или nginx
Постановка будет иметь те же производственные разрешения, которые должны быть клоном.
Наконец, среда разработки будет иметь доступ к плагинам обновления, переводам, всему, что угодно ...
www-data: www-data = пользователь apache или nginx и группа your-user: root-group = ваш текущий пользователь и корневая группа
Эти разрешения предоставят вам доступ к разработке в папке
themes
иyour-plugin
папке без разрешения. Остальная часть контента будет принадлежать пользователю Apache или Nginx, что позволит WP управлять файловой системой.Перед созданием git-репо сначала запустите эти команды:
источник
Правильные разрешения для файла - 644 Правильные разрешения для папки - 755
Чтобы изменить разрешения, используйте терминал и следующие команды.
755 для папок и 644 для файлов.
источник
Я думаю, что следующие правила рекомендуются для сайта WordPress по умолчанию:
Для папок внутри wp-содержимого установите права доступа 0755:
плагины chmod -R 0755
chmod -R 0755 загрузок
chmod -R 0755 обновление
Пусть пользователь apache будет владельцем вышеуказанных каталогов wp-контента:
Чоун Apache загрузки
апгрейд chown apache
плагины chown apache
источник
На самом деле это зависит от плагинов, которые вы планируете использовать, так как некоторые плагины изменяют корневой документ WordPress. но обычно я рекомендую что-то подобное для каталога WordPress.
Это назначит «root» (или любого другого пользователя, которого вы используете) как пользователя в каждом отдельном файле / папке, R означает рекурсивный, поэтому он не останавливается на папке «html». если вы не использовали R, то это применимо только к каталогу "html".
Это установит владельца / группу «wp-content» на «www-data», что позволит веб-серверу устанавливать плагины через панель администратора.
Это установит разрешение для каждого отдельного файла в папке «html» (включая файлы в подкаталогах) равным 644, поэтому посторонние люди не могут выполнить любой файл, изменить любой файл, группа не может выполнить любой файл, изменить любой файл и только пользователю разрешено изменять / читать файлы, но даже пользователь не может выполнить ни один файл. Это важно, потому что это предотвращает любое выполнение в папке «html», а также потому, что владельцем папки html и всех других папок, кроме папки wp-content, являются «root» (или ваш пользователь), www-data может ' • изменить любой файл за пределами папки wp-content, поэтому, даже если на веб-сервере есть какая-либо уязвимость, и если кто-то получил к нему несанкционированный доступ, он не сможет удалить основной сайт, кроме плагинов.
Это ограничит разрешение доступа к «wp-config.php» пользователю / группе с rw-r ----- этими разрешениями.
И если плагин или обновление жаловались, что он не может обновиться, то получите доступ к SSH и используйте эту команду, а также предоставьте временное разрешение на «www-data» (веб-сервер) для обновления / установки через панель администратора, а затем вернитесь вернуться к «root» или вашему пользователю, как только он будет завершен.
А в Nginx (такая же процедура для apache) для защиты папки wp-admin от несанкционированного доступа и зондирования. apache2-utils необходим для шифрования пароля, даже если у вас установлен nginx, пропустите c, если вы планируете добавить больше пользователей в тот же файл.
Теперь посетите это место
Используйте эти коды для защиты папки «wp-admin» паролем, теперь она спросит пароль / имя пользователя, если вы попытались получить доступ к «wp-admin». обратите внимание, здесь вы используете файл ".htpasswd", который содержит зашифрованный пароль.
Теперь перезапустите nginx.
источник
Команды:
Где ftp-пользователь - это пользователь, которого вы используете для загрузки файлов
источник
$(whoami)
вместоftp-user
. По умолчанию ваш текущий пользователь ( не root ) является вашим пользователем FTP, если вы используете свой собственный сервер (локальный, vps и т. Д.)Чтобы полностью убедиться, что ваш сайт защищен и вы используете правильные разрешения для своих папок, используйте плагин безопасности, подобный следующему:
https://en-ca.wordpress.org/plugins/all-in-one-wp-security-and-firewall/
https://en-ca.wordpress.org/plugins/wordfence/
Эти плагины будут сканировать вашу установку Wordpress и сообщать вам о любых потенциальных проблемах. Они также предупредят вас о любых небезопасных разрешениях для папок. В дополнение к этому, эти плагины будут рекомендовать вам, какие разрешения должны быть назначены для папок.
источник
источник
Я не могу сказать вам, правильно это или нет, но я использую изображение Bitnami через Google Compute App Engine. У меня проблемы с плагинами и миграцией, и после того, как я все испортил с помощью прав доступа chmod, я нашел эти три строки, которые решили все мои проблемы. Не уверен, что это правильно, но сработало для меня.
источник
Для OS X используйте эту команду:
источник
Определите в файле wp_config.
chown - меняет владельца файлов / директорий. То есть. владелец файла / dir изменится на указанный, но не изменит разрешения.
источник
Основываясь на прочтении и мучениях на моих сайтах, и после того, как меня взломали, я пришел к приведенному выше списку, который включает разрешения для плагина безопасности для Wordpress под названием Wordfence. (Не связан с этим)
В нашем примере корнем документа WordPress является /var/www/html/example.com/public_html
Откройте разрешения, чтобы www-данные могли записывать в корень документа следующим образом:
Теперь с панели инструментов на вашем сайте, как администратор, вы можете выполнять обновления.
Безопасный сайт после завершения обновлений, выполнив следующие действия:
Приведенная выше команда изменяет права доступа ко всему в установке WordPress для пользователя WordPress FTP.
Приведенная выше команда гарантирует, что плагин безопасности Wordfence имеет доступ к своим журналам. Каталог загрузки также доступен для записи по www-данным.
Приведенная выше команда также гарантирует, что для плагина безопасности необходим доступ на чтение и запись для правильной работы.
Разрешения для каталогов и файлов
Установите разрешения для wp-config.php равными 640, чтобы только wp-пользователь мог читать этот файл, и никто другой. Разрешения 440 не работали для меня с вышеуказанным владельцем файла.
Автоматические обновления Wordpress с использованием SSH работали нормально с PHP5, но не работали с PHP7.0 из-за проблем с php7.0-ssh2 bundeld с Ubuntu 16.04, и я не мог найти, как установить правильную версию и заставить ее работать. К счастью, очень надежный плагин под названием ssh-sftp-updater-support (бесплатный) делает возможным автоматическое обновление с использованием SFTP без необходимости в libssh2. Таким образом, вышеуказанные разрешения никогда не нужно ослаблять, за исключением редких случаев, когда это необходимо.
источник