Por que os sudoers não são definidos pelo UID?

Por que os sudoers não são definidos pelo UID?

As informações de login estão vinculadas a UIDs no Linux. No entanto, quando abro o arquivo sudoers, os sudoers são definidos pelo nome de usuário em vez do UID.

Por que são usados ​​nomes de usuário em vez de UID?
O arquivo sudoers muda automaticamente quando usermod -lé executado?

Trecho:

    # User privilege specification
    root    ALL=(ALL:ALL) ALL

Responder1

Seguindo alguns manuais [1,2] Posso lhe dar estas respostas:

  1. É possível indicar os usuários com o UID.

    Dewiki sudoers do Ubuntupodemos ler:

    Você pode inserir comentários prefixando-os com um #, mas isso também é usado para especificar um uid em certas partes do arquivo quando ele é seguido por um número.

    Mais tarde noSeção de apelidos de Runasé relatado um exemplo:

    # UID 0 is normally used for root  
    # Note the hash (#) on the following line indicates a uid, not a comment.  
    Runas_Alias ROOT = #0
    
  2. Quando você faz isso simplesmente usermod -lnão deve propagar a mudança nos sudoers.
    Na verdade a partir dopágina de manual para usermod, mais informativo que oBSD um, podemos ler

    -l, --login NOVO_LOGIN
    O nome do usuário será alterado de LOGIN para NEW_LOGIN.Nada mais foi alterado.
    Em particular, o nome do diretório inicial do usuário provavelmente deverá ser alterado manualmente para refletir o novo nome de login.

    Parece ainda implicar um cuidado manual da modificação nos sudoers se você especificar apenas -lo parâmetro. Provavelmente você terá que apagar o nome de usuário antigo eadicione o usuário ao grupo sudocom

    sudo usermod -a -G sudo hduser
    

    Na verdade, assim aconteceu emeste usuárioem 2008 com um sistema Debian Sid:

    Eu costumava usar XXX como nome de usuário para fazer login no meu laptop sid e XXX está no arquivo sudoers. hoje mudei para YYY usando

    sudo usermod -l YYY XXX

    Eu não fiz mais nada.

    Agora posso fazer login usando YYY, mas não consegui fazer root usando a senha de root.Além disso, 'YYY' não está no arquivo sudoers, então agora não posso editar /etc/sudoers para incluir YYY.

Finalmentepor que, provavelmente você deverá obter uma resposta definitiva apenas deTodd Millerquem fez o último fork (vencedor) do sudo em 1991, ou talvez de Bob Coggeshall ou Cliff Spencer se for de 1980 [7].

Referências

informação relacionada