Podle komentářů v /etc/sudoers
(Fedora 13):
## Syntax:
##
## user MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
Moje dvě související otázky:
Co znamená ALL=(ALL) ALL
na následujícím řádku:
root ALL=(ALL) ALL
Testoval jsem tyto dvě řádky, ale nemohu přijít na to, jak se funkčně liší:
superadm ALL=(ALL) ALL
superadm ALL=ALL
Přečetl jsem si příručku, ale specifikace syntaxe je obtížné dodržovat. Zjistil jsem, že část (ALL) ALL
Je specifikací příkazů a značek, ale stále se kolem ní nemůžu dostat do hlavy.
Poznámka: Odpovídám 1. , protože Ignacio již zodpovězeno 2. .
V následující položce Sudo
:
superadm ALL=(ALL) ALL
existují čtyři pole:
ALL
.superadm
bude možné spustit se zvýšenými oprávněními. ALL
znamená všechny příkazy. Jinak použijte seznam příkazů oddělených čárkami.(…)
to je volitelné) určuje, kteří uživatelé (a skupiny) uživatel superadm
bude moci spustit následující příkazy jako. ALL
znamená, že si mohou vybrat cokoli (neomezené). Pokud je toto pole vynecháno, znamená to stejné jako (root)
.Příklad:
alan ALL = (root, bin : operator, system) /bin/ls, /bin/kill
Zde je alan
povoleno spustit dva příkazy /bin/ls
a /bin/kill
as root
(nebo bin
), případně s dalšími oprávněními pro skupiny operator
nebo system
.
alan
se tedy může rozhodnout spustit ls
jako uživatel bin
as oprávněními skupiny operator
jako je toto:
Sudo -u bin -g operator /bin/ls /whatever/directory
Pokud -u
je vynecháno, je to stejné jako -u root
. Pokud -g
je vynecháno, nejsou udělena žádná další oprávnění skupiny.
Z manuálové stránky sudoers(5)
DESCRIPTION , Runas_Spec subsection:
První Runas_List označuje, kteří uživatelé mohou být příkaz spuštěni prostřednictvím
Sudo
's-u
možnost.
...
Pokud není zadán žádný Runas_Spec, může být příkaz spuštěn jako
root
a nesmí být zadána žádná skupina.
Při pokusu o spuštění příkazů jako root
tedy neexistuje žádný funkční rozdíl, tj. Když nepoužíváte -u
s Sudo
. Rozdíl je důležitý, když se pokoušíte spouštět příkazy jako ostatní uživatelé; ten tomu bude bránit, ale ten první mu to umožní.