Como é possível não conseguir fazer login como root por ( su root
ou su
recebo erro de senha incorreto), mas consigo fazer login com ssh root@localhost
ou ssh root@my_local_IP
com a mesma senha?
Estou usando o CentOS 6.4.
Update1 :
cat /etc/pam.d/su
dá:
#%PAM-1.0
auth sufficient pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
auth include system-auth
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
session optional pam_xauth.so
Update2 :
$ sudo grep su /var/log/secure | grep -v sudo
dá:
Feb 23 13:12:17 fallah su: pam_unix(su:auth): authentication failure;
logname=fallah uid=501 euid=501 tty=pts/0 ruser=fallah rhost= user=root
repetido cerca de 20 vezes.
centos
login
authentication
su
Alireza Fallah
fonte
fonte
/etc/securetty
(cp /etc/securetty{,.old}; : > /etc/securetty
). Se isso ainda não funcionar, forneça o conteúdo de/etc/pam.d/su
.ssh 192.168.1.218
você está apenas fazendo login como você mesmo? Para fazer login como root viassh
normalmente seria necessáriossh [email protected]
oussh root@localhost
.echo $$
), abra (por exemplo, viassh
) um shell raiz (necessário para rastrear binários SUID) e iniciestrace
esse shell:strace -o su.strace -p 12345 -f
e procure erros estranhos antes da mensagem de erro. Ou copie as últimas 30 linhas antes da mensagem de erro para sua pergunta, se você não estiver familiarizado com esse tipo de saída.Process 11736 attached - interrupt to quit
chmod 4755 /bin/su
para corrigir isso.Respostas:
No seu comentário, você disse que
/bin/su
possui o seguinte modo / proprietário:Existem dois problemas aqui.
ele precisa ter o bit set-uid ativado, para que ele sempre seja executado com permissões de root; caso contrário, quando um usuário comum (não root) o executar, ele não terá acesso às informações da senha
/etc/shadow
nem a capacidade de definir o ID do usuário para o novo usuário desejado.ele deve ter os bits de gravação
group
eother
desativados, para que outros usuários não possam alterá-lo.Para corrigir isso, faça o login como
root
- você disse que pode fazer isso comssh
- e digiteou alternativamente,
(O documento de padrões do chmod entra em mais detalhes sobre que tipos de argumentos são necessários.) Isso restaurará os bits de modo da maneira que eram quando o sistema operacional foi instalado pela primeira vez. Quando você lista este arquivo, ele deve ficar assim:
Como o @ G-Man observou, os arquivos no modo 777 podem ser substituídos por usuários não confiáveis e, se for o caso, convém reinstalá-los a partir da mídia de distribuição ou de backups.
fonte
chmod 755 /bin/su
os 4 extras ?4
na primeira posição representa a permissão set-uid. Eu editei minha resposta para adicionar uma maneira alternativa de usar chmod usando nomes simbólicos para os bits de permissão. Espero que isso seja mais claro.chmod -R 777 /bin
por engano, e é por isso que foram amaldiçoados: Drpm
para restaurar permissões de arquivo, mas eu não tentei.1. grupo de rodas?
Provavelmente, porque o seu ID de uso não está no
wheel
grupo. Nas distros do Red Hat, você pode impedir explicitamente que os usuários que não estão neste grupo executem osu
comando.Aqui está a
su
aparência da configuração do PAM por padrão:Esta linha pode limitar o acesso ao
su
comando aos usuários nowheel
grupo:Pelo que parece, isso está ativado e seu ID do usuário não tem permissão para operar o
su
comando.O SSH funciona, pois passa por um mecanismo PAM diferente. O SSH também possui suas próprias instalações para limitar o acesso a logins raiz também. Logins raiz geralmente são permitidos por padrão, pelo menos na maioria das distribuições da Red Hat:
Mesmo que o acima seja comentado, é o padrão e é como o OpenSSH mostra que é a configuração padrão nas configurações.
Trabalhando com isso?Se seu sistema estiver configurado assim, você poderá adicionar seu nome de usuário ao
wheel
grupo.Depois de sair e entrar novamente:
NOTA: Meu ID do usuário é "saml" acima.
2. Permissões certas no su?
Verifique se o executável pertence à raiz.
Confirme também que os executáveis têm seus
s
bits ativados. Isso os torna setuid, para que, quando executados, executem como seus próprios, root.3. O que os logs dizem?
Ao tentar executar o
su -
comando, você verá entradas/var/log/secure
sobre a tentativa.Consulte este log para ver se você obtém informações adicionais.
4. Você tem certeza de que a senha não é o problema?
Quando tento fazer login usando
su -
, recebo o seguinte quando atribuo uma senha incorreta:Eu tentaria criar outra conta e ver se essa conta secundária pode ser executada com
su -
êxito.fonte
usermod -a -G wheel my_username
e o resultado degroups
éfallah wheel
. Portanto, o resultado decat /etc/pam.d/su
agora está na minha pergunta E, novamente, não consigo fazer login como root pelo comando su !!!/var/log/secure
:Feb 24 10:19:45 fallah su: pam_unix(su:auth): authentication failure; logname=fallah uid=501 euid=501 tty=pts/2 ruser=fallah rhost= user=root
/var/log/secure
su: incorrect password
- ea senha é correta, porque o que eu posso registrar um com a mesma senha no SSHsu alireza
, e novamente o mesmo problemaSe você estiver recebendo uma mensagem de erro como esta
Faça este passo:
Então tente su. Deveria funcionar.
fonte