Wie kann ich ein Programm als ein anderer Benutzer ausführen?

Wie kann ich ein Programm als ein anderer Benutzer ausführen?

Ich habe ein Problem mit der Berechtigung unter Ubuntu.

Ich habe einen BenutzerAppuserauf meinem System kann es Node, NPM usw. ausführen.

Aber jetzt muss ich das Net-Tools-Paket installieren

Dieses hier:https://zoomadmin.com/HowToInstall/UbuntuPackage/net-tools

Das Problem ist, dass ich es installiere mit

sudo apt-get update -y

als Root-Benutzer, da ich nicht die Berechtigungen als App-Benutzer habe.

Und wenn ich versuche, es beispielsweise mit dem Befehl als Root-Benutzer auszuführen, arpfunktioniert es einwandfrei.

Aber wenn ich es als Appuser ausführen möchte, funktioniert es nicht, selbst wenn ich Appuser zu Sudoers hinzufüge.

Wenn ich es arpals Appuser ausführe, erhalte ich:

bash: arp: command not found

Antwort1

Wenn Sie (als Root) installiert haben net-tools, sollten Sie in der Lage sein, arpals nicht privilegierter Benutzer entweder durch Angabe des absoluten Pfads zu laufen,z.B

/usr/sbin/arp

oder indem sichergestellt wird, dass es PATHfür den Benutzer geeignet ist;z.BFügen Sie in der entsprechenden Initialisierungsdatei ( .profileoder dem Äquivalent für Ihre Shell/Umgebung) eine Zeile wie folgt hinzu:

PATH="$PATH:/usr/sbin"

Antwort2

  • Sie sollten apt-getdie Installation immer als Root durchführen. Dies bedeutet nicht, dass nur Root die installierten Programme ausführen kann.
  • sudo apt-get update -yinstalliert nichts. Wird sudo apt install net-toolszur Installation von Net-Tools verwendet.
  • aprDieses /usr/sbinVerzeichnis befindet sich nicht im Pfad eines normalen Benutzers. Sie können es Ihrem Pfad hinzufügen (bearbeiten ~/.profile). oder es als ausführen /usr/sbin/arp.

verwandte Informationen