ChihPih писал(а):
Все это правами решается.
Как? только не говорите, что chmod'ом

Как правами сделать так, чтобы пользователь при логине через ssh вообще не видел папки выше своей директории?
Ок, начну исследования, может кто нибудь подскажет.
И так...
В OpenSSH есть поддержка chroot.
То есть мне нужно сделать так, что бы пользователь подключившийся по ssh видел только свое домашнее окружение и не мог выйти в каталоги других пользователей.
Панель создает директории в /usr/local/www/data/virtual/name_site.ru
Тоесть для начала мне нужно назначить домашнюю директорию пользователю владельцу папки name_site.ru. Ок, назначу, в handbook видел где-то как это делается.
Исследую настройки в /etc/ssh/sshd_config.
AllowGroups wheel (и тут перечисляем названия групп vu2001 vu2002 vu2003 и тд.) Трудоемко, не правдали,
возможно ли это автоматизировать или сделать алиас для всех этих vu?
мой /etc/group
Код: Выделить всё
...........
vu2018:*:2018:
vu2019:*:2019:
vu2020:*:2020:
vu2022:*:2022:
vu2023:*:2023:
..........
Далее, есть такой пункт как ChrootDirectory.
Match group vu2001 vu2002 vu2003 (в правильности этого пункта сомневаюсь)
ChrootDirectory %h (тут как я понял при логине будет использоваться домашняя директория в качестве корня, поправьте если не прав)
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Далее по статье:
Создадим будущему пользователю домашний каталог, куда он и будет кидать свои файлы
# mkdir /usr/local/www/example
А внутри этого каталога еще один
# mkdir /usr/local/www/example/www
У меня панель и так создает каталог /usr/local/www/data/virtual/example.ru
Вместо
/usr/local/www/example/www у меня
/usr/local/www/data/virtual/example.ru/htdocs
Теперь надо правильно добавить пользователя через adduser. Надо включить его в группу sftponly, дать реальную оболочку(например sh),указать правильный домашний каталог(мы его уже создали), ну естественно, пароль.
Думаю это можно сделать шаблоном самой панели, поковырявшись в коде. Ок, допустим сделал.
# chown -R root /usr/local/www/example
# chown -R our_user /usr/local/www/example/www
А вот это не совсем понял, зачем ставить владельцем root? И давать права только на одну папку в домашней директории? Можно ли дать права на все папки? У меня там хранятся еще бекапы и логи, иногда это полезно пользователям.
Буду благодарен за любую помощь.