Trochu to objasním: Neexistují žádné „sudo příkazy“, existují pouze příkazy, které ke správnému fungování potřebují oprávnění root, a sudo
je příkaz k jejich získání pro jeden příkaz: sudo
jednoduše spustí daný příkaz jako root (přečtěte si „sudo“ jako imperativní větu „superuser, udělejte něco!“). Pravidla, která to mohou uživatelé dělat, jsou zapsána v / etc / sudoers
. U výchozí instalace Raspbian má výchozí uživatel „pi“ oprávnění z tohoto řádku:
pi ALL = (ALL) NOPASSWD: ALL
To znamená: „Uživatel„ pi “na VŠECH hostitelích má povoleno přepnout na VŠECHNY uživatele a NEMUSÍ zadávat svůj PASSWD, když používá VŠECHNY (číst: všechny) příkazy“. (Použil jsem tu šílenou gramatiku, abych zachoval pořadí řádku ... poznámka o tom, proč existuje způsob, jak odlišit hostitele: tímto způsobem lze stejný soubor sudoers distribuovat na více počítačů v síti, takže správce sítě má méně práce) .
Je možné, že schopnost spouštět příkazy pomocí sudo bez vydání hesla správce je důvod, proč si myslíte, že je nebezpečné používat sudo přes SSH (neslyšel jsem o obecném problému s děláte to ... mohli byste tedy vysvětlit, jaké nebezpečí máte na mysli?).
Určitě byste mohli mít více uživatelů s různými oprávněními. Ale obávám se, že použití sudo je stále nejlepší způsob, jak spravovat tato oprávnění.
Takže doufám, že tento malý recept je to, co potřebujete:
$ sudo adduser admin
Tím se vytvoří uživatel „admin“, požádá o heslo, vytvoří jeho domovský adresář atd.
$ sudo adduser admin sudo $ sudo adduser admin adm
Tím se uživatel „admin“ umístí do uživatelských skupin „sudo“ a „adm“. A protože jsou oprávnění v Linuxu spravována přidáváním uživatelů do uživatelských skupin, dává to uživateli „admin“ všechna potřebná oprávnění a oprávnění. V / etc / sudoers
je řádek, který umožňuje každému uživateli v uživatelské skupině "sudo" provést libovolný příkaz jako root; a toto privilegium je to, co potřebujeme pro administrátora (přidání do „adm“ mu umožňuje číst některé soubory protokolu v / var / log
bez použití sudo
a několika jiné věci). Stále musíte používat sudo
, když jste přihlášeni jako administrátor - ale nyní sudo znovu a znovu žádá o heslo administrátora, kdykoli jste sudo nepoužívali asi pět minut.
Nyní se odhlaste a přihlaste se jako uživatel „admin“. Zkontrolujte, zda funguje
$ sudo apt-get update $ sudo apt-get upgrade
. Pokud ano, můžete zrušit některá oprávnění uživatele „pi“, protože jste si nyní jisti, že váš administrátor má správná oprávnění:
$ sudo deluser pi sudo $ sudo deluser pi adm
To vyhodí uživatele „pi“ z uživatelské skupiny „sudo“.
$ sudo visudo
Spustí se editor, který vám umožní upravovat / etc / sudoers
. Umístěte hash značku ( #
) před řádek začínající písmenem „pi“, komentujte ji (nebo ji jednoduše odeberte). Poté uložte a ukončete editor, visudo poté okamžitě znovu načte pravidla oprávnění. Uživatel „pi“ již nemá povoleno používat sudo.
Poté se můžete znovu přihlásit jako uživatel „pi“. Chcete-li u některých příkazů přepnout na správce, použijte su
(„přepnout uživatele“):
$ su - admin
Pokud chcete přidat více uživatelů: použijte sudo adduser <name>
jako výše, pak zkontrolujte seznam uživatelských skupin, které uživatel „pi“ má:
$ groups pipi: pi dialout cdrom audio video plugdev uživatelé her vstup netdev
Pomocí sudo adduser <username> <groupname>
přidejte svého nového uživatele do několika z těchto uživatelských skupin, což mu umožní používat zvuk, zrychlené video, používat připojitelná zařízení atd. Pokud si nejste jisti, přidejte jej do všech těchto uživatelské skupiny (nikoli však „sudo“!).