Как дать безопасный SFTP пользователю

Очень часто пользователи просят SFTP доступ, так как обычный FTP передает пароли открытым текстом, что очень плохо. Но полный доступ по SSH давать тоже опасно, так как это дает слишком много привилегий обычному пользователю.

Тут поможет замена обычной оболочки для интерактивной работы на сервер SFTP. Это делается очень просто.

Прежде всего надо узнать где лежит sftp-server и прописать полный путь к запуску бинарника в /etc/shells:

echo `which sftp-server` >> /etc/shells

После этого можно установить sftp-server пользователю:

chsh -s `which sftp-server` логин_пользователяя

Теперь пользователь может загружать файлы по SFTP без возможности заходить на сервер по SSH