loading

Закрываем пользователя в SSH директории

sftp.png

Задача

Имеется web сервер на linux, необходимо нарезать права доступа пользователям по SHH. Или другими словами - запереть пользователя в своей папке. Для этого для начала необходимо установить сервер sshd (OpenSSH), он позволяет осуществлять доступ по протоколу SFTP.
Пользователь user1
Папка /var/www/sites/siteofuser1.ru

Установка

Все действия выполняем из под SU(суперпользователя)
OpenSSH:
apt-get install openssh-server
Ничего дополнительно, например, openssh-chroot устанавливать не нужно, в современных версиях openssh уже эта директива поддерживается.

Группа user1:
groupadd user1

Пользователь:
useradd -d /dev/null -M -s /bin/bash user1 -g user1
passwd user1

Папка:
mkdir /var/www/sites/siteofuser1.ru
chmod 777 /var/www/sites/siteofuser1.ru
chown user1:user1 /var/www/sites/siteofuser1.ru

Настройка

nano /etc/ssh/sshd_config

Вносим изменения:
## По умолчанию:

Subsystem sftp /usr/lib64/misc/sftp-server

## Меняем на:

Subsystem sftp internal-sftp

## В самый низ файла добавляем:

Match User user1
X11Forwarding no
AllowTcpForwarding no
AllowAgentForwarding no
PermitTunnel no
ForceCommand internal-sftp
ChrootDirectory /var/www/sites

## В ChrootDirectory указываем директорию, в которой находится папка пользователя, т.е. siteofuser1.ru


Перезапускаем ssh
service ssh restart

Внимание

А теперь очень важный момент, на который я убил добрых 4 часа, пытаясь понять что я сделал не так.

Права доступа к папкам.
ВСЕ папки, предшествующие siteofuser1.ru должны принадлежать пользователю root, группе root. И иметь права 750.

Еще раз - ВСЕ ПАПКИ.

chown root:root /var
chown root:root /var/www
chown root:root /var/www/sites
chmod 750 /var
chmod 750 /var/www
chmod 750 /var/www/sites

А сама папка пользователя siteofuser1.ru должна принадлежать ему, т.е. user1:user1 и иметь права не ниже 755.
chown user1:user1 /var/www/sites/siteofuser1.ru
chmod 755 /var/www/sites/siteofuser1.ru

Вот собственно все. У меня же проблема была в том, что папка /var/www не принадлежала root, а другому пользователю, хотя /var/www/sites принадлежала root.

Кроме того рекомендую почитать про то, как настроить безопасность SSH и могу посоветовать отличный клиент для работы с SHH для Windows - WinSCP



icon warning
 (Голосов: 5)
icon cloud ssh, linux

icon edit Pavel-golicon date(25 июня 2016)
icon print
Добавление комментария:
Имя:
Пароль: (если зарегистрирован)
Email: (обязательно!)
captcha
- Как обратиться к администратору сети. : Здравствуйте. Помогите разобра...
----------
- Как обратиться к администратору сети. : Да, в дополнение к моему обращ...
----------
- Как обратиться к администратору сети. : Здравствуйте! Помогите разобра...
----------
- Как обратиться к администратору сети. : При нажатии на кнопку ПОЧТА ,в...
----------
- Как обратиться к администратору сети. : У меня не открываются порты, в...
----------
Up
Down