Por que o root precisa digitar uma senha ao executar comandos específicos?

2

Em uma certa máquina RHEL5, quando o root está executando comandos como passwd someuser ou qualquer outro comando privilegiado, a senha raiz é solicitada para verificação e o comando não pode ser executado sem ela.

Exemplo:

# id
uid=0(root) gid=0(root)  
groups=0(root),10(wheel)
# passwd someuser
Password:(need to enter root verification password to proceed)
New user password:
Retype new password:
  • O usuário root

    está presente no arquivo /etc/sudoers , conforme mostrado abaixo:

    root ALL=(ALL) ALL
    
  • Todos os arquivos básicos em /etc/pam.d/ , como login , passwd , password-auth , password-auth-ac , system-auth-ac , system-auth , sudo , sudo-l são iguais aos de outra máquina que não se comportam da mesma maneira.

  • O SElinux está desativado.

  • /etc/nsswitch.conf é inalterado e consistente com outras máquinas.

    passwd:         files ldap 
    group:          files ldap 
    shadow:         files ldap 
    hosts:          files dns
    networks:       files
    protocols:      files
    services:       files
    ethers:         files
    rpc:            files
    netgroup:       files
    sudoers:  files ldap
    
  • Não é possível ver muita informação dos arquivos de logs, conforme listado abaixo, ao executar o comando passwd:

    /etc/log/secure - empty (Infelizmente não tenho permissão para tocar no rsyslog)

    /etc/log/auth.log

    sshd[xxxxx]:  Accepted keyboard-interactive/pam for root from 127.0.0.XX port XXXXX ssh2
    sshd[xxxxx]:  pam_unix(sshd:session): session opened for user root by (uid=0)
    
  • O mesmo acontece quando conectado diretamente (sem ssh) ao console.

Alguém já experimentou um comportamento semelhante?

Ou você pode recomendar algum sinalizador de depuração ou um método que possa ajudar a encontrar a causa do problema?

    
por 3nk1 25.02.2016 / 06:55

2 respostas

0

Isso provavelmente está relacionado à sua configuração de pam. Não tenho certeza se é exatamente o mesmo no RHEL 5, mas no RHEL 6, a autenticação por conta é bem-sucedida por padrão para usuários com UID < 500 porque /etc/pam.d/system-auth contém a linha:

account     sufficient    pam_succeed_if.so uid < 500 quiet

Como outras ferramentas relacionadas à autenticação no RHEL, /usr/bin/passwd usa o pam e a configuração em /etc/pam.d .

A restauração de /etc/pam.d/system-auth executando yum reinstall pam ou extraindo /etc/pam.d/system-auth do rpm é provavelmente sua aposta mais segura. O arquivo system-auth existente não pode ser sobrescrito, mas escrito como system-auth.rpmnew .

    
por 26.02.2016 / 02:23
0

Primeiramente, obrigado a todos pela ajuda.

O problema foi resolvido depois de gerar novas chaves ssh:

# ssh-keygen -t rsa

Encontrei discrepância entre os arquivos authorized_keys2 e id_rsa.pub e, assim, geramos novas chaves. Eu honestamente não tinha ideia de que isso poderia resolver o problema, já que eu parei de suspeitar do ssh desde que eu notei que o problema estava acontecendo na conexão do console também.

    
por 26.02.2016 / 07:56