Wie führe ich ein Programm aus, das von root als Benutzer ohne Rootberechtigung installiert wurde?


3

Ich bin wirklich ein Anfänger in Linux. Ich führe derzeit eine OpenSUSE-Version aus und möchte ein Programm ausführen, das von root als Nicht-Root-Benutzer installiert wurde.

Mit anderen Worten, wie konfiguriere ich die "Freigabe" -Einstellungen, um dieses Programm als Nicht-Root-Benutzer auszuführen?


2
Über welches Programm sprechen wir zum Beispiel?
Slhck

Dies funktioniert wahrscheinlich, su <username> <programname>..
Vineet Menon

Verwenden Sie den absoluten Pfad zum Programm. Es ist möglich, dass andere Benutzer dieses bestimmte Verzeichnis (z. B. /usr/local/sbin) nicht auf ihrem Pfad haben .
Daniel Beck

Antworten:


2

Es ist egal, wer die Binärdatei installiert hat, es ist wichtig, welche Berechtigungen vorhanden sind.

Zum Ausführen der Datei führt UNIX Folgendes aus: Überprüfen Sie, ob Sie der Dateieigentümer sind. Wenn ja, haben Sie Ausführungsberechtigungen?

Wenn nicht der Dateieigentümer, gehören Sie zur selben Gruppe: Wenn ja, haben Sie Ausführungsberechtigungen?

Wenn weder Eigentümer noch Mitglied der Gruppe: Hat 'Andere' Ausführungsberechtigungen?

Die meiste durch 'make install' installierte Software würde allen Benutzern, Gruppen und anderen Ausführungsberechtigungen erteilen, und Sie müssen sich definitionsgemäß in einer dieser Gruppen befinden.

Was ls -lheißt das?

(*) Kleine Einschränkung, um die Datei auszuführen, benötigen Sie Ausführungsberechtigungen, aber um sie auch zu sehen, benötigen Sie Berechtigungen für die Verzeichnisse, die die Datei enthalten. Dies ist selten und ich bin sicher, dass die ausführbaren Berechtigungen an dieser Stelle wichtiger sind.


Vielen Dank für die Antwort, ich versuche, eine Software auszuführen, die nur in dem Arbeitsverzeichnis ausgeführt wird, das als root installiert ist. Ich kann das Programm nur ausführen, wenn ich in das Verzeichnis gehe und es ausführe, aber als Nicht-Root-Benutzer kann ich nicht Gehe in das Verzeichnis, weil ich keine Erlaubnis habe. Was soll ich in diesem Fall tun?
Hari

1

Ändern Sie einfach die Zugriffsrechte:

chmod a+x file

Aber sei vorsichtig. Wie haben Sie das Programm installiert? Normalerweise werden Programme (durch rpmoder make install) mit ausreichenden und korrekten Rechten installiert .


@hari Habe nichts mit der Frage zu tun, aber ich würde davon abraten, sie make installals root zu verwenden. Sollte normalerweise make installverwendet werden, um im Rahmen des Kompilierens eines Pakets für Ihr Betriebssystem in ein temporäres Verzeichnis zu installieren. Abgesehen davon ist eine Sache, die ich überprüfen würde, wo es installiert ist. make installwird in der Regel standardmäßig verwendet /usr/local/bin, was nicht immer beim Benutzer der Fall ist $PATH. Wenn Sie nicht das installierte Programm ausführen kann, würde ich prüfen, ob echo "$PATH"zeigt /usr/local/binirgendwo da drin. Wenn nicht, müssen Sie das zu Ihrem hinzufügen $PATH(die Vorgehensweise variiert je nach Distribution).
Score_Under
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.