como restringir o sftp apenas aos usuários para uma pasta específica dentro do diretório chroot

0

Eu sei que existem diferentes versões desta questão. mas eu estou tentando dar a cada usuário uma pasta dentro do diretório chroot e ele não deve conseguir navegar fora da pasta designada.

O que eu tenho é uma caixa Red Hat 7.1 Linux na nuvem. O que eu preciso é:

  • crie um grupo de troca de arquivos
  • restringir o grupo ao SFTP
  • tenho mais de um usuário Legacy1, Legacy2, Legacy3
    • Criar usuário / senha para cada usuário
    • Crie pastas em / exchangefolder para cada usuário
    • restringe os usuários às pastas atribuídas (sem navegação fora de suas pastas). por exemplo.
      • O usuário do Legacy1 só pode usar SFTP para / exchangefolder / Legacy1
      • O usuário do Legacy2 só pode usar SFTP para / exchangefolder / Legacy2

Depois disso, tudo o que preciso fazer sempre que tenho um novo usuário é adicioná-lo a esse grupo e a nenhum outro grupo e conceder acesso a uma pasta em / exchangefolder

Eu usei as instruções mencionadas em " link " e, em seguida, modifiquei "/ etc / ssh / sshd_config "adicionando

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

criado

/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

e a estrutura de pastas abaixo dele.

Eu criei o usuário de acordo com o link acima. mas depois tentei definir para cada diretório inicial do usuário na estrutura da cadeia. por exemplo. USER sftptest1 terá um diretório inicial

/home/exchangefiles/sftptest1

o problema é que eu não posso SFTP a menos que eu mude

ChrootDirectory %h

para

ChrootDirectory /home/exchangefiles

que derrota o meu propósito de criar uma pasta separada para cada usuário (tipo de cadeia dentro da cadeia)

isso é factível? qual é a melhor maneira de fazer isso?

    
por AMG 12.07.2016 / 19:39

1 resposta

0

A partir de sua descrição, parece-me que você deseja um diretório chroot separado para cada usuário: ChrootDirectory /home/exchangefiles/%u .

    
por 19.10.2016 / 05:32