Existe uma regra geral para rastrear um erro?

1

Gostaria de começar com um exemplo aqui apenas para facilitar para transmitir minha pergunta.

Eu descomentei a seguinte linha do arquivo /etc/pam.d/su

auth   required   pam_wheel.so use_uid

tornando obrigatório para um usuário ser um membro do grupo wheel para executar o comando su . Então eu tentei o seguinte:

[ssam@centos ~]$ su
Password: 
su: incorrect password

Aqui o usuário ssam é não um membro do grupo wheel, então o acesso é negado, a maneira como as coisas devem ir! Mas eu tive a sensação de que a mensagem de erro mostrado aqui é um pouco inapropriado, porque eu realmente inseri a senha certa para a raiz. Para algum usuário que é genuíno, levaria um tempo para descobrir qual é o problema real (espero).

Nos casos mostrados acima e em geral, qual deve ser o primeiro passo para começar a solucionar problemas de um sistema Linux?

    
por sjsam 26.09.2013 / 16:21

1 resposta

3
  • Verificando novamente a configuração

    Esta é a primeira coisa que você quer ter certeza de que está correta. É também o mais provável responsável por quaisquer erros. Sim, existem bugs em qualquer software, mas coisas como su são tão usadas assim, que é muito mais provável que você tenha configurado mal o seu sistema, do que há um bug no código.

  • verificando os registros do sistema (vai na verdade de mãos dadas com a etapa anterior)

  • executando o aplicativo em questão no modo detalhado

  • strace , ltrace

  • gdb , código-fonte

As mensagens de erro costumam ser enganosas por vários motivos. Um deles é frequentemente mesclar diferentes caminhos através do código. Em segundo lugar, especialmente para aplicativos sensíveis à segurança, como su , sudo ou ssh , faça isso para dar menos dicas a um invasor. Neste caso em particular, no entanto, acredito que a arquitetura do PAM nos culpar - su chama uma função que retorna código de erro, o que significa falha na autenticação. Por razões históricas, acredita-se que isso seja uma incompatibilidade de senha (observe que estou escrevendo isso sem observar o código real, portanto sinta-se à vontade para me convencer do contrário).

    
por 26.09.2013 / 18:44