Я запускаю серверную Ubuntu 10.04 LTS. программный стек, который я использую, состоит из
Чтобы такие вещи, как wordpress, работали правильно. я сделал chown www-данные: www-данные в моей папке public_html. Это все файлы, которые легко изменить с помощью nginx, и такие вещи, как автоматическое обновление wordpress, работают должным образом.
Проблема возникает, когда я вхожу в систему через ftp и пытаюсь загрузить новые файлы или изменить существующие. Поскольку я использую имя пользователя как Gaurish, и все файлы принадлежат www-data, мои запросы отклоняются.
Response: 220 (vsFTPd 2.2.2)
Command: USER gaurish
Response: 331 Please specify the password.
Command: PASS ************
Response: 230 Login successful.
Command: OPTS UTF8 ON
Response: 200 Always in UTF8 mode.
Status: Connected
Status: Starting upload of /tmp/cachegrind.out.5513
Command: CWD /home/gaurish
Response: 250 Directory successfully changed.
Command: PWD
Response: 257 "/home/gaurish"
Command: TYPE I
Response: 200 Switching to Binary mode.
Command: PORT 192,168,1,6,214,6
Response: 200 PORT command successful. Consider using PASV.
Command: STOR cachegrind.out.5513
Response: 553 Could not create file.
Error: Critical error
Status: Disconnected from server
Мне нужен способ, с помощью которого я (gaurish) и nginx (www-data) могут изменять файлы. Есть идеи, как это сделать?
Вам нужно сделать несколько вещей, чтобы получить полное решение:
www-data
группа (согласно ответу @fbh).007
так что файлы загружаются с правами записи группы.g+s
) в ваших каталогах, так что новые файлы принадлежат группе, принадлежащей группе каталога, а не основной группе создателя файла.Общая группа - это один из способов, как ранее ответили другие.
Более сложной альтернативой было бы использование системы контроля версий исходного кода, такой как CVS, Subversion, GIT и т. Д. Тогда одна административная cgi-страница, работающая как веб-сервер, может обновлять все измененные файлы на сервере. Это также гарантирует, что у вас есть резервная копия предыдущего файла перед его перезаписью, учитывая, что контроль версий включен.
Что бы вы ни делали, изучите и используйте SSH и SCP, а не FTP. Если это абсолютно необходимо, FTP следует использовать для удобства пользователей, а не для системного администрирования.
Добавьте своего пользователя в группу веб-серверов
usermod -a -G www-data gaurish