GNU/Linux >> Znalost Linux >  >> Linux

Omezit uživatele na provádění selektivních příkazů (Linux)

Možná na to jdete špatným směrem. Místo toho, abyste uživateli poskytli „omezený“ bash shell, měli byste mu dát přístup pouze k příkazům, které by potřebovali ke spuštění jako root. Například ve vašem souboru sudoers:

tomc ALL=(root) /usr/bin/vim /etc/myapp.conf
tomc ALL=(root) /usr/bin/less /var/log/myapp/*.log

Buďte opatrní a povolte uživatelům spouštět vim jako root. Vim má mnoho zabudovaných funkcí, jako jsou úniky do shellu a schopnost spouštět příkazy z vim. V závislosti na vaší distribuci můžete mít sudoedit dostupný. Funguje to stejně jako normální Vim, až na to, že je navržen tak, aby zvládal úniky shellu a podobně.


Na mé stanici Synology Diskstation se systémem DSM 6 mohou ssh konzistentně přistupovat pouze uživatelé s administrátorskými právy (uživatelé, kteří nejsou správci, mají shell jako /sbin/nologin v /etc/passwd – můžete to nastavit na /bin/sh a dočasně povolit ssh, ale po restartu soubor /etc/passwd je resetován). Z tohoto důvodu je potřeba určité omezení sudo pro účet, který jinak existuje pouze pro provádění např. /sbin/vypnutí. Následující řádky v /etc/sudoers mi fungovaly:

# Allow guestx user to remote poweroff
guestx ALL=(ALL) !ALL
guestx ALL=NOPASSWD: /sbin/poweroff

Překlad:zakázat všechny příkazy a poté povolit pouze požadovaný příkaz (v tomto případě bez požadavku na heslo).

S touto konfigurací se sudo zeptá na heslo a pak selže u jiných příkazů, než je ten na seznamu povolených:

[email protected]:~$ sudo su -
Password: 
Sorry, user guestx is not allowed to execute '/bin/su -' as root on ds.
[email protected]:~$ 

Linux
  1. 5 způsobů, jak spouštět příkazy UNIX / Linux (a skripty Shell) na pozadí

  2. Jak omezit uživatelské příkazy v Linuxu

  3. Spustit příkaz shell v jenkins jako uživatel root?

  1. 20 základních příkazů Linuxu pro každého uživatele

  2. Naučte se rozdíl mezi příkazy „su“ a „su -“ v Linuxu

  3. 4 způsoby, jak zakázat účet root v Linuxu

  1. 10 příkazů, které by měl znát každý uživatel Linuxu

  2. Pochopení různých klasifikací příkazů Shell a jejich použití v Linuxu

  3. Jak přizpůsobit uživatelská prostředí Linuxu