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

Wie führe ich einen Befehl als Systemadministrator (root) aus?

Ich muss einen Befehl mit Administratorrechten ausführen. Jemand sagte, ich solle einen Befehl als root ausführen. Wie mache ich das?

Akzeptierte Antwort:

Die beiden wichtigsten Befehlszeilenmöglichkeiten sind:

  • Verwenden Sie su und geben Sie das Root-Passwort ein, wenn Sie dazu aufgefordert werden.
  • Setzen Sie sudo vor dem Befehl und geben Sie Ihr Passwort ein, wenn Sie dazu aufgefordert werden.

Einen Shell-Befehl als root ausführen

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.

Sudo erfordert, dass Sie Ihr eigenes Passwort eingeben. (Der Zweck besteht darin, den Schaden zu begrenzen, wenn Sie Ihre Tastatur unbeaufsichtigt und entsperrt lassen, und auch sicherzustellen, dass Sie wirklich möchte diesen Befehl ausführen und es war nicht z. ein Tippfehler.) Es ist oft so konfiguriert, dass es einige Minuten lang nicht erneut fragt, sodass Sie mehrere sudo ausführen können Befehle nacheinander.

Beispiel:

sudo service apache restart

Wenn Sie mehrere Befehle als root ausführen müssen, stellen Sie jedem von ihnen sudo voran . Manchmal ist es bequemer, eine interaktive Shell als root auszuführen. Sie können sudo -i verwenden dafür:

$ sudo -i
# command 1
# command 2
...
# exit

Statt sudo -i , können Sie sudo -s verwenden . Der Unterschied besteht darin, dass -i wieder ich initialisiert die Umgebung auf vernünftige Standardwerte, wohingegen -s verwendet Ihre Konfigurationsdateien zum Guten oder zum Schlechten.

Weitere Informationen finden Sie auf der sudo-Website oder geben Sie man sudo ein auf Ihrem System. Sudo ist sehr konfigurierbar; Beispielsweise kann es so konfiguriert werden, dass ein bestimmter Benutzer nur bestimmte Befehle als root ausführen kann. Lesen Sie die sudoers Manpage für weitere Informationen; Verwenden Sie sudo visudo um die sudoers-Datei zu bearbeiten.

so

Der su Befehl existiert auf den meisten Unix-ähnlichen Systemen. Damit können Sie einen Befehl als ein anderer Benutzer ausführen, vorausgesetzt, Sie kennen das Kennwort dieses Benutzers. Wenn es ohne angegebenen Benutzer ausgeführt wird, su verwendet standardmäßig das Root-Konto.

Beispiel:

su -c 'service apache restart'

Der auszuführende Befehl muss mit -c übergeben werden Möglichkeit. Beachten Sie, dass Sie Anführungszeichen benötigen, damit der Befehl nicht von Ihrer Shell geparst, sondern intakt an die Root-Shell übergeben wird, die su läuft.

Um mehrere Befehle als root auszuführen, ist es bequemer, eine interaktive Shell zu starten.

$ su
# command 1
# command 2
...
# exit

Auf einigen Systemen müssen Sie in der Gruppe Nummer 0 sein (genannt wheel). ), um su zu verwenden . (Es geht darum, den Schaden zu begrenzen, wenn das Root-Passwort versehentlich an jemanden weitergegeben wird.)

Anmeldung als root

Wenn ein Root-Passwort festgelegt ist und Sie es besitzen, können Sie einfach root eingeben an der Anmeldeaufforderung und geben Sie das Root-Passwort ein. Seien Sie sehr vorsichtig und vermeiden Sie es, komplexe Anwendungen als root auszuführen, da sie etwas tun könnten, was Sie nicht beabsichtigt haben. Sich direkt als root anzumelden ist vor allem in Notsituationen nützlich, wie z. B. Festplattenfehler oder wenn Sie sich selbst aus Ihrem Konto ausgesperrt haben.

Einzelbenutzermodus

Der Einzelbenutzermodus oder Runlevel 1 gibt Ihnen auch Root-Rechte. Dies ist hauptsächlich für Notwartungssituationen gedacht, in denen das Booten in einen Mehrbenutzer-Runlevel nicht möglich ist. Sie können in den Einzelbenutzermodus booten, indem Sie single übergeben oder emergency auf der Kernel-Befehlszeile. Beachten Sie, dass das Booten im Einzelbenutzermodus nicht dasselbe ist wie das normale Booten des Systems und die Anmeldung als root. Stattdessen startet das System nur die für Runlevel 1 definierten Dienste. Normalerweise ist dies die kleinste Anzahl von Diensten, die für ein nutzbares System erforderlich sind.

Verwandte:Wie erstelle ich eine Partition im freien Speicherplatz mit GNU Parted?

Sie können auch mit dem telinit-Befehl in den Einzelbenutzermodus wechseln:telinit 1; Dieser Befehl erfordert jedoch, dass Sie bereits über eine andere Methode Root-Rechte erhalten haben, um ausgeführt zu werden.

Auf vielen Systemen gibt das Booten im Einzelbenutzermodus dem Benutzer Zugriff auf eine Root-Shell, ohne dass er zur Eingabe eines Passworts aufgefordert wird. Insbesondere systemd -basierte Systeme werden Sie nach dem Root-Passwort fragen, wenn Sie auf diese Weise booten.

Andere Programme

Calife

Mit Calife können Sie Befehle als ein anderer Benutzer ausführen, indem Sie Ihr eigenes Passwort eingeben, sofern Sie dazu berechtigt sind. Es ähnelt dem viel weiter verbreiteten sudo (siehe oben). Calife ist leichter als sudo, aber auch weniger konfigurierbar.

Operation

Mit Op können Sie Befehle als ein anderer Benutzer ausführen, einschließlich root. Dies ist kein vollwertiges Werkzeug, um beliebige Befehle auszuführen:Sie geben op ein gefolgt von einer Mnemonik vom Systemadministrator konfiguriert, um einen bestimmten Befehl auszuführen.

Super

Mit Super können Sie Befehle als ein anderer Benutzer ausführen, einschließlich root. Der Befehl muss vom Systemadministrator zugelassen worden sein.

Einen grafischen Befehl als root ausführen

PolicyKit (bevorzugt bei Verwendung von GNOME)

Stellen Sie Ihrem gewünschten Befehl einfach den Befehl pkexec voran . Beachten Sie, dass dies zwar in den meisten Fällen funktioniert, aber nicht überall.

Siehe man pkexec für weitere Informationen.

KdeSu, KdeSudo (bevorzugt bei Verwendung von KDE)

kdesu und kdesudo sind grafische Frontends für su und sudo bzw. Sie ermöglichen es Ihnen, X Window-Programme problemlos als Root auszuführen. Sie sind Teil von KDE. Geben Sie

ein
kdesu -c 'command --option argument'

und geben Sie das Root-Passwort ein oder geben Sie

ein
kdesudo -c 'command --option argument'

und geben Sie Ihr Passwort ein (wenn Sie berechtigt sind, sudo auszuführen ). Wenn Sie die Option „Passwort behalten“ in KdeSu aktivieren, müssen Sie das Root-Passwort nur einmal pro Anmeldesitzung eingeben.

Andere Programme

Ktsuss

Ktsuss („Keep the su simple, stupid“) ist eine grafische Version von su.

Beesu

Beesu ist ein grafisches Frontend für den su-Befehl, der Gksu in Red Hat-basierten Betriebssystemen ersetzt hat. Es wurde hauptsächlich für RHEL und Fedora entwickelt.

Veraltete Methoden

gksu und gksudo

gksu und gksudo sind grafische Frontends für su und sudo bzw. Sie ermöglichen es Ihnen, X Window-Programme problemlos als Root auszuführen. Sie sind Teil von Gnome. Geben Sie

ein
gksu command --option argument

und geben Sie das Root-Passwort ein oder geben Sie

ein
gksudo command --option argument

und geben Sie Ihr Passwort ein (wenn Sie berechtigt sind, sudo auszuführen ).

gksu und gksudo sind veraltet. Sie wurden in GNOME durch PolicyKit ersetzt, und viele Distributionen (z. B. Ubuntu) installieren sie nicht mehr standardmäßig. 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 weder DISPLAY Umgebungsvariable noch die XAUTHORITY Umgebung wird während des Übergangs zu root zurückgesetzt. Dies kann eine zusätzliche Konfiguration dieser Methoden erfordern, die außerhalb des Bereichs dieser Frage liegt.

Insgesamt ist dies eine schlechte Idee, vor allem, weil grafische Anwendungen Konfigurationsdateien als root lesen und schreiben, und wenn Sie versuchen, diese Anwendungen erneut als normaler Benutzer zu verwenden, haben diese Anwendungen keine Berechtigung, ihre eigenen Konfigurationen zu lesen.

Verwandte:Macos – Befehl beim Terminalstart ausführen (macOS)?

Bearbeiten einer Datei als root

Siehe Wie bearbeite ich eine Datei als Root?


Linux
  1. So verwenden Sie den Linux-Grep-Befehl

  2. Wie führe ich einen Befehl aus, der Umleitung oder Piping mit Sudo beinhaltet?

  3. Wie führe ich den Vim-Befehl von der Shell aus?

  4. Wie kann ich einen Befehl verzögert im Hintergrund ausführen?

  5. So führen Sie TeX über die Befehlszeilenschnittstelle in Linux aus

So verwenden Sie den Bash-Lesebefehl

So verwenden Sie den Linux-xargs-Befehl

So verwenden Sie den Linux-te-Befehl

So verwenden Sie den obersten Befehl unter Linux

Wie führe ich Dolphin als Root aus?

So verwenden Sie den fd-Befehl auf einem Linux-System