Рейтинг:0

Как запретить пользователю SFTP видеть другие каталоги?

флаг cn

Я настраиваю веб-сервер на базе Windows Server 2019. Один из наших поставщиков должен иметь возможность загружать файлы. У меня есть

  • Добавлен sshd
  • Создал логин для их использования
  • Создал группу для этого логина
  • Добавил этот логин в группу, и удалил логин из всех остальных групп
  • Создал каталог загрузки
  • Учитывая группу Написать и Изменить разрешения в этом каталоге
  • Добавлена ​​строка ForceCommand internal-sftp -d "C:\inetpub\ftproot\Upload" к Соответствовать директива для этой группы в sshd_config

Все идет нормально. Этот логин может подключаться к ящику через SFTP, и сеанс автоматически начинается в каталоге Загрузить, и он может загружать и скачивать файлы оттуда. Но я не могу понять, как запретить ему видеть содержимое других каталогов. Просто удаление логина из группы Пользователи не имел никакого эффекта. Отказ от группы Читать и Список в заключении ftproot каталог приводит к невозможности подключения (с ошибкой аутентификации). Единственное предложение, которое я нашел за час поиска в Google, - это установить значение для ChrootDirectory, но это приводит к тому, что ни один логин не может подключиться по SFTP или SSH (с очевидными отказами службы отвечать). Я новичок в Windows Server, и у меня нет идей. Очевидно, должен быть правильный способ сделать это - может ли кто-нибудь указать мне правильное направление?

[Обновлять]

Эта коробка работает под управлением OpenSSH 7.7:

> сш -V
OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5

Когда я добавляю эту строку в Соответствовать директива для группы sftp:

ChrootDirectory "C:\inetpub\ftproot\Upload"

а затем попытайтесь подключиться как любой пользователь, независимо от того, входит ли он в эту группу или нет, это то, что появляется в sshd.log (очевидно, pid, порт и метка времени будут различаться):

3332 17-08-2021 12:04:24.931 Неверный пароль для недопустимого пользователя sftpuser с порта XX.XX.XX.XX 34240 ssh2
флаг in
Предполагая, что вы используете openssh, возможно, https://serverfault.com/a/1006119/187998 является решением, если нет, предоставьте более подробную информацию о версии и конфигурации. Также попробуйте создать и просмотреть подробные лог-файлы.
Don R avatar
флаг cn
Я добавил имеющуюся у меня дополнительную информацию. Я не могу найти какой-либо документ, относящийся к изменению уровня детализации журналов.
флаг in
А как насчет https://github.com/PowerShell/Win32-OpenSSH/issues/190#issuecomment-662879084?
Don R avatar
флаг cn
@NiKiZe Я только что попробовал «LogLevel VERBOSE», но это не повлияло на то, что было зарегистрировано, когда я пытался подключиться.
Don R avatar
флаг cn
На самом деле несколькими сообщениями ниже было кое-что, что кажется ключевым: *не* используйте кавычки в пути `ChrootDirectory`.
Рейтинг:1
флаг cn

Кажется, ключевой момент здесь нет использовать кавычки вокруг пути в этой строке:

ChrootDirectory C:\inetpub\ftproot\Upload

После внесения этого изменения создание SFTP-соединения вело себя именно так, как я надеялся: каталог, которым ограничена группа, отображается как корень.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.