Как сделать ограничение домашним каталогом при sftp?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Ответить
MiK13
Сообщения: 1180
ОС: Linux Debian

Как сделать ограничение домашним каталогом при sftp?

Сообщение MiK13 »

В процессе работы АРМа создаются различные протоколы с результатами анализа поступающей информации.
Необходимо иметь возможность периодически забирать эти протоколы удалённым клиентом.
Как говорит начальник, для этого нужно обеспечить доступ по sftp и чтобы подключённый клиент не имел никакого доступа ни к какому другому каталогу кроме определённого (и его подкаталогам).
При наличии сервера ssh разрешить вход только одному пользователю не трудно. Но вот как сделать, чтобы он не мог подняться выше своего каталога?
Нашёл статью Как отрыть доступ пользователю к конкретной папке по sftp? с вопросом и ответом.
Делаю как там написано (только имя другое)
Создал пользователя logi, chmod 0755 /home/logi
В /etc/ssh/sshd_config заменил строчку
Subsystem sftp /usr/libexec/openssh/sftp-server
на
Subsystem sftp internal-sftp
и добавил в конец

Код: Выделить всё

Match User logi
    X11Forwarding no
    AllowTcpForwarding no
    AllowAgentForwarding no
    PermitTunnel no
    ForceCommand internal-sftp
    ChrootDirectory %h/Log
Но при попытке подключиться sftp logi@10.177.15.181
получаю в ответ

Код: Выделить всё

logi@10.177.15.181's password: 
packet_write_wait: Connection to 10.177.15.181 port 22: Broken pipe
Couldn't read packet: Connection reset by peer
А в файле /var/log/secure вижу строку
sshd[23253]: fatal: bad ownership or modes for chroot directory component "/home/logi/" [postauth]
В тексте есть:
Устанавливаем нужные права на папку:
chmod 755 /home/crazyadmin
Внимание! Ни в коем случае не следует выставлять ChrootDirectory какие-либо другие права, в таком случае будет выскакивать следующая ошибка: fatal: bad ownership or modes for chroot directory component.
Но у меня:

Код: Выделить всё

# ls -ld /home/logi/
drwxr-xr-x. 4 logi logi 4096 мар 24 14:55 /home/logi/
То есть права именно 0755

В чём может быть проблема?

P.S.
Уточняю. Система, на которой это надо реализовать -- RHEL 7.6
Но я проверил на своём компьютере -- картина аналогичная.
Разница только в двух моментах:
Debian 9:
По команде useradd -m asdf создался каталог с проавами 0755.
Ошибку вижу в файле /var/log/auth.log
RHEL 7.6:
По команде useradd -m logi создался каталог с проавами 0700. Я сам установил права 0755
Ошибку вижу в файле /var/log/secure
Но думаю, что это не принципиально
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Как сделать ограничение домашним каталогом при sftp?

Сообщение /dev/random »

MiK13 писал:
24.03.2020 15:08
drwxr-xr-x. 4 logi logi 4096 мар 24 14:55 /home/logi/
Владельцем должен быть рут.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20793
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как сделать ограничение домашним каталогом при sftp?

Сообщение Bizdelnick »

ls -ld ~logi/Log
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
MiK13
Сообщения: 1180
ОС: Linux Debian

Re: Как сделать ограничение домашним каталогом при sftp?

Сообщение MiK13 »

/dev/random писал:
24.03.2020 15:47
MiK13 писал:
24.03.2020 15:08
drwxr-xr-x. 4 logi logi 4096 мар 24 14:55 /home/logi/
Владельцем должен быть рут.
Спасибо. Похоже дело именно в этом.
Да ещё и /home оказался не рутовским.
Спасибо сказали:
Ответить