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?
linux
opensuse
privileges
hari
quelle
quelle
su <username> <programname>
../usr/local/sbin
) nicht auf ihrem Pfad haben .Antworten:
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 -l
heiß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.
quelle
Ändern Sie einfach die Zugriffsrechte:
Aber sei vorsichtig. Wie haben Sie das Programm installiert? Normalerweise werden Programme (durch
rpm
odermake install
) mit ausreichenden und korrekten Rechten installiert .quelle
make install
als root zu verwenden. Sollte normalerweisemake install
verwendet 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 install
wird 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, obecho "$PATH"
zeigt/usr/local/bin
irgendwo da drin. Wenn nicht, müssen Sie das zu Ihrem hinzufügen$PATH
(die Vorgehensweise variiert je nach Distribution).