Eu resolvi isso com uma reinstalação do vsftpd. Agora o usuário trabalha.
Eu criei um usuário com:
useradd -m -s /bin/false testuser
Também adicionei o vsftpd.user_list 'testuser' e mudei a senha com passwd. Depois de um reinício do serviço vsftpd eu queria fazer logon no servidor, mas Eu tenho o erro 530 (Login incorreto). Por que não consigo fazer logon no servidor? Com o usuário padrão, que foi criado na instalação do servidor, ele funciona. Por quê?
Obrigado
Eu resolvi isso com uma reinstalação do vsftpd. Agora o usuário trabalha.
Eu tive uma situação semelhante no passado, no meu caso, o problema foi que /bin/false
não é um shell. (Desculpe, não posso explicar melhor, esqueci o fundo. Acho que tinha algo a ver com o PAM.)
Muitos tutoriais antigos recomendam configurações /bin/false
como shell para usuários sem login, mas a melhor opção é /usr/sbin/nologin
.
Tente definir /usr/sbin/nologin
como shell de login para usuários de FTP:
usermod -s /usr/sbin/nologin USERNAME
Em seguida, tente fazer login novamente.
@lxg Você estava muito perto disso.
Concordo que /usr/sbin/nologin
não é um shell porque você não o adicionou a /etc/shells
. Então, se você acrescentar esta linha ao arquivo de shells, por exemplo:
# /etc/shells: valid login shells /bin/sh /bin/dash /bin/bash /bin/rbash /usr/sbin/nologin
Isso resolve o problema.
Claro que o comando para entrar como usuário você tem que usar
usermod -s /usr/sbin/nologin USERNAME
e correspondem às permissões do diretório compartilhado.
Para reverter a possibilidade de login, use:
usermod -s /bin/bash USERNAME
BTW. Só assim funciona para mim no Ubuntu 16.04.