GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Beschränken Sie den Benutzer auf die Ausführung ausgewählter Befehle (Linux)

Vielleicht gehst du das falsch an. Anstatt einem Benutzer eine „eingeschränkte“ Bash-Shell zu geben, sollten Sie ihm nur Zugriff auf die Befehle geben, die er benötigt, um als Root ausgeführt zu werden. Zum Beispiel in Ihrer sudoers-Datei:

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

Seien Sie vorsichtig, wenn Sie Benutzern erlauben, vim als root auszuführen. Vim hat viele eingebaute Funktionen, wie Escapes zur Shell und die Fähigkeit, Befehle innerhalb von Vim auszuführen. Abhängig von Ihrer Distribution haben Sie möglicherweise sudoedit verfügbar. Dies funktioniert genauso wie ein normaler Vim, außer dass es Shell-Escapes und dergleichen handhaben kann.


Auf meiner Synology Diskstation, auf der DSM 6 ausgeführt wird, können nur Admin-Benutzer konsistent ssh-in (Nicht-Admin-Benutzer haben Shell als /sbin/nologin in /etc/passwd – Sie können dies auf /bin/sh setzen, um ssh vorübergehend zuzulassen, aber beim Neustart die Datei /etc/passwd wird zurückgesetzt). Aus diesem Grund ist eine Art sudo-Einschränkung für ein Konto erforderlich, das sonst nur zum Ausführen von z. /sbin/ausschalten. Die folgenden Zeilen in /etc/sudoers haben bei mir funktioniert:

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

Übersetzung:Alle Befehle verbieten, dann nur den gewünschten Befehl zulassen (in diesem Fall ohne nach dem Passwort zu fragen).

Bei dieser Konfiguration fragt sudo nach dem Passwort und schlägt dann bei anderen Befehlen als den auf der Whitelist aufgeführten fehl:

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

Linux
  1. Lernen Sie den Unterschied zwischen den Befehlen „su“ und „su -“ in Linux kennen

  2. 4 Möglichkeiten zum Deaktivieren des Root-Kontos in Linux

  3. So passen Sie Linux-Benutzerumgebungen an

  4. Wie lösche ich Root-Rechte in Shell-Skripten?

  5. 5 Möglichkeiten, UNIX-/Linux-Befehle (und Shell-Skripte) im Hintergrund auszuführen

So beschränken Sie den Zugriff des Benutzers auf das Linux-System

Ausführen von Befehlen auf Remote-Linux-Systemen über SSH

So listen Sie alle Benutzer in Linux auf

5 Linux-Befehle, die jeder Linux-Benutzer kennen sollte

Linux – Benutzer zur Sudoers-Liste hinzufügen

So beschränken Sie den Root-Benutzer in CentOS