web-dev-qa-db-fra.com

Comment savoir si je suis sudoer?

Comment se comporte le système Linux lorsque je ne suis pas sudoer? Voici ce qui se passe si j'essaie d'utiliser Sudo:

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

Est-il possible que je ne connaisse pas mon mot de passe ou cela signifie-t-il que je ne suis pas sudoer? (Sur un autre système de machine imprimé que je ne suis pas sudoer et l'incident sera signalé)

35
Rasto

Pour savoir si un utilisateur particulier a ou non accès à Sudo, nous pouvons utiliser -l et -U options ensemble.

Par exemple,

Si l'utilisateur a un accès Sudo, il affichera le niveau d'accès Sudo pour cet utilisateur particulier.

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

Si l'utilisateur n'a pas accès à Sudo, il affichera que l'utilisateur n'est pas autorisé à exécuter Sudo sur localhost.

   $ Sudo -l -U pradeep.c
     User pradeep.c is not allowed to run Sudo on localhost.
43
pradeepchhetri

Vous pouvez utiliser le -l flag pour lister vos privilèges.

-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.

Si vous n'êtes pas dans le fichier, vous devriez obtenir l'erreur "pas dans le fichier sudoers" que vous avez vue sur l'autre machine.

11
Kevin

Vous pouvez vérifier si vous êtes dans le groupe Sudo, en utilisant la commande

groups

Dans un script Shell, vous pouvez utiliser ceci:

if groups | grep "\<Sudo\>" &> /dev/null; then
   echo yes
else
   echo no
fi
0
Schlacki