Standard PATH Variable anpassen

  Lioh Möller   Lesezeit: 2 Minuten  🗪 2 Kommentare

Die PATH Variable lässt sich auf einfache Weise systemweit an die eigenen Bedürfnisse anpassen.

standard path variable anpassen

Die PATH Variable bestimmt unter Linux, unter welchen Pfaden nach ausführbaren Programmen gesucht werden soll.

Gesetzt werden kann diese an unterschiedlichen Stellen. Zur systemweiten Konfiguration bietet sich die Datei /etc/login.defs an.

Im folgenden Beispiel gehen wir davon aus, dass die PATH-Variable um den folgenden Pfad erweitert werden soll: /opt/puppetlabs/bin - dies kann an die persönlichen Bedürfnisse angepasst werden.

Laut man 1 su, gibt es folgende Konfigurationsmöglichkeiten:

ENV_PATH (string)
    Defines the PATH environment variable for a regular user. The default value is /usr/local/bin:/bin:/usr/bin.

ENV_ROOTPATH (string), ENV_SUPATH (string)
    Defines the PATH environment variable for root. ENV_SUPATH takes precedence. The default value is /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin.

Daraus resultiert die entsprechende Konfiguration:

ENV_PATH        /usr/local/bin:/bin:/usr/bin:/opt/puppetlabs/bin
ENV_SUPATH      /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/puppetlabs/bin
ENV_ROOTPATH    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/puppetlabs/bin

In diesem Beispiel wird PATH für reguläre Benutzerkonten, für den Root-Benutzer und während der Erlangung von Root-Rechten mittels su - gesetzt.

Sollte hingegen sudo zum Einsatz kommen, beispielsweise durch den Aufruf von sudo bash, wird die Konfiguration innerhalb von sudo vorgenommen. Die sudo Konfiguration kann mithilfe von visudo angepasst werden und der entsprechende Parameter lautet wie folgt:

Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/puppetlabs/bin"

Tags

Environment, PATH

Jens T.
Geschrieben von Jens T. am 13. Februar 2023 um 12:35

Wie kommt man denn von /etc/login.defs auf "man 1 su", um etwas über das Setzen von Pfaden nachzulesen? Ich selbst hätte spontan auf "man login.defs" getippt, was unter Debian funktioniert.

Lioh
Geschrieben von Lioh am 13. Februar 2023 um 12:51

Der relevante Teil ist leider nicht in man login.defs beschrieben.

Herausfinden kannst du es mit man -K login.defs oder einem entsprechenden Suchbegriff wie ENV_PATH.