Предоставить FTP-доступ через SSH-соединение для пользователя без предоставления
активной shell-оболочки и ограничив пользователя в его папке(chroot)
1.Создаем группу ,в которую будут входить пользователи с доступом по sftp
1 |
# groupadd ftpaccess |
2.Настраиваем SSH для поддержки SFTP
1 |
# nano /etc/ssh/sshd_config |
1 2 3 4 5 6 7 |
#Subsystem sftp /usr/libexec/openssh/sftp-server Subsystem sftp internal-sftp Match group ftpaccess ChrootDirectory %h X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp |
1 |
# sshd -t && systemctl restart sshd |
3.Добавляем пользователя для SFTP-доступа(с оболочкой /sbin/nologin)
1 |
# adduser -d /home/user/jake -s /sbin/nologin jake -g ftpaccess |
1 |
# passwd jake |
1 |
# chown root /home/user/jake/ |
1 |
# chmod 750 /home/user/jake/ |
1 |
# mkdir /home/user/jake/www |
1 |
# chown jake:ftpaccess /home/user/jake/www |
4.Если уже существующий FTP-пользователь должен иметь SFTP-доступ, тогда
а) добавляем этого пользователя в группу ftpaccess
1 |
# usermod david -g ftpaccess |
б) изменяем права и владельца на дом.каталог пользователя
1 |
# chown root /home/user/david |
1 |
# chmod 750 /home/user/david |
в) создаем каталог,куда будет загружать свои файлы пользователь
1 |
# mkdir /home/user/david/www |
г) выставляем корректного владельца этого каталога
1 |
# chown david:ftpaccess /home/user/david/www/ |
Источник:
http://www.krizna.com/centos/setup-ftp-server-centos-7-vsftp/
http://www.aos.name/2013/01/14/no-shell-sftp-howto-ubuntu-debian/comment-page-1/#comment-16355