Я пытаюсь создать пользователя ftp, который может обновлять и изменять файлы в веб-каталоге apache2 v2.4 (с www-data).
У меня один пользователь: UserA (имена изменены для защиты виноватых) Папка / var / www / vhosts; chowned to www-data: www-data Пользователь A добавлен в группу www-data. Домашний каталог UserA установлен в / var / www / vhosts
У меня установлен и запущен ProFTPd. UserA подключается нормально.
Проблема заключается в праве собственности на папки / файлы. для всех файлов установлено значение 644, как обычно для всех папок установлено значение 755.
поскольку UserA не является владельцем, он подпадает под действие групповых политик, и файлы не могут быть добавлены, удалены или изменены из-за ограничений.
Есть ли способ замаскировать UserA под www-данные, чтобы они могли выполнять эту работу?
Правильно ли я думаю об этом? есть ли другой способ сделать это? Спасибо Пользователь подключается через FTP к веб-папке
Если я правильно понимаю вопрос, вы хотели бы использовать FTP на своем веб-сервере и загружать файлы в корневой каталог. Владелец и группа файлов (и каталогов?) www-data:www-data
.
Что может происходить частично (прошло некоторое время с тех пор, как я использовал ProFTP), так это umask
пользователя userA настроен в ProFTP с другим umask
чем то, что использует оболочка. Это может затруднить устранение неполадок.
Я бы попробовал следующее:
Добавить userA
к www-data
группа (как вы это сделали)
назначить режим 0775
к vhosts
каталог (например: chmod 0775
)
применить SGID (например: chmod g+w+s vhosts
) на vhosts
поэтому к любым файлам применена групповая завивка
Это должно привести к:
userA загружает файл, который попадает в vhosts
принадлежит userA
но с www-data
групповое владение
так как vhosts
в каталоге не установлен липкий бит (установленный выше как 0775
) любой пользователь в www-data
группа с доступом для записи группы в vhosts
может удалить / изменить файл
НОТА: обратите особое внимание на apparmor
и возможно SElinux
. Возможно, вам потребуется настроить конфигурацию этих утилит (если они установлены), чтобы разрешить веб-серверу или ProtFTP писать туда.
НОТА: Рекомендуемую безопасную альтернативу FTP см. В WinSCP / SFTP. Создав пару ключей OpenSSH, вы можете поместить свой открытый ключ в www-data
домашний каталог пользователя и «замаскируется» под веб-сервер при входе в систему через WinSCP. Это позволяет использовать шифрованную связь, более безопасную аутентификацию и меньше возиться с изменением разрешений.