Estou executando um servidor Ubuntu 10.04 LTS e quero criar usuários que só possam acessar o servidor via FTP.
O que eu fiz até agora é:
- Instalar
vsftpd
- Crie um novo usuário com o shell de login padrão definido como
/bin/false
Todos os usuários normais no servidor podem acessar sua pasta pessoal através do ftp, mas os usuários para quem o acesso remoto ao shell é removido, configurando-o como /bin/false
também não podem fazer log pelo ftp.
Não entendo como o acesso ao shell afeta o vsftpd
servidor? Como habilitar o acesso ftp sem reativar o shell?
Atualização:
Encontrei esta referência que afirma que devo usar /sbin/nologin
(parece estar /usr/sbin/nologin
no Ubuntu) e que não deve afetar o acesso ftp, mas não funciona no meu caso.
Respostas:
Não sei se é uma boa prática responder à minha própria pergunta, mas encontrei uma solução simples que permite o login via FTP.
Eu precisava adicionar a linha
para o arquivo / etc / shells. Logo após esta modificação, o servidor ftp começou a aceitar o login de usuários para os quais o shell está definido / usr / sbin / nologin. Portanto, eles não podem acessar o ssh, mas ele funciona com o ftp exatamente como eu queria.
Obrigado por seus comentários úteis.
fonte
Defina o shell dos usuários de volta para
/bin/false
(ou algum outro shell inválido) e defina/bin/false
-o/etc/shells
.Eu vejo um grande problema de segurança com ajuste
/usr/sbin/nologin
em/etc/shells
. Você está dando ao FTP (e talvez outro) acesso a todos os daemons e logons que têm/usr/sbin/nologin
como shell.fonte
/etc/nologin.txt
para que o usuário do ftp possa saber que é apenas ftp ou algo parecido.