Eu acho que o problema é que você usou useradd
não adduser
nome de usuário do sudo adduser
Por favor, verifique este link
Estou um pouco confuso com este e realmente posso usar alguma ajuda.
Temos uma caixa do CentOS 6 rodando o VSFTPD como uma caixa de depósito para nossos clientes. Cada cliente recebe um usuário local e é chrooted para seu diretório inicial. As conexões são feitas com SSL explícito.
Configuração de VSFTPD da seguinte forma:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
require_ssl_reuse=NO
ssl_ciphers=HIGH
check_shell=NO
Até agora, adicionamos três usuários, cada um da mesma maneira.
useradd -s /sbin/nologin username
passwd username
Os dois primeiros usuários funcionam perfeitamente. O terceiro recebe uma mensagem Login Incorrect
do VSFTPD.
Eu alterei a senha do terceiro usuário para test
apenas para verificar se não havia erro de digitação na conexão, mas obtive a mesma coisa.
A mensagem em /var/log/secure
para a terceira tentativa do usuário é
pam_unix(vsftpd:auth): authentication failure; logname= uid=0 euid=0 tty=ftp ruser=user3 rhost=127.0.0.1 user=user3
Alguém tem alguma sugestão.
O status do SELinux está desativado
A saída de ls -lZd
em cada diretório é
Usuário de trabalho:
drwx------ user1 user1 ? .
Utilizador não funcional:
drwxr-xr-x user2 user2 ? .
Portanto, há uma diferença óbvia nas permissões, mas o usuário em funcionamento é menos permissivo?
Eu acho que o problema é que você usou useradd
não adduser
nome de usuário do sudo adduser
Por favor, verifique este link
O PAM não permite que você autorize o usuário se o shell dele não estiver listado em /etc/shells
.
Altere o shell do usuário para um nologin
correto:
# chsh -s $(command -v nologin) user3
E verifique se ele está listado em /etc/shells
:
# grep "$(command -v nologin)" /etc/shells || echo "$(command -v nologin)" >> /etc/shells
Tome cuidado para criar o usuário com / sbin / nologin porque um erro de digitação como / bin / nologin faz a diferença