sftp - это протокол безопасной передачи файлов или Secure File Transfer Protocol (SSH File Transfer Protocol), разработан как дополнение протокола ssh (Secure Shell)
Добавляем пользователя c указанием без доступа в оболочку:
useradd -s /sbin/nologin sftpsysadmin
задаем пароль
passwd sftpsysadmin
Дальше редактируем конфиг ssh.
vi /etc/ssh/sshd_config
Находим там и закомментируем (поставим знак # перед словом Subsystem) или удалим эту строку:
Subsystem sftp /usr/lib/openssh/sftp-server
далее ниже добавляем:
Subsystem sftp internal-sftp
Match User sftpsysadmin
ChrootDirectory /usr/www
ForceCommand internal-sftp
Сохраняем и перезапускаем ssh
service sshd restart
Теперь необходимо настроить права:
на каталог: /usr/www делаем владельцем root
chown root. /usr/www
далее на каталог /example.ru находящийся внутри www
делаем владельцем нашего пользователя sftpsysadmin (и если надо группу) и даем права 775
chown -R sftpsysadmin. example.ru && chmod -R 775 example.ru
// без группы
chown -R sftpsysadmin:www-data example.ru && chmod -R 775 example.ru
// c группой
Примечание:
важно помнить, каталог выше www всегда должен быть с владельцем root, внутри него уже пользовательские каталоги иначе не пустит
/usr/www - владелец root
/usr/www/example.ru - владелец sftpsysadmin