relacionadas ao que você deseja fazer são SFTP chroot jail
você precisa modificar o seu sshd_config, primeiro descomente a linha para habilitar o SFTP que corresponderá a algo como isto:
Subsystem sftp /usr/lib64/ssh/sftp-server
Na parte inferior do sshd_config, você pode ter alguns dos seguintes itens em um modelo que está comentado. Você vai querer algo especificamente assim:
# jail only user dave to folder /dave_sftp/
Match User dave
ChrootDirectory /dave_sftp
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
# jail only user ron to folder /ron_sftp/
Match User ron
ChrootDirectory /ron_sftp
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
# jail users that are in group sftp1_group to the folder /sftp1_group/
Match Group sftp1_group
ChrootDirectory /sftp1_group
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
# jail users that are in group sftp2_group to the folder /sftp2_group/
Match Group sftp2_group
ChrootDirectory /sftp2_group
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
Encerrar um usuário específico a uma pasta específica é bastante simples.
Por sua pergunta de especificar uma lista de pastas que vários usuários podem acessar , é apenas um trabalho manual de sua parte fazendo um grupo separado e combinando-o com uma pasta específica que você deseja usar, e colocando esse usuário (s) para o (s) grupo (s) relevante (s) correspondente (s) às pastas nas quais você deseja conceder acesso sftp preso. Por exemplo, coloque o usuário dave
em ambos os grupos de sftp1_group
e sftp2_group
para permitir que o usuário acesse várias pastas.
Um bom exemplo também pode ser encontrado aqui: link
esteja atento a
All folders up to the chroot home must be owned and only writable by root user. The folders cannot be group writable - even if the group is root
aqui está outro exemplo: link