Как 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. Дочерние элементы могут иметь другие права доступа, главное - корневая папка.

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

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешённые HTML-теги: <a> <s> <u> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <hr> <dd> <sub> <sup>
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и параграфы переносятся автоматически.
CAPTCHA
Защита от СПАМ ботов. Подтвердите, пожалуйста, что вы человек.