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

So legen Sie den Pfad für sudo-Befehle fest

Dies wird normalerweise durch den secure_path gesetzt Option in /etc/sudoers . Ab man sudoers :

 secure_path   Path used for every command run from sudo.  If you don't
               trust the people running sudo to have a sane PATH environ‐
               ment variable you may want to use this.  Another use is if
               you want to have the “root path” be separate from the “user
               path”.  Users in the group specified by the exempt_group
               option are not affected by secure_path.  This option is not
               set by default.

Um Befehle auszuführen, die nicht im Standard $PATH sind , können Sie entweder

  1. Verwenden Sie den vollständigen Pfad:sudo ~/bin/my-command; oder

  2. Fügen Sie das Verzeichnis, das den Befehl enthält, zu secure_path hinzu . Führen Sie sudo visudo aus und bearbeiten Sie die sichere Pfadzeile:

    Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/youruser/bin/"
    

    Speichern Sie die Datei und führen Sie beim nächsten Mal sudo aus , das Verzeichnis ~/bin wird in seinem $PATH sein .


Dies ist, was ich für eine Problemumgehung verwendet habe:

sudo cp $(which my-command) /usr/bin
...

Die which Der Befehl wird in einer Nicht-Root-Subshell ausgeführt, sodass er my-command finden kann , dann kopiert sudo die ausführbare Datei in einen Pfad, der root Benutzer zugreifen kann. Nicht gut für die Sicherheit, aber es war in Ordnung für mich, ein Docker-Image auszuführen, das direkt nach der Ausführung des Befehls zerstört wurde.


Linux
  1. Wie setze ich im Python-Skript PYTHONPATH?

  2. Wie kann ich die automatische Vervollständigung für Git-Befehle einrichten?

  3. Wie erstelle ich einen Alias ​​für einen langen Pfad?

  4. Wie setze ich umask für einen Systembenutzer?

  5. Wie setze ich PATH für alle Benutzer in Debian?

So richten Sie den RabbitMQ-Cluster unter CentOS 7 ein

So führen Sie Sudo-Befehle ohne Passwort aus

So aktivieren Sie passwortloses Sudo für Benutzer in Linux

Wie richte ich einen Apt-Cacher-Server ein?

Wie richte ich Tls für Postfix unter Ubuntu ein?

So führen Sie sudo-Befehle ohne Passwort aus