Solucionando Problemas e Resolvendo Falhas de Autenticação do Su
Agora que entendemos as causas comuns de falhas de autenticação do su e como configurar o controle de acesso, vamos nos concentrar na solução de problemas e na resolução dessas falhas.
Diagnosticando Falhas de Autenticação
Ao encontrar uma falha de autenticação do su, siga estas etapas sistemáticas para diagnosticar o problema:
Etapa 1: Verifique a Mensagem de Erro
A mensagem de erro pode fornecer pistas valiosas sobre a natureza da falha. Mensagens de erro comuns incluem:
su: Authentication failure - Tipicamente indica uma senha incorreta.
su: user username does not exist - A conta de usuário especificada não existe.
su: permission denied - Restrições de controle de acesso estão impedindo a operação.
Etapa 2: Verifique a Conta de Usuário
Certifique-se de que a conta de usuário de destino existe e não está bloqueada:
grep testuser /etc/passwd
Isso deve exibir a entrada para testuser no arquivo de senhas, confirmando que a conta existe.
Verifique se a conta está bloqueada:
sudo passwd -S testuser
A saída inclui o status da conta. Se disser "L" (bloqueado), a conta está bloqueada.
Etapa 3: Verifique as Restrições de Controle de Acesso
Como aprendemos na etapa anterior, a configuração do PAM pode restringir o acesso su. Verifique se há tais restrições:
grep -v "^#" /etc/pam.d/su | grep pam_wheel
Se isso retornar uma linha contendo pam_wheel.so, o acesso ao su pode ser restrito aos membros de um grupo específico.
Etapa 4: Examine os Logs do Sistema
Os logs do sistema podem fornecer informações detalhadas sobre falhas de autenticação:
sudo tail -n 20 /var/log/auth.log
Procure entradas relacionadas a falhas de su, que podem fornecer contexto adicional.
Resolvendo Falhas Comuns de Autenticação do Su
Agora, vamos abordar as falhas comuns de autenticação do su e como resolvê-las:
1. Senha Incorreta
Se você estiver inserindo a senha correta, mas ainda estiver recebendo falhas de autenticação, a senha pode precisar ser redefinida:
sudo passwd testuser
Insira uma nova senha para testuser quando solicitado.
2. Conta Bloqueada
Se a conta estiver bloqueada, desbloqueie-a:
sudo passwd -u testuser
3. Restrições de Controle de Acesso
Se as restrições de controle de acesso estiverem impedindo o acesso su, você pode:
a. Adicionar o usuário ao grupo necessário:
sudo usermod -aG sugroup testuser2
Isso adiciona testuser2 ao sugroup.
b. Desativar temporariamente a restrição comentando a linha relevante na configuração do PAM:
sudo sed -i 's/^auth\s\+required\s\+pam_wheel.so/#&/' /etc/pam.d/su
Este comando comenta a linha contendo pam_wheel.so na configuração do PAM do su.
4. Problemas de Permissão de Arquivo
Se o binário su tiver permissões incorretas, corrija-as:
sudo chmod u+s $(which su)
Isso garante que o bit setuid esteja definido no binário su.
Testando as Correções
Após aplicar as correções, teste se a autenticação do su funciona corretamente:
su - testuser
Insira a senha para testuser quando solicitado. Se for bem-sucedido, você deverá estar logado como testuser.
Tente mudar para o usuário root:
su -
Se você tiver a senha root e as restrições de controle de acesso foram devidamente tratadas, deverá conseguir mudar para o usuário root com sucesso.
Essas etapas de solução de problemas e correções abordam as falhas de autenticação do su mais comuns. Ao diagnosticar e resolver sistematicamente esses problemas, você pode garantir que o comando su funcione corretamente em seu sistema.