Как лучше организовать sftp доступ к веб-серверу?

Дано: веб-сервер apache, файлы сайта принадлежат apache:apache, права в основном 0755.

Под каким пользователем лучше заходить по sftp?

Создать нового пользователя, поместить его в группу apache, сменить права доступа на 0775 и сменить umask?
Или изменить пользователя apache: добавить ему пароль и shell и заходить под ним?
Или какой-то более разумный вариант есть? Как лучше?
  • Вопрос задан
  • 4109 просмотров
Решения вопроса 1
alekciy
@alekciy
Вёбных дел мастер
Предположу, что используется PHP. Устанавливаем php-fpm и запускаем его его от требуемого пользователя. Это же юзеру даем и ssh. Как php-fpm так и ssh можно за-chroot-ить.

Можно и для apache делать рабочие процессы для каждого сайта из под своего юзера запускать. Но данный веб сервер очень давно не использую, деталей уже не припомню, но все есть в оф. документации.

Если сайт вообще один единственный (как-то на vps-е), то "пользователя apache: добавить ему пароль и shell и заходить под ним".
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@odmin4eg
У меня сделано так
стоит apache-itk
настроен sftp доступ с chroot
Домашняя папка пользователя = домашней папке виртуалхоста, апач воспринимает те фалы что созданы пользователем, если кто-то другой чисто гипотетически что-то сделает в его папке апач этого не выпустит на ружу.
Ответ написан
marchelly
@marchelly
Вот рабочее решение, в несколько копи-пейстов:
www.jamison.org/2010/12/04/how-to-configure-wordpress-for-automatic-ftps-updates-using-vsftp-in-ubuntu/
Да, оно для вордпресса, но это уже ни на что не влияет.
Ответ написан
Комментировать
Ernillew
@Ernillew
Администрирую *nix-системы с 1997 года
Про chroot чуть выше уже сказали
В /etc/ssh/sshd_config пишем что-то типа

Match User our-user ChrootDirectory /chroot AllowTCPForwarding no X11Forwarding no ForceCommand internal-sftp

у пользователя our-user ~ живет по адресу /chroot/our-user
в ней делаем директорию в которую мы хотим писать-читать
права на ~ делаем что-то типа our-user:www-data 6770
на нужном нам сервере монтируем по sshfs (sftp over fuse) конкретную директорию, а те кто попробуют вылезти далеко не уйдут ибо чрут и зайти этот юзер не может, ибо ForceCommand.

Примерно так.
Дальше можно самому покопать, если что можете постучать ко мне.
Ответ написан
@voffkared
Настроить sftp из под proftpd.
https://www.digitalocean.com/community/tutorials/h...
https://www.digitalocean.com/community/tutorials/h...
В процессе настройки:
DefaultRoot ~
Добавить нового пользователя в :apache с /bin/bash.

Если не соединяется то в конфиге proftpd проверить и добавить/закоментить:
UseFtpUsers off
# Set the user and group that the server normally runs at.
#User                           proftpd
#Group                          nogroup

Иначе смотреть в сторону selinux.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы