Настройка SFTP доступа
Версия от 13:15, 27 сентября 2018; Root (обсуждение | вклад)
Понадобилось настроить SFTP доступ, чтобы заливать фалы на www-сервер. Делаем на Debian Stretch. Папка с сайтом /srv/www/sldel. Проект работает от пользователя sldel
Заводим пользователя sldel без доступа к консоли
# useradd -u 10001 -m -s /sbin/nologin sldel
Делаем ему пароль
# passwd sldel
Создаём папку для chroot, о ней ниже
# mkdir /home/sldel/sldel.ru
Далее придётся подредактировать /etc/ssh/sshd_config
PasswordAuthentication yes Subsystem sftp internal-sftp Match user sldel X11Forwarding no AllowTcpForwarding no AllowAgentForwarding no PermitTunnel no ChrootDirectory %h ForceCommand internal-sftp
ChrootDirectory - родительский каталог, в данном случае, в нём будет лежать содержимое сайта.
Рестартим ssh
# service ssh restart
Теперь настроим директории
# chown root:root /home/sldel # chmod 755 /home/sldel # chown sldel:sldel /home/sldel/sldel.ru
Ну и в завершении предоставить доступ к папке, которая лежит за пределами ChrootDirectory. Для этого монтируем /srv/www/sldel
в chroot/sldel.ru
# mount --bind /srv/www/sldel/ /home/sldel/sldel.ru
Можно подключаться и заливать файло, проблем с правами быть не должно.