Quais são os parâmetros no arquivo sudoers

6

O arquivo sudoers tem a seguinte linha:

root ALL=(ALL) ALL

Eu li que o primeiro campo é o usuário. Então, primeiro ALL é todos os terminais, e (ALL) significa como qualquer usuário e a última ALL significa qualquer comando.

  1. O que acontece quando não temos essa linha no arquivo sudoers? Então root não poderia fazer nada?

  2. username ALL= /bin/passwd desta forma, se pode ser interpretado como "username" pode ser executado como passwd em TODOS os terminais

  3. Quais valores podem ser dados em vez do primeiro ALL ?

por user3539 06.11.2013 / 02:42

2 respostas

3

  1. O arquivo sudoers controla apenas quais invocações sudo são possíveis. A linha que permite root fazer qualquer coisa com sudo geralmente não é útil, porque a raiz nunca precisa de sudo para nada. É mais uma conveniência: dessa forma você pode escrever scripts que podem ser invocados indiferentemente por root ou outros sudoers e que chamam sudo para elevar privilégios.

  2. username ALL = /bin/passwd permite que o usuário execute o comando passwd em qualquer máquina (e em qualquer terminal - o sudo não se importa com isso). O Sudo permite o uso de nomes de máquinas no arquivo sudoers para que você possa implantar um arquivo sudoers sem modificação em todas as máquinas em sua rede e ainda ter algumas regras que se aplicam apenas a algumas das máquinas.

  3. Na segunda posição, você pode ter uma lista de host ( Host_List no manual sudoers ). Esta é uma lista separada por vírgula de nomes de host. Em vez de um nome de host, você pode ter um alias (consulte o manual para obter detalhes), um endereço IP ou várias maneiras de especificar uma sub-rede (consulte o manual para obter detalhes).

O manual sudoers não é uma leitura fácil, mas tem uma boa lista de exemplos no final. Eu sugiro que você leia essa parte primeiro.

    
por 06.11.2013 / 03:07
1

Nenhum sudo realmente não tem poder sobre o usuário root. Esta linha existe na chance de que root execute um comando prefixado com sudo . Esta regra está permitindo que o root faça isso.

É realmente mais uma proteção, de modo que o root não seja bloqueado nos casos em que um script possa ter um comando dentro dele que é prefixado com sudo .

Aliás, você lê a regra da seguinte forma:

root ALL=(ALL) ALL

que significa: deixe o root executar qualquer comando em qualquer host como qualquer usuário. Então, em certo sentido, essa regra é portátil se você fosse movê-la de um sistema para outro, já que ela não diz nada sobre limitar o root a um host em particular, ou que a raiz é limitada de qualquer maneira via sudo.

    
por 06.11.2013 / 03:09

Tags