Ich muss einen Befehl mit Administratorrechten ausführen. Jemand sagte, ich sollte einen Befehl als root ausführen. Wie mache ich das?
sudo
root
administration
Stefan
quelle
quelle
Antworten:
Die beiden wichtigsten Befehlszeilenoptionen sind:
su
das root-Passwort und geben Sie es ein, wenn Sie dazu aufgefordert werden.sudo
den Befehl vor und geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.Ausführen eines Shell-Befehls als root
sudo (bevorzugt, wenn keine grafische Anzeige ausgeführt wird)
Dies ist die bevorzugte Methode auf den meisten Systemen, einschließlich Ubuntu, Linux Mint, (wohl) Debian und anderen. Wenn Sie kein separates Root-Passwort kennen, verwenden Sie diese Methode.
Für Sudo müssen Sie Ihr eigenes Passwort eingeben. (Der Zweck ist, den Schaden zu begrenzen, wenn Sie Ihre Tastatur unbeaufsichtigt und entsperrt lassen, und sicherzustellen, dass Sie diesen Befehl wirklich ausführen möchten und er zB kein Tippfehler war.) Oft wird er so konfiguriert, dass Sie nicht noch einmal nach ein paar fragen Minuten, damit Sie mehrere
sudo
Befehle nacheinander ausführen können.Beispiel:
Wenn Sie mehrere Befehle als root ausführen müssen, müssen Sie ihnen jeweils das Präfix voranstellen
sudo
. Manchmal ist es bequemer, eine interaktive Shell als root auszuführen. Sie können dafür verwendensudo -i
:Stattdessen
sudo -i
können Sie verwendensudo -s
. Der Unterschied besteht darin , dass-i
re i die Umwelt vernünftige Default nitializes, während-s
verwendet Ihre Konfigurationsdateien für Gedeih und Verderb.Weitere Informationen finden Sie auf der sudo-Website oder geben Sie
man sudo
in Ihr System ein. Sudo ist sehr konfigurierbar; Beispielsweise kann es so konfiguriert werden, dass ein bestimmter Benutzer nur bestimmte Befehle als root ausführt. Weitere Informationen finden Sie in dersudoers
Manpage . Verwenden Siesudo visudo
diese Option, um die sudoers-Datei zu bearbeiten.su
Der
su
Befehl ist auf den meisten Unix-ähnlichen Systemen vorhanden. Sie können einen Befehl als ein anderer Benutzer ausführen, sofern Sie das Kennwort dieses Benutzers kennen. Bei Ausführung ohne Angabe eines Benutzerssu
wird standardmäßig das Root-Konto verwendet.Beispiel:
Der auszuführende Befehl muss mit der
-c
Option übergeben werden. Beachten Sie, dass Sie Anführungszeichen benötigen, damit der Befehl nicht von Ihrer Shell analysiert, sondern intakt an die ausgeführte Root-Shell übergeben wirdsu
.Um mehrere Befehle als root auszuführen, ist es bequemer, eine interaktive Shell zu starten.
Auf einigen Systemen müssen Sie sich in der Gruppe 0 (angerufen
wheel
) befinden, um sie verwenden zu könnensu
. (Der Punkt ist, den Schaden zu begrenzen, wenn das root-Passwort versehentlich an jemanden weitergegeben wird.)Melden Sie sich als root an
Wenn ein Root-Passwort festgelegt ist und Sie es besitzen, können Sie es einfach
root
an der Anmeldeaufforderung eingeben und das Root-Passwort eingeben. Seien Sie sehr vorsichtig und vermeiden Sie es, komplexe Anwendungen als Root auszuführen, da diese möglicherweise etwas tun, was Sie nicht beabsichtigt haben. Die direkte Anmeldung als Root ist vor allem in Notfällen hilfreich, z. B. bei Datenträgerfehlern oder wenn Sie Ihr Konto gesperrt haben.Einzelbenutzermodus
Im Einzelbenutzermodus oder auf Run-Level 1 erhalten Sie auch Root-Berechtigungen. Dies ist in erster Linie für Notfallwartungssituationen gedacht, in denen ein Booten in eine Mehrbenutzer-Run-Level nicht möglich ist. Sie können im Einzelbenutzermodus über die Kernel-Befehlszeile
single
oderemergency
über die Kernel-Befehlszeile starten . Beachten Sie, dass das Booten im Einzelbenutzermodus nicht mit dem normalen Booten des Systems und der Anmeldung als Root identisch ist. Vielmehr startet das System nur die Services, die für Run-Level 1 definiert sind. In der Regel ist dies die geringste Anzahl von Services, die für ein verwendbares System erforderlich sind.Sie können auch mit dem telinit Befehl des Single - User - Modus gelangen:
telinit 1
; Für diesen Befehl müssen Sie jedoch über eine andere Methode bereits über Root-Berechtigungen verfügen, um ausgeführt werden zu können.Auf vielen Systemen ermöglicht das Booten im Einzelbenutzermodus dem Benutzer den Zugriff auf eine Root-Shell, ohne dass zur Eingabe eines Kennworts aufgefordert wird. Insbesondere
systemd
werden Sie bei -basierten Systemen zur Eingabe des Root-Kennworts aufgefordert, wenn Sie auf diese Weise starten.Andere Programme
Calife
Mit Calife können Sie Befehle als anderer Benutzer ausführen, indem Sie Ihr eigenes Kennwort eingeben, sofern Sie dazu berechtigt sind. Es ähnelt dem viel weiter verbreiteten Sudo (so). Calife ist leichter als sudo, aber auch weniger konfigurierbar.
Op
Mit Op können Sie Befehle als ein anderer Benutzer ausführen, einschließlich root. Dies ist kein vollständiges Tool zum Ausführen beliebiger Befehle: Sie geben ein,
op
gefolgt von einer Mnemonik , die vom Systemadministrator zum Ausführen eines bestimmten Befehls konfiguriert wurde.Super
Mit Super können Sie Befehle als ein anderer Benutzer ausführen, einschließlich root. Der Befehl muss vom Systemadministrator zugelassen worden sein.
Ausführen eines grafischen Befehls als root
Siehe auch Wikipedia .
PolicyKit (bevorzugt bei Verwendung von GNOME)
Stellen Sie dem Befehl einfach den gewünschten Befehl voran
pkexec
. Beachten Sie, dass dies in den meisten Fällen funktioniert, jedoch nicht universell.Siehe
man pkexec
für weitere Informationen.KdeSu, KdeSudo (bevorzugt bei Verwendung von KDE)
kdesu
undkdesudo
sind grafische Frontends ansu
undsudo
verbunden. Mit ihnen können Sie problemlos X Window-Programme als Root ausführen. Sie sind Teil von KDE . Artund geben Sie das root-Passwort ein oder geben Sie Folgendes ein
und geben Sie Ihr Passwort ein (falls zur Ausführung berechtigt
sudo
). Wenn Sie in KdeSu die Option "Kennwort beibehalten" aktivieren, müssen Sie das Root-Kennwort nur einmal pro Anmeldesitzung eingeben.Andere Programme
KtsussKtsuss ist eine grafische Version von su.
BeesuBeesu ist ein grafisches Frontend für den Befehl su, der Gksu in Red Hat-basierten Betriebssystemen ersetzt hat. Es wurde hauptsächlich für RHEL und Fedora entwickelt.
Veraltete Methoden
gksu
undgksudo
gksu
undgksudo
sind grafische Frontends ansu
undsudo
verbunden. Mit ihnen können Sie problemlos X Window-Programme als Root ausführen. Sie sind Teil von Gnome . Artund geben Sie das root-Passwort ein oder geben Sie Folgendes ein
und geben Sie Ihr Passwort ein (falls zur Ausführung berechtigt
sudo
).gksu
undgksudo
sind obsolet. Sie wurden in GNOME durch PolicyKit ersetzt und von vielen Distributionen (wie Ubuntu) nicht mehr standardmäßig installiert. Sie sollten sich nicht darauf verlassen, dass sie verfügbar sind oder ordnungsgemäß funktionieren.Manuell über eine der Shell-basierten Methoden
Verwenden Sie eine der Methoden im Abschnitt "Ausführen eines Shell-Befehls als Root". Sie müssen sicherstellen, dass beim Übergang auf root weder die
DISPLAY
Umgebungsvariable noch dieXAUTHORITY
Umgebung zurückgesetzt werden. Dies erfordert möglicherweise eine zusätzliche Konfiguration der Methoden, die außerhalb des Bereichs dieser Frage liegen.Insgesamt ist dies eine schlechte Idee, vor allem, weil grafische Anwendungen Konfigurationsdateien als Root lesen und schreiben. Wenn Sie versuchen, diese Anwendungen erneut als normaler Benutzer zu verwenden, haben diese Anwendungen keine Berechtigung zum Lesen ihrer eigenen Konfigurationen.
Bearbeiten einer Datei als root
Siehe Wie bearbeite ich eine Datei als root?
quelle
sudo
nur funktioniert, wenn (1) es installiert ist und (2) Sie es in der sudoers-Datei verwenden und die Operation ausführen dürfen.pkexec
ersetztgksu
/gksudo
in vielen Distributionen heutzutage.Verwendung
su
:oder
In beiden Fällen werden Sie zur Eingabe des
root
Passworts aufgefordert . Weitere Informationen finden Sie auf der Handbuchseite .quelle
Da die Frage nicht Linux-spezifisch war, erfahren Sie hier, wie Sie dasselbe Ziel in Solaris 9+ (oder Trusted Solaris 8) erreichen:
Solaris enthält seit Version 9 eine Reihe von Tools, die liebevoll als RBAC (Role Based Access Control) bezeichnet werden.
Der Kern von RBAC besteht darin, dass Sie durch die Gewährung von Berechtigungen und Rechten an Benutzer und / oder Rollen oder durch die Gewährung von Rollen an Benutzer unglaublich fein abgestimmte Modelle erstellen können, die angeben, wer was mit welchen Berechtigungen ausführen darf.
Im Wesentlichen identifizieren Sie die Berechtigung in / etc / security / auth_attr und erteilen sie dann Benutzern oder Rollen in / etc / user_attr.
Sie definieren Profile in / etc / security / prof_attr. Anschließend ordnen Sie diesen Profilen Befehle in / etc / security / exec_attr zu und weisen diese Profile den Benutzern in der Datei / etc / user_attr zu.
Sobald diese Dinge erledigt sind, werden Sie tatsächlich ausgeführt
pfexec <command>
, um den Befehl mit Berechtigungen auszuführen, die diesem Benutzer für diesen Befehl gewährt wurden .Das Schöne an RBAC ist, dass es keine zusätzlichen Berechtigungen für den Befehl selbst oder den Benutzer gibt, sondern nur für die Kombination aus Benutzer + Befehl. Es ist also sicherer, als binäre + s zu erstellen oder einfach sudo zu verwenden, damit ein Benutzer so ziemlich alles ausführen kann. (Ich weiß, dass Sie sudo sperren können, aber meiner Erfahrung nach tun die meisten Leute das nicht.)
Ein weiterer Vorteil von RBAC ist, dass Sie root zu einem Rollenkonto machen und diese Rolle Benutzern zuweisen können, die in der Lage sind, mit dem Befehl 'su' und dem root-Kennwort root zu werden. Der Root-Benutzer kann sich auch im Einzelbenutzermodus anmelden, was meiner Meinung nach besser ist als das Linux-Modell, bei dem Sie das Root-Passwort deaktivieren
passwd -d root
oder das Root-Konto sperrenpasswd -l root
können. Beide führen dazu, dass Sie sich als Root anmelden schwer, wenn etwas schief geht.Ben Rockwood hat einen großartigen Blog-Beitrag über RBAC, der unter Using RBAC on (Open) Solaris zu lesen ist .
quelle
Oder Sie können einigen Befehlen eine Superkraft geben. Ich spreche von speziellen Berechtigungen, bei denen Befehle mit der Erlaubnis des Eigentümers ausgeführt werden.
#which <command>
Rufen Sie den Befehlspfad über ab und legen Sie die SUID oder SGID für diesen Pfad fest.PS-SUID- und SGID-Bits sollten mit Vorsicht angegeben werden. Sie können Ihr System unsicher machen.
quelle