Назад | Перейти на главную страницу

Ограничение группы пользователей определенной папкой на сервере Win2016

Во-первых, я новичок в этих вещах, поэтому мой технический словарный запас может быть не на одном уровне со всеми.

Я создал сервер Windows 2016 и успешно установил SFTP-сервер OpenSSH. К сожалению, когда я вхожу в систему под своим пользователем SFTP, я могу получить доступ ко всем папкам на диске C. Я погуглил и понял, что это потому, что для этого пользователя нет ограничений.

Я гуглил несколько часов и наткнулся на много статей, но меня это смущает. Похоже, что у OpenSSH нет простого способа контролировать ограничение папки для указания пользователя, и есть несколько способов сделать это - установить политику группы пользователей напрямую на сервере Windows (не могу найти статью об этом), загрузите Cygwin, используйте другое программное обеспечение сервера SFTP, обходной путь с файлом конфигурации сервера OpenSSH. Откровенно говоря, я не знаю, что использовать или следовать.

Мой конечный результат - разрешить 1 пользователю иметь 1 доступ к папке в FTP_Folder (корневая папка). Например, User1 может получить доступ только к папке Site1, а User2 может получить доступ только к папке Site2. Папки Site1 и Site2 хранятся в корневой папке FTP_Folder.

Какой подход лучше?

Вы, скорее всего, ищете chroot эквивалент ChrootDirectory в твоем %programdata%\ssh\sshd_config файл.

Эта директива поддерживается только с сеансами sftp, что, как мне кажется, именно то, что вам нужно. Удаленный сеанс (SSH) на сервере (cmd.exe Одер powershell.exe) бы не почитай это.

Чтобы настроить chroot-сервер только для sftp, установите ForceCommand к internal-sftp. Вы также можете настроить scp с помощью chroot, реализовав специальную оболочку, которая будет разрешать только scp и sftp.

Чтобы сделать это просто:

  1. Создайте группу Windows со всеми вашими пользователями SFTP в ней
  2. Убедитесь, что эта группа имеет доступ к вашим целевым каталогам
  3. Добавить subsystem sftp internal-sftp в ваш sshd_config (или измените его)
  4. Ограничьте новую группу каталогом через ChrootDirectory в sshd_config

Вот так, например:

Match Group myfriendlyusergroup
    ChrootDirectory /myfriendlyusergroupshomedirectory
    AllowTCPForwarding no
    X11Forwarding no
    ForceCommand internal-sftp