Como adicionar auto à lista de sudoers?

5

Eu adicionei-me à lista de usuários sudoers usando o comando

root@debian:/home/oshirowanen#adduser oshirowanen sudo

Se eu tentar executar esse comando novamente,

root@debian:/home/oshirowanen# adduser oshirowanen sudo
The user 'oshirowanen' is already a member of 'sudo'.
root@debian:/home/oshirowanen# 

Tudo parece bem até agora.

Quando eu saio do usuário root e tento instalar / remover / pesquisar algo usando minha própria conta, ele não funciona e reclama que eu não sou um sudoer ... Por exemplo

root@debian:/home/oshirowanen# exit
exit
oshirowanen@debian:~$ sudo aptitude search ice
[sudo] password for oshirowanen: 
oshirowanen is not in the sudoers file.  This incident will be reported.
oshirowanen@debian:~$ 

Por que isso está acontecendo?

Isso é o que recebo de visudo

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

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

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d
    
por oshirowanen 21.03.2013 / 09:54

2 respostas

13

Você precisa efetuar login novamente após se adicionar a um grupo para obter os privilégios corretos.

Para verificar com dois shells:

alice $ sudo adduser test
                                alice $ su - test
alice $ sudo adduser test sudo
                                test $ sudo ls
                                test is not in the sudoers file.  [...]
                                test $ exit
                                alice $ su - test
                                test $ sudo ls
                                examples.desktop

Para esclarecer, todas as shells que foram abertas antes do usuário foram adicionadas ao grupo sudo e não possuem os novos privilégios.

    
por 21.03.2013 / 10:15
5

Existem duas coisas diferentes em ação aqui:

  1. O grupo de usuários sudo.
  2. O arquivo / etc / sudoers.

Em algumas distibuições, o grupo sudoers é configurado no arquivo sudoers para executar tudo via sudo.
Para adicionar o grupo, você pode editar o arquivo executando isto como root:

visudo

e adicionando o seguinte (ou não comentando):

%sudo ALL=(ALL) ALL

O sinal% indica que é um nome de grupo, o primeiro "TODOS" são os hosts nos quais ele pode ser executado, o segundo é os usuários que ele pode representar, o último "TODOS são os comandos que podem ser executados via sudo.

Além disso, você provavelmente precisará fazer o login novamente para que os novos membros do grupo entrem em vigor.
Para verificar os membros do grupo ativo, execute:

id
    
por 21.03.2013 / 10:14