Come faccio a sapere se sono sudoer?


32

Come si comporta il sistema Linux quando non sono sudoer? Ecco cosa succede se provo ad usare sudo:

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

È possibile che io non conosca la mia password o questo significa che non sono sudoer? (Su un altro sistema di macchina stampato che non sono un sudoer e l'incidente verrà segnalato)


Risposta migliore di qualsiasi delle seguenti informazioni: superuser.com/questions/553932/…
barnhillec

Risposte:


40

Per sapere se un determinato utente sta accedendo o meno sudo, possiamo usare -le le -Uopzioni insieme.

Per esempio,

Se l'utente ha accesso sudo, stamperà il livello di accesso sudo per quel particolare utente.

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

Se l'utente non ha accesso sudo, stamperà che l'utente non è autorizzato a eseguire sudo su localhost.

   $ sudo -l -U pradeep.c
     User pradeep.c is not allowed to run sudo on localhost.

4
Questo non funziona per me. Invece di darmi informazioni, mi chiede di nuovo la password: server:/home/drasto>$ sudo -l -U drasto [sudo] password for drasto:c'è una distro Red Hat su quel server se questo aiuta
Rasto

9

Puoi usare la -lbandiera per elencare i tuoi privilegi.

-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 non sei nel file, dovresti visualizzare l'errore "non nel file sudoers" che hai visto sull'altro computer.


2
Anche questo non funziona per me. Mi chiede solo la password:server:/home/drasto>$ sudo -l [sudo] password for drasto:
Rasto,

1
Inserisci la tua password
Kevin,

1
@Kevin @Michael La mia password non funziona. Conosco solo una password per quel server ed è quella che uso per accedere al server. Quello semplicemente non funziona quando mi viene chiesta la mia password sudo (l'ho provato circa 100 volte, capslock, numlock, ecc.). Ma il tutto non ha senso! Voglio sapere se ho i privilegi di sudo ma per scoprirlo ho bisogno dei privilegi di sudo ?! Per funzionare sudo -lho bisogno della password sudo? Quindi devo essere root per sapere se sono root ?!
Rasto,

1
@drasto Come diceva Bill, sudosta cercando la tua password di accesso. Quindi, se l'hai provato e non funziona, o sudo è orribilmente configurato male o sei in una prigione di qualche tipo dove non può vedere o leggere i file corretti. Ad ogni modo, non hai in effetti permessi sudo.
Kevin,

1
@Kevin Quindi probabilmente sono in quella prigione di qualche tipo. In realtà penso che non dovrei avere quelle autorizzazioni sudo su quella macchina. Quindi sono rimasto sorpreso quando mi ha chiesto la mia password sudo in primo luogo. Comunque è proprio come ho scritto: la mia password di accesso non funziona.
Rasto,

-1

Puoi controllare se sei nel gruppo sudo, usando il comando

groups

In uno script di shell potresti voler usare questo:

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

1
Il gruppo potrebbe essere sudo, admin, wheell'accesso, o qualcos'altro del tutto, e anche con l'appartenenza a un gruppo, un singolo utente forse negato sudo tramite norme specifiche (o viceversa).
Muru,

Questo ha troppi falsi negativi per il mio scopo (verifica della tempra). La risposta di Kevin è più definitiva.
StockB
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.