Spusťte sudo -v
. Obvykle se používá k prodloužení časového limitu hesla sudo, ale lze jej použít k určení, zda máte nějaké sudo
privilegia.
$ sudo -v
Sorry, user [username] may not run sudo on [hostname].
Výňatek z manuálové stránky:
Pokud je zadána volba -v (validate), sudo aktualizuje časové razítko uživatele a v případě potřeby vyzve uživatele k zadání hesla. Tím se prodlouží časový limit sudo o dalších 5 minut (nebo jak je časový limit nastaven v sudoers), ale nespustí se příkaz.
Pokud má váš uživatel povoleno spouštět pouze konkrétní příkazy, tento příkaz bude fungovat, což znamená, že máte povoleno spouštět něco s různými privilegii. I když zpráva vypadá jinak, když se pokoušíte provést příkaz, který v tomto případě nemáte povolen (a žádná pošta se neodesílá uživateli root ), je stále možné, že se dostanete do problémů, pokud si správci přečtou /var/log/secure
.
$ sudo ls
[sudo] password for [username]:
Sorry, user [username] is not allowed to execute '/bin/ls' as root on [hostname].
Chcete-li zjistit, co můžete spouštět s různými oprávněními, můžete použít sudo -l
. Upozorňujeme, že tento příkaz vyžaduje zadání hesla.
To je velmi jednoduché. Spusťte sudo -l
. Zobrazí se seznam všech práv sudo, která máte.
Zde je verze pro skripty:
timeout 2 sudo id && echo Access granted || echo Access denied
protože se nezasekne na zadání hesla, pokud nemáte sudo
přístup.
Můžete jej také nastavit v proměnné jako:
timeout 2 sudo id && sudo="true" || sudo="false"
echo "$sudo"