Adiciona usuário no Jessie que pode fazer logon no FTP, mas não tem shell

1

Eu configurei um servidor vsftpd e usei o chroot para manter os usuários travados dentro de seus diretórios, o que funciona muito bem. Desde então, tentei editar o arquivo passwd para definir o shell padrão como /bin/false e mesmo /user/sbin/nologin para impedir que os usuários façam login com SSH e exibam minha estrutura de pastas (mesmo que eles não tenham rwx permissions). / p>

Embora eu não esteja surpreso com a segunda opção não funcionar, eu me pergunto por que eu também não consigo acessar a conta com um cliente FTP se eu definir o shell padrão como algo diferente de /bin/sh ou /bin/bash .

Como eu faria para que a conta fosse um login válido para FTP, mas sem acesso SSH?

    
por mti_ 08.09.2015 / 17:30

2 respostas

1

Para acesso ftp sem shell ou outro acesso, o vsftp suporta usuários virtuais. A solução basicamente equivale a usar o PAM para operar em uma lista de usuários diferente e ajustar o vsftpd config para honrar essa lista. Há um artigo detalhado aqui:

O artigo menciona a necessidade de "db_util"; em Jessie você pode encontrar várias versões assim:

apt-cache search '^db.*-util$'
    
por 08.09.2015 / 19:14
1

Por meio da configuração do OpenSSH, pode-se desabilitar o acesso em sshd_config :

DenyUsers joe bob

Embora seja mais sensato ter uma lista de pessoas com permissão para SSH e depois negar a todas as outras pessoas:

AllowGroups wheel staff

Ou, em vez disso, para agrupar todos os usuários de ftp em um grupo específico (digamos, nossh ) e negar isso. É mais fácil alterar as associações de grupo do que sempre editar sshd_config .

DenyGroup nossh

outra maneira de dividir isso (no Linux) é ajustar a configuração do PAM, por exemplo, usar pam_access.so para /etc/pam.d/ssh (mais a configuração access.conf(5) apropriada), mas não para FTP.

    
por 09.09.2015 / 16:22