Я знаю, что есть разные версии этого вопроса. но я пытаюсь дать каждому пользователю папку в каталоге 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/ ", затем изменил "/etc/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

и структура папок под ним.

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

/home/exchangefiles/sftptest1

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

ChrootDirectory %h

в

ChrootDirectory /home/exchangefiles

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

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

1 ответ1

0

Из вашего описания это звучит так, как будто вы хотите отдельную директорию chroot для каждого пользователя: ChrootDirectory /home/exchangefiles/%u .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .