Como descubro se sou sudoer?

29

Como o sistema Linux se comporta quando não sou sudoer? Aqui está o que acontece se eu tentar usar o sudo:

server:/tmp>$ sudo cal
[sudo] password for user:
Sorry, try again.

É possível que eu não saiba minha senha ou isso significa que eu não sou sudoer? (Em outro sistema de máquina impresso que eu não sou sudoer e o incidente será relatado)

    
por Rasto 13.10.2012 / 20:31

3 respostas

35

Para saber se um determinado usuário está tendo acesso ao sudo ou não, podemos usar as opções -l e -U juntas.

Por exemplo,

Se o usuário tiver acesso ao sudo, ele imprimirá o nível de acesso do sudo para esse usuário em particular.

   $ sudo -l -U pradeep
     User pradeep may run the following commands on this host:
     (ALL : ALL) ALL

Se o usuário não tiver acesso ao sudo, ele irá imprimir que o usuário não tem permissão para executar o sudo no host local.

   $ sudo -l -U pradeep.c
     User pradeep.c is not allowed to run sudo on localhost.
    
por 13.10.2012 / 20:56
9

Você pode usar o sinalizador -l para listar seus privilégios.

-l[l] [command]
   If no command is specified, the -l (list) option will list the allowed (and forbidden)
   commands for the invoking user (or the user specified by the -U option) on the current
   host.  If a command is specified and is permitted by sudoers, the fully-qualified path
   to the command is displayed along with any command line arguments.  If command is
   specified but not allowed, sudo will exit with a status value of 1.  If the -l option
   is specified with an l argument (i.e. -ll), or if -l is specified multiple times, a
   longer list format is used.

Se você não estiver no arquivo, deverá receber o erro "não no arquivo sudoers" que viu na outra máquina.

    
por 13.10.2012 / 20:38
-1

Você pode verificar se você está no grupo sudo, usando o comando

groups

Em um script de shell, você pode querer usar isto:

if groups | grep "\<sudo\>" &> /dev/null; then
   echo yes
else
   echo no
fi
    
por 06.03.2017 / 09:38