Необходимо иметь возможность периодически забирать эти протоколы удалённым клиентом.
Как говорит начальник, для этого нужно обеспечить доступ по 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
получаю в ответ
Код: Выделить всё
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
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/
В чём может быть проблема?
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
Но думаю, что это не принципиально