GNU/Linux >> Znalost Linux >  >> Linux

Jak používat Sudo a soubor Sudoers

Příkaz sudo umožňuje uživatelům bez root spouštět další příkazy Linuxu, které by normálně vyžadovaly oprávnění superuživatele, zatímco soubor sudoers instruuje systém, jak zacházet s příkazem sudo. V tomto tutoriálu vám ukážeme všechny základy příkazů sudo a jak upravit soubor sudoers.

Porozumění sudu

Chcete-li ukázat, jak sudo funguje, nejprve přistupte ke svému VPS přes SSH. Pokud máte potíže, podívejte se na výukový program PuTTY.

Ve výchozím nastavení uživatel root nemusí používat předponu sudo. Už mají všechna možná privilegia. Mezitím, pokud chce uživatel bez oprávnění root přidat dalšího uživatele, bude muset do příkazu useradd přidat předponu sudo, například takto:

sudo useradd edward

Pokud uživatel nepoužije předponu sudo, obdrží Oprávnění odepřeno výstup.

Soubor Sudoers

Příkaz sudo se konfiguruje prostřednictvím souboru umístěného v /etc/ tzv. sudoers .

Prostřednictvím příkazu sudo poskytujete oprávnění na úrovni správce běžným uživatelům. Normálně má práva sudo první uživatel, kterého vytvoříte při instalaci Ubuntu. V prostředí VPS je to výchozí uživatel root. Můžete nakonfigurovat ostatní uživatele, aby také mohli spouštět příkaz sudo. To lze provést úpravou sudoers.

Syntaxe souboru Sudoers

Soubor můžete otevřít pomocí preferovaného textového editoru. Použijeme vi :

vi /etc/sudoers

Náš soubor VPS vypadá takto:

Podívejme se na některé formáty a pravidla, která je třeba dodržovat při úpravách sudoerů:

  • Všechny řádky začínající # jsou komentáře
  • root ALL=(ALL:ALL) ALL – tento řádek znamená, že uživatel root má neomezená oprávnění a může spouštět jakýkoli příkaz v systému
  • %admin VŠECHNY=(VŠECHNY) VŠECHNY – znak % určuje skupinu. Kdokoli ve skupině administrátorů má stejná oprávnění jako uživatel root
  • %sudo ALL=(ALL:ALL ) VŠECHNY – všichni uživatelé ve skupině sudo mají oprávnění spouštět jakýkoli příkaz

Další zajímavý řádek je #includedir /etc/sudoers.d, což znamená, že můžeme přidat konfigurace do souboru sudoers.d a propojit jej zde.

Úprava souboru Sudoers

Chcete-li upravit /etc/sudoers soubor, použijte následující příkaz:

sudo visudo -f /etc/sudoers

K úpravě souboru sudoers se doporučuje použít visudo. Visudo zajišťuje, aby sudoers upravoval vždy jeden uživatel, a poskytuje nezbytné kontroly syntaxe.

Chcete-li zjistit, kteří uživatelé jsou ve skupině sudo, můžeme použít příkaz grep:

grep ‘sudo’ /etc/group

Tím se zobrazí seznam uživatelských jmen.

K přidání uživatele s názvem bill do skupiny sudo používáme adduser příkaz v příkazovém řádku, například takto:

adduser bill sudo

Pokud ke kontrole, kdo je ve skupině, použijeme příkaz grep, uvidíme účet za uživatelské jméno.

Pokud chcete někomu udělit práva root, přidejte je do sudo.

Odebrání uživatele ze sudo:

deluser bill sudo

Příkaz deluser odstraní účet ze skupiny sudo.

Nyní již uživatelský účet nemůže provádět akce, které vyžadují oprávnění sudo.

Použití souboru Sudoers k udělení konkrétních oprávnění

Co když chceme, aby Bill mohl spouštět pouze určité druhy příkazů s právy sudo, jako je síť?

K tomu vytvoříme konfigurační soubor v /etc/sudoers.d/ tzv. networking.

K vytvoření souboru použijte následující příkaz:

sudo visudo -f /etc/sudoers.d/networking

Přidejte do souboru následující text:

Cmnd_Alias     CAPTURE = /usr/sbin/tcpdump
Cmnd_Alias     SERVERS = /usr/sbin apache2ctl, /usr/bin/htpasswd
Cmnd_Alias     NETALL = CAPTURE, SERVERS
%netadmin ALL=NETALL

Ve výše uvedeném souboru jsme vytvořili skupinu netadmin. Uživatelé ve skupině netadmin mohou spouštět příkazy zadané v NETALL. NETALL zase zahrnuje všechny příkazy pod aliasy CAPTURE a SERVERS. Příkaz tcpdump je pod aliasem CAPTURE, tj. /usr/sbin/tcpdump.

Dále přidáme uživatelský účet do skupiny netadmin:

sudo adduser bill netadmin

Nyní bude uživatelský účet moci spouštět příkaz tcpdump spolu s dalšími příkazy souvisejícími se sítí.

Závěr

Pokud pracujete s více uživateli, pochopení příkazu sudo a souboru sudoers je absolutní nutností. V tomto tutoriálu jste se naučili všechny základy, jak převzít kontrolu nad oprávněními vašeho systému!


Linux
  1. Jak používat příkaz Tar v Linuxu

  2. Jak používat příkaz basename?

  3. Jak mohu použít řádky souboru jako argumenty příkazu?

  1. Jak používat příkaz sudo v Linuxu

  2. Jak vytvořit alias a používat příkaz Alias ​​v Linuxu

  3. Jak nainstalovat a používat příkaz Ping v Linuxu

  1. Jak používat příkaz chgrp s příklady

  2. Jak používat příkaz md5sum v Linuxu

  3. Jak používat dotykový příkaz v Linuxu