Como posso criar usuários com apenas acesso remoto via FTP no servidor Linux?

11

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/falsetambém não podem fazer log pelo ftp.

Não entendo como o acesso ao shell afeta o vsftpdservidor? 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/nologinno Ubuntu) e que não deve afetar o acesso ftp, mas não funciona no meu caso.

jmbouffard
fonte
Pode ser configuração tentar / bin / true
balki
Eu nunca usei o vsftpd, mas encontrei uma solução que faz o que você precisa. Não sei se é a melhor solução (acho que deve funcionar, mas talvez haja algo melhor).
pbm
Apenas tentei / bin / true e não funciona.
11116 jjfreffard
Obrigado @pbm, mas não é exatamente o que estou procurando, porque eu preferiria usar usuários reais.
11116 jjfreffard

Respostas:

12

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

/ usr / sbin / nologin

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.

jmbouffard
fonte
Eu li em algum lugar alguns dias atrás que isso abre vulnerabilidade de segurança. Quaisquer especialistas que possam esclarecer isso para mim.
Navneil
0

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/nologinem /etc/shells. Você está dando ao FTP (e talvez outro) acesso a todos os daemons e logons que têm /usr/sbin/nologincomo shell.

Jerry Callahan
fonte
1
Como exatamente? O nologin existe para permitir, bem, o nologin - com uma mensagem personalizada opcional, /etc/nologin.txtpara que o usuário do ftp possa saber que é apenas ftp ou algo parecido.
Dani_l
O vsftpd é aquele que protege contra acesso não autorizado, tendo suas próprias listas de acesso.
Dani_l