Мне потребовалось некоторое время, чтобы выяснить, как установить SFTP и настроить пользователя sftpwp, который ограничен собственным домашним каталогом и использует только те команды, которые являются внутренними для SFTP. Я создал символическую ссылку между / var / www в домашнем каталоге пользователя sftpwp.
Это на Ubuntu 12.04. (Я не использую более свежие выпуски Ubuntu, потому что им не нравится KVM, который я использую для прямого доступа к этой машине).
Увы, я получаю следующую ошибку при попытке обновить Wordpress.
Не удалось скопировать файл .: wordpress / wp-admin / includes / update-core.php
Я знаю, что SFTP работает, и заметил, что панель Wordpress сообщает, что она успешно загрузила файл обновления: но затем он остановился на вышеуказанной ошибке.
Я пытался получить помощь на форуме Wordpress, но мне сказали, что, поскольку это административная проблема, это было не по теме для форумов Wordpress.
Итак, в чем может быть проблема: ограничение пользователя sftpwp только тем, что является внутренним для sftp, или ограничение его домашним каталогом, или это какая-то другая проблема с разрешениями? И что было бы исправить? Пожалуйста, помните, я не администратор, а скорее программист.
Спасибо,
Тед
Я испытал его. Я просто заметил, что каталог Wordpress, как извлечено из tar.gz файла принадлежит nobody:nogroup
. Имеет место это с Вами? Если так, измените его на sftpwp:www-data
. Обратите внимание, что мы устанавливаем группу на www-data
, но мы могли добавить www-data
пользователь к sftponly
группа также и использование www-data:sftponly
как владелец. В любом случае это должно позволить разрешение записи серверу для загрузки медиа и такого. Таким образом, необходимо будет, по крайней мере, сделать:
chmod g+w wordpress/wp-content
Далее, мы можем подать заявку setgid
. Когда каталог setgid
, любой файл, созданный в нем, наследовал группу того каталога, независимо от активной группы пользователя, который создал его. Таким образом, это гарантирует, что любой файл добавляет к папке Wordpress, сохраняет www-data
(или sftponly
, если Вы, так выберите), группа. Сделайте:
chmod g+s wordpress/wp-{content,includes}
я только включал эти две папки, так как загруженное содержание обычно влияет на них. Я заметил, что загруженные медиа имели www-data:www-data
как владелец, таким образом, Вы могли бы хотеть использовать sftponly
в качестве владельца группы и затем сделать setgid
- тогда, sftp пользователь может также получить доступ к ним.