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

Überschreiben Sie den Pfad zur Binärdatei für einen bestimmten Benutzer

Wenn sich die Binärdatei in /usr/bin/binary befindet und das Skript ruft die Binärdatei auf, ohne den vollständigen Pfad anzugeben, sondern verlässt sich stattdessen auf /usr/bin in PATH sein dann können Sie einfach den Speicherort der neuen Binärdatei an den Anfang der PATH des Benutzers hinzufügen . Fügen Sie so etwas in deren ~/.bashrc ein :

PATH=/mount/new_version:$PATH

Aus Sicherheitsgründen geben Skripte oft den vollständigen Pfad zu Binärdateien an, um so etwas zu verhindern.


Wenn Sie Zugriff auf die Binärdatei haben, können Sie sie sichern und einen symbolischen Link erstellen.

mv /urs/bin/binary /urs/bin/binary.bkp
ln -s /mount/new_version/binary /urs/bin/binary

[BEARBEITEN]

Tut mir leid, ich habe nicht gesehen, dass die Änderung nur für einen Benutzer vorgenommen werden muss.

Sie können eine Funktion erstellen, die anstelle der Binärdatei aufgerufen wird.

Je nachdem, wie Sie die Binärdatei ausführen (vollständiger Pfad oder nur Name), müssen Sie eine passende Funktion erstellen , wie:

# Full path
function /urs/bin/binary () { command /mount/new_version/binary "[email protected]"; }
export -f /urs/bin/binary
# Name
function binary () { command /mount/new_version/binary "[email protected]"; }
export -f binary

Wenn die Binärdatei keine Argumente akzeptiert/benötigt, entfernen Sie "[email protected]" .

Um die Funktionserstellung zu automatisieren, fügen Sie die Funktionszeilen in die .profile-Datei im Home-Verzeichnis des Benutzers ein.


alias commandname=/mount/new_version/binary

in der .bashrc oben wird die Pfadangabe/exportor im Profil ganz einfach ausgeführt.


Linux
  1. 20 wichtige Linux-Befehle für jeden Benutzer

  2. Linux – Wie beschränkt man den Internetzugang für einen bestimmten Benutzer im LAN mit Iptables in Linux?

  3. Eine Shell-ähnliche Umgebung für die Binärverarbeitung?

  4. Konfigurieren Sie Jenkins für verschiedene user.home

  5. Festlegen der Pfadvariable für Apache-Benutzer auf Amazon Ec2

Linux-ID-Befehls-Tutorial für Anfänger (5 Beispiele)

Erstellen Sie ein Home-Verzeichnis für einen bestehenden Benutzer in Linux

Steuerung des Zugriffs auf rootless Podman für Benutzer

So aktivieren Sie passwortloses Sudo für Benutzer in Linux

Blockieren Sie bestimmte Befehle in Linux für bestimmte Benutzer

Zugriff für einen bestimmten Benutzer durch PAM-Kontokonfiguration verweigert