как ограничить sftp только пользователями в определенную папку в каталоге chroot

Я знаю, что есть разные версии на этот вопрос. но я пытаюсь дать каждому пользователю папку в каталоге chroot, и он/она не сможет перемещаться за пределы назначенной папки.

то, что у меня есть Red Hat 7.1 Linux box в облаке. Что мне нужно, так это:

  • создать группу exchangefiles
  • ограничить группу SFTP
  • у меня есть более чем один пользователь Legacy1, Legacy2, Legacy3
    • создать пользователя/пароль для каждый пользователь
    • создавать папки в /exchangefolder для каждого пользователя
    • ограничить доступ пользователей к назначенным папкам (без навигации за пределами своей папки). например
      • Legacy1 пользователь может только SFTP в / exchangefolder / Legacy1
      • пользователь Legacy2 может только SFTP в / exchangefolder / Legacy2

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

я использовал инструкции, указанные в "https://passingcuriosity.com/2014/openssh-restrict-to-sftp-chroot/" изменить "/и т. д./по ssh/sshd_config В" путем добавления

Match Group exchangefiles
# Force the connection to use the built-in SFTP support.
ForceCommand internal-sftp 
# Chroot the connection into the specified directory.
#ChrootDirectory /home/exchangefiles/%u
#ChrootDirectory /home/exchangefiles
*ChrootDirectory %h*
# Disable network tunneling
PermitTunnel no
# Disable authentication agent forwarding.
AllowAgentForwarding no
# Disable TCP connection forwarding.
AllowTcpForwarding no
# Disable X11 remote desktop forwarding.
X11Forwarding no

создано

/home/exchangefiles
$ ls -ltr
total 16
drwxrwxr-x 2 root exchangefiles 4096 Jul 11 11:12 files
drwxrwxr-x 2 root exchangefiles 4096 Jul 11 15:31 sftptest2
drwxrwxr-x 3 root exchangefiles 4096 Jul 11 16:16 sftptest1
drwxrwxr-x 3 root exchangefiles 4096 Jul 11 18:32 sftptest3

и структура папок ниже.

Я создал пользователя по ссылке выше. но потом я попытался установить для каждого пользователя домашний каталог в структуре тюрьмы. например, пользователь sftptest1 будет иметь домашний каталог

/home/exchangefiles/sftptest1

проблема в том, что я не могу SFTP, если я не изменить

ChrootDirectory %h

to

ChrootDirectory /home/exchangefiles

, который побеждает мою цель создания отдельной папки для каждого пользователя (вроде тюрьмы в тюрьме)

это выполнимо? каков наилучший способ сделать это?

1
задан fixer1234
30.12.2022 11:09 Количество просмотров материала 3003
Распечатать страницу

1 ответ

из вашего описания мне кажется, что вам нужен отдельный каталог chroot для каждого пользователя: ChrootDirectory /home/exchangefiles/%u.

0
отвечен Curt J. Sampson 2022-12-31 18:57

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх