Qual é a melhor maneira de adicionar um usuário ao grupo sudoer?

5

Até agora, encontrei quatro maneiras diferentes de adicionar um usuário ao grupo sudoers e nem todos os métodos funcionam em todos os sistemas. Por que tantas implementações diferentes? O que é melhor? Qual é o padrão (ou seja, funciona na maioria dos sistemas)?

Diferentes implementações:

  1. Adicionando o usuário ao grupo 'wheel'.
  2. Adicionando o usuário ao grupo 'sudo'.
  3. Editando o arquivo / etc / sudoers
  4. Editando o arquivo / etc / sudoers usando visudo
por S182 29.03.2014 / 10:35

4 respostas

6

Existem duas maneiras (principais) de autorizar um usuário a executar comandos como root via sudo:

  • declara que “Alice pode executar comandos como root”;
  • declara que “Alice é um administrador de sistema” e que “os administradores de sistema podem executar comandos como root”.

A maneira de declarar "Alice é um administrador de sistema" é torná-la membro do grupo sysadmins, mas não há um nome padrão para o grupo sysadmins (nem qualquer obrigação de que exista um grupo de administradores de sistema). Alguns sistemas Unix tradicionais têm um grupo chamado wheel , mas muitas vezes estar no grupo wheel é apenas um pré-requisito para se tornar root, e o usuário também deve saber a senha do root e executar su (é assim que o BSD o utiliza, em particular). Algumas distribuições, como Ubuntu e Debian, incluem um grupo chamado sudo e uma regra "membros do grupo sudo podem executar o comando como root" em sua configuração padrão.

Se /etc/sudoers (ou um arquivo em /etc/sudoers.d ) contiver uma linha como %sudo ALL=(ALL:ALL) ALL , você poderá tornar um usuário um sudoer adicionando-o ao grupo sudo ( adduser alice sudo ). O nome sudo não é mágico, você só precisa igualar a entrada em /etc/sudoers .

Nunca edite /etc/sudoers (ou um arquivo em /etc/sudoers.d ) diretamente: se você cometer um erro de sintaxe, bloquearia o acesso root. Sempre use visudo para editar esse arquivo. Para escolher o editor que visudo é executado, defina a variável de ambiente VISUAL (ou EDITOR , contanto que VISUAL não esteja definido). Em uma máquina multiusuário, usar visudo tem a vantagem adicional de cuidar do bloqueio no caso de dois administradores editarem o arquivo ao mesmo tempo.

    
por 30.03.2014 / 03:20
1

adduser username sudo funciona para mim - mas, eu uso o Debian que tem um arquivo sudoers cujo padrão é dar a todos no acesso sudo sudo group.

    
por 29.03.2014 / 10:52
1

Para Ubuntu , adicionei <somefile> at /etc/sudoers.d/ com a linha:

<user> ALL=(ALL:ALL) ALL

Usando o comando:

visudo -f /etc/sudoers.d/<somefile>

Isso é recomendado porque deixa o arquivo /etc/suoders intacto e, portanto, evita um conflito (e a resolução manual subseqüente necessária) nas atualizações. Veja: Por que /etc/sodoers.d/

    
por 12.02.2016 / 12:42
0

O método 2 e 4 funcionará em quase todos os Linux. Nem tente usar 3 no sistema de trabalho! Isso pode danificar o sistema. O método 1 pode funcionar, mas não é necessário.

Por que você deve usar o visudo em vez de editar manualmente o / etc / sudoers?

Once I had root access I used visudo to fix the sudoers file. Why visudo? Because that’s the program YOU ARE SUPPOSED TO USE. Yes I am a bit angry, because the person that broke this server should have known better. Visudo is a lovely little program that checks the syntax of the sudoers file before you save it so that if you do something monumentally stupid you’ll know about it before it becomes a problem and prevents you from getting back into the system as root.

link

    
por 29.03.2014 / 10:39

Tags