Jako správce systému Linux musíte vědět, jak přidávat, mazat a udělovat oprávnění sudo uživatelům. Někdy jste mohli udělit dočasný sudo přístup normálnímu uživateli, aby si mohl nainstalovat software nebo provést určité administrativní úkoly sám. Postupem času můžeme zapomenout zrušit oprávnění sudo. Je tedy dobrou praxí čas od času zkontrolovat, kolik super uživatelů je ve vašem systému Linux. Pokud existují nějaké zapomenuté nebo nechtěné sudo přístupy, můžete je jednoduše zrušit. Tento stručný průvodce vysvětluje, jak najít všechny uživatele sudo v operačních systémech Linux a Unix.
Doporučené stažení – bezplatný cheat:“Linux Command Line cheat”
Seznam uživatelů sudo v Linuxu
Nejprve vyjmenujme všechny uživatele v systému. Chcete-li to provést, spusťte:
$ awk -F':' '{ print $1}' /etc/passwd
Ukázkový výstup z mého systému 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
Další způsob, jak vypsat seznam všech uživatelů v systému Linux, je:
$ compgen -u
Nyní najdeme pouze sudo nebo super uživatele v našem systému Linux pomocí příkazu:
$ grep '^sudo:.*$' /etc/group | cut -d: -f4 sk,ostechnix
Můžete také použít "getent"
místo "grep"
abyste získali stejný výsledek.
$ getent group sudo | cut -d: -f4 sk,ostechnix
Jak vidíte ve výše uvedeném výstupu, "sk" a "ostechnix" jsou uživatelé sudo v mém systému.
Zjistěte, zda má uživatel oprávnění sudo
Nyní víme, jak najít všechny uživatele sudo v našem systému Linux. Jak zjistit, zda má určitý uživatel oprávnění sudo nebo ne? To je snadné!
Chcete-li zjistit, zda je uživatel uživatelem sudo, jednoduše spusťte
$ sudo -l -U sk
Ukázkový výstup:
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
Jak vidíte, uživatel jménem "sk" může provádět všechny příkazy. Takže je ve skupině sudo.
Pojďme zkontrolovat jiného uživatele.
$ sudo -l -U senthil
Ukázkový výstup:
User senthil is not allowed to run sudo on ubuntuserver.
No, uživatel "senthil" nesmí spouštět sudo. Je to jen normální uživatel!
Můžeme také zjistit, zda má uživatel přístup sudo spuštěním následujícího příkazu:
$ sudo -nv
Pokud jako výstup nedostanete nic, uživatel má přístup sudo.
Pokud vidíte výstup jako níže, pak uživatel nemá sudo přístup.
$ sudo -nv Sorry, user senthil may not run sudo on ubuntuserver.
Doporučené čtení:
- Jak udělit a odebrat oprávnění Sudo uživatelům na Ubuntu
- Jak změnit výchozí soubor protokolu sudo v systému Linux
- Jak obnovit oprávnění uživatele Sudo
- Jak spouštět konkrétní příkazy bez hesla Sudo v systému Linux
- Jak přinutit uživatele, aby při použití sudo používali heslo root místo vlastního hesla