it-swarm-eu.dev

Jaká je správná syntaxe sudoers pro přidání uživatele?

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:

  1. Co znamená ALL=(ALL) ALL na následujícím řádku:

    root  ALL=(ALL)   ALL
    
  2. 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.

51
Belmin Fernandez

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:

  • První určuje uživatele, kterému budou udělena oprávnění pro některé příkazy.
  • Druhý se používá jen zřídka. Je to seznam názvů hostitelů, pro které bude tento záznam Sudo účinný. U standardních nastavení je relevantní pouze jeden hostitel (localhost), takže toto pole je obvykle ponecháno jako ALL.
  • Pole čtvrté je seznam příkazů 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.
  • Třetí pole (pole napsané (…) 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.

94

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í.