In qualità di amministratore Linux, devi sapere come aggiungere, eliminare e concedere privilegi sudo agli utenti. A volte potresti aver concesso a sudo l'accesso temporaneo a un utente normale per installare un software o eseguire determinate attività amministrative da solo. Nel tempo, potremmo dimenticare di revocare i privilegi di sudo. Quindi, è buona norma controllare di tanto in tanto quanti super utenti ci sono nel tuo sistema Linux. Se sono presenti accessi sudo dimenticati o indesiderati, puoi semplicemente revocarli. Questa breve guida spiega come trovare tutti gli utenti sudo nei sistemi operativi simili a Linux e Unix.
Download consigliato - Cheat sheet gratuito:"Linux Command Line Cheat Sheet"
Elenca gli utenti sudo in Linux
Elenchiamo prima tutti gli utenti nel sistema. Per farlo, esegui:
$ awk -F':' '{ print $1}' /etc/passwd
Esempio di output dal mio sistema Ubuntu:
root daemon bin sys sync games man lp mail news uucp proxy www-data backup list irc gnats nobody systemd-timesync systemd-network systemd-resolve systemd-bus-proxy syslog _apt lxd messagebus uuidd dnsmasq sshd sk senthil kumar ostechnix
Un altro modo per elencare tutti gli utenti in un sistema Linux è:
$ compgen -u
Ora troviamo solo sudo o super utenti nel nostro sistema Linux con il comando:
$ grep '^sudo:.*$' /etc/group | cut -d: -f4 sk,ostechnix
Puoi anche usare "getent"
comando invece di "grep"
per ottenere lo stesso risultato.
$ getent group sudo | cut -d: -f4 sk,ostechnix
Come puoi vedere nell'output sopra, "sk" e "otechnix" sono gli utenti sudo nel mio sistema.
Trova se un utente ha i privilegi sudo
Ora sappiamo come trovare tutti gli utenti sudo nel nostro sistema Linux. Come scoprire se un determinato utente ha il privilegio sudo o meno? È facile!
Per scoprire se un utente è sudo user, esegui semplicemente
$ sudo -l -U sk
Risultato di esempio:
Matching Defaults entries for sk on ubuntuserver: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User sk may run the following commands on ubuntuserver: (ALL : ALL) ALL
Come puoi vedere, l'utente chiamato "sk" può eseguire tutti i comandi. Quindi, è nel gruppo sudo.
Controlliamo un altro utente.
$ sudo -l -U senthil
Risultato di esempio:
User senthil is not allowed to run sudo on ubuntuserver.
Bene, l'utente "senthil" non può eseguire sudo. È solo un normale utente!
Possiamo anche scoprire se un utente ha accesso sudo eseguendo il seguente comando:
$ sudo -nv
Se non ottieni nulla come output, l'utente ha accesso sudo.
Se vedi un output come quello di seguito, l'utente non ha accesso a sudo.
$ sudo -nv Sorry, user senthil may not run sudo on ubuntuserver.
Lettura consigliata:
- Come concedere e rimuovere i privilegi di Sudo agli utenti su Ubuntu
- Come modificare il file di registro di Sudo predefinito in Linux
- Come ripristinare i privilegi di Sudo a un utente
- Come eseguire comandi particolari senza password Sudo in Linux
- Come forzare gli utenti a utilizzare la password di root invece della propria password quando si utilizza sudo