Как SFTP клиентам разрешить доступ только к домашней папке

Давайте рассмотрим что нужно сделать, чтоб клиент подключающийся по протоколу SFTP, имел доступ только к домашней папке, в которой располагаются его файлы.

Для того, чтоб клиенты имели возможность полноценно управлять своими сайтами на сервере, большинство хостинг провайдеров, помимо прочих услуг, предоставляют услугу FTP доступа к данным на сервере. Только существует одна проблема - протокол FTP сильно устарел и его рекомендуется использовать с дополнительными параметрами безопасности, например с фильтрацией по IP адресу клиента. Это вносит некоторые неудобства, если приходится работать с динамическим IP адресом интернет провайдера и нет возможности заказать у него статический. Для того, чтоб эту проблему обойти, можно настроить подключение к серверу, используя более безопасный протокол - SFTP (SSH File Transfer Protocol).

 

Настраиваем сервер sshd

В конце файла /etc/ssh/sshd_config добавьте следующий кусок кода:

# Этот блок должен находиться в самом конце файла
Match Group www-data
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no

В приведенном выше куске конфигурации, дается инструкция установить корневой каталог на домашнюю папку, для всех пользователей, входящих в группу ‘www-data’.

Настройка параметров учетной записи

Создаем пользователя sftp:

$ sudo useradd sftp -g www-data -s /bin/false -d /folder

Если пользователь уже присутствует в системе, изменить его параметры можно с помощью комманды usermod:

Устанавливаем группу пользователя:

$ sudo usermod sftp -g www-data

Запрещаем пользователю доступ к комадной оболочке:

$ sudo usermod sftp -s /bin/false

Устанавливаем домашнюю директорию пользователя:

$ sudo usermod sftp -d /home/folder

После внесения изменений в конфигурацию, для применения изменений, SSH сервер следует перезапустить:

$ sudo service ssh restart

Права доступа к корневой папке

Параметры сервера настроены, теперь нужно проверить права доступа к домашним, корневым папкам пользователей. Каждая папка должна иметь владельцем пользователя root, а права доступа должны быть установлены 755, или 750. Дочерние элементы могут иметь другие права доступа, главное - корневая папка.

Добавить комментарий

You must have Javascript enabled to use this form.