Em um Debian Wheezy 64bit, eu crio um novo usuário para um cliente colocar arquivos em um diretório. Depois que o usuário é criado, retiro seu login interativo substituindo /bin/bash
por /bin/false
in /etc/passwd
. Então eu adiciono ele a /etc/ftpchroot
, para que a sessão dele seja chrooted em seu diretório pessoal.
No entanto, assim que adicionar o usuário a /etc/ftpchroot
, quando o usuário fizer login, ele não poderá ver nenhum arquivo. O usuário é chrooted, ele não pode atravessar para cima. Ele pode fazer upload de arquivos, que estão armazenados no diretório correto, e com 640 permissões e esse usuário: essa propriedade do grupo.
Meus pensamentos até agora:
-
/etc/ftpchroot
está claramente fazendo algo e fazendo o que deve fazer.
- Qualquer usuário criado nessa máquina tem esse problema (tentou duas vezes com outros novos usuários)
- Não depende do diretório. Alterar seu diretório home e chrooting para lá mostra o mesmo problema.
É estranho para mim, como já fiz isso algumas vezes antes, e nunca encontrei isso. Infelizmente, procurar uma resposta no Google é difícil porque a descrição do problema é problemática.
Editar 1: algo que estou vendo agora. Ao efetuar o login enquanto estiver no ftpchroot, nenhuma mensagem será exibida quando o login for concluído com sucesso. No entanto, ao efetuar login sem ftpchroot, /etc/motd
é exibido após a conclusão da autenticação.
Editar 2: Eu meio que trabalhei em torno do problema instalando inetutils-ftpd
. Ele trouxe a autenticação do PAM, e depois de configurar isso, ele registra o mesmo usuário sem o problema mencionado, e ele pode fazer upload e ver seus arquivos sem nenhum problema.