Я знаю, что есть разные версии на этот вопрос. но я пытаюсь дать каждому пользователю папку в каталоге 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
, который побеждает мою цель создания отдельной папки для каждого пользователя (вроде тюрьмы в тюрьме)
это выполнимо? каков наилучший способ сделать это?