Standard PATH Variable anpassen

Mo, 13. Februar 2023, Lioh Möller

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