O CentOS requer a inserção de senha duas vezes para sudo, login

6

Em todas as solicitações de login ou sudo, o servidor sempre rejeita a senha quando ela é fornecida pela primeira vez, mas a aceita pela segunda vez. Eu encontrei este tópico que descreve o que parece ser o mesmo problema, mas brincar com o meu arquivo /etc/pam.d/system-auth ao longo das linhas da solução descrita não funcionou para mim. Alterar a primeira instância de 'try_first_pass' para 'use_first_pass', por exemplo, fez com que a autenticação de login falhasse continuamente, assim como a remoção de 'nullok'. Alguém sabe o que precisa ser alterado para que o sistema aceite senhas corretas na primeira vez?

/etc/pam.d/system-auth:

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_fprintd.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_ldap.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3 type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_ldap.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_ldap.so

Editar : em resposta a um comentário, aqui está o /etc/pam.d/login:

#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth       include      system-auth
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
session    optional     pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      system-auth
-session   optional     pam_ck_connector.so

Deixe-me adicionar, tudo o que sei sobre autorização é o que consegui pesquisar na última hora - estou lidando com esse problema por desespero, porque o nosso cara de TI não. Então, por favor, lance suas respostas de acordo. Eu tenho uma familiaridade geral razoável com o Linux.

Editar : Respondendo a outro comentário, aqui está o que aparece em / var / log / secure durante uma tentativa de login típica (em que a senha foi digitada corretamente nas duas vezes). Informações como nome do servidor e IP foram alteradas.

Oct 28 07:37:41 myserver sshd[944]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=asus-laptop-abc.def.ghi.edu  user=matt
Oct 28 07:37:41 myserver sshd[944]: pam_ldap: ldap_starttls_s: Operations error
Oct 28 07:37:43 myserver sshd[944]: Failed password for matt from 123.456.78.90 port 12345 ssh2
Oct 28 07:37:47 myserver sshd[944]: pam_sss(sshd:account): Access denied for user matt: 10 (User not known to the underlying authentication module)
Oct 28 07:37:47 myserver sshd[944]: Accepted password for matt from 123.456.78.90 port 12345 ssh2
Oct 28 07:37:47 myserver sshd[944]: pam_unix(sshd:session): session opened for user matt by (uid=0)

Curiosamente, o texto acima é diferente do que acontece se eu inserir uma senha genuína incorreta na primeira vez, nesse caso, há essa linha adicional após a primeira pam_ldap chamada:

Oct 28 08:13:13 myserver sshd[1054]: pam_ldap: error trying to bind as user "uid=matt,ou=People,dc=abc,dc=ghi,dc=edu" (Invalid credentials)

Então o sistema sabe que as credenciais estão corretas no primeiro caso, mas falha no login de qualquer maneira ?! E aqui está o que acontece quando eu chamo o uso do sudo, que também força um login duplo (neste caso, use o nano para ler / var / log / secure):

Oct 28 08:13:27 myserver  sudo: pam_unix(sudo:auth): authentication failure; logname=matt uid=1000 euid=0 tty=/dev/pts/2 ruser=matt rhost=  user=matt
Oct 28 08:13:32 myserver sudo:     matt : TTY=pts/2 ; PWD=/home_dir/home/matt ; USER=root ; COMMAND=/bin/nano /var/log/secure

Editar : Esse problema não existe quando eu faço login como root! Ele aceita a senha na primeira tentativa, / var / log / secure tem essa aparência, o que eu presumo ser normal:

Oct 29 14:25:58 myserver sshd[7074]: Accepted password for root from 123.456.78.90 port 12345 ssh2
Oct 29 14:25:58 myserver sshd[7074]: pam_unix(sshd:session): session opened for user root by (uid=0)
    
por Matt Phillips 27.10.2014 / 13:43

1 resposta

1

Eu não tenho representante suficiente para comentar, então isso é um tiro no escuro tentando responder.

pam_ldap: ldap_starttls_s: Operations error

Eu tenho que saber se esta parte do seu log está indicando o culpado. Minha suspeita é que sua configuração do ldap está manipulando erroneamente o tls de alguma forma que faz com que a conexão falhe.

Observe as respostas de cada módulo:

pam_ldap: ldap_starttls_s: Operations error
pam_sss(sshd:account): Access denied for user matt: 10 (User not known to the underlying authentication module)
pam_unix(sshd:session): session opened for user matt by (uid=0)

Então, o que temos aqui é o ldap dizendo que ele falhou devido a um erro, sss dizendo que não sabe quem você é e a autenticação local dizendo com sucesso.

Direções a considerar:

  1. Há algum erro nos logs do servidor ldap?
  2. Se possível, você pode desabilitar o TLS e ver se isso funciona?
  3. O ldapsearch funciona?
por 28.04.2015 / 12:28