Wie erteile ich Benutzern Root-Berechtigungen?

12

Ich habe gerade Arch installiert. Funktioniert super. Ich habe einen neuen Benutzer erstellt, mich damit angemeldet und versuche nun, verschiedene Dinge mit zu installieren pacman. Aber ich bekomme immer wieder den Fehler: error: you cannot perform this operation unless you are root.Ich kann pacmanmit root gut arbeiten, aber gibt es eine Möglichkeit, meinem neuen Benutzer zu erlauben, diese Aktionen auszuführen?

Ich habe versucht, mich bei root anzumelden und gpasswd zu verwenden:

gpasswd -a jack root

aber das hat nichts gebracht.

Jack Stewart
quelle
1
Generell ist das Arch Linux-Wiki sehr nützlich und detailliert.
Alex Chamberlain

Antworten:

17

Sie sollten die Arch Wiki-Seite auf sudo lesen .

Mit sudo ("Ersatzbenutzer tun") kann ein Systemadministrator die Berechtigung delegieren, bestimmten Benutzern (oder Benutzergruppen) die Möglichkeit zu geben, einige (oder alle) Befehle als Root- oder anderer Benutzer auszuführen, während ein Prüfpfad für die Befehle und deren Befehle bereitgestellt wird Argumente.

Sie können sudoüber die Repositorys installieren und dann so konfigurieren, dass Ihr Benutzer jackdurch Bearbeiten auf privilegierte Befehle zugreifen kann /etc/sudoers. Stellen Sie sicher, dass Sie dies mit dem visudoBefehl tun .

Um dem Benutzer die jackvollständigen Root-Berechtigungen zu erteilen , fügen Sie folgende Zeile hinzu:

jack ALL=(ALL) ALL
Jasonwryan
quelle
8

Normalerweise aktiviere ich Root-Rechte für eine bestimmte Gruppe. Auf diese Weise können Sie dieser Gruppe einfach Benutzer hinzufügen, für die Sie Root-Berechtigungen wünschen.

Bearbeiten /etc/sudoersmit visudound hinzufügen (oder auskommentieren):

%wheel      ALL=(ALL) ALL

Fügen Sie dann Ihren Benutzer zu dieser Gruppe hinzu:

gpasswd -a jack wheel
Eric Lennartsson
quelle
1
Obwohl die Antwort, die als akzeptiert markiert ist und funktionieren wird, glaube ich, dass diese Antwort besser ist, da Gruppen verwendet werden, um Sudoer zu modifizieren.
Erick Brown
0

Ich kann Pacman mit root verwenden, aber gibt es eine Möglichkeit, meinem neuen Benutzer zu ermöglichen, diese Aktionen auszuführen?

Sie können Ihre erstellen $USERund sie wheelallein der Gruppe hinzufügen :

useradd -Ng wheel --create-home --no-log-init $USER

Aktualisieren Sie dann /etc/sudoers wie von Eric Lennartsson vorgeschlagen. Wenn Sie jedoch nach einem programmatischen Ansatz suchen, können Sie stattdessen eine Datei /etc/sudoers.dwie folgt erstellen :

echo "$USER ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/dont-prompt-$USER-for-password

Die oben beschriebene Methode wurde von Boris in Ask Ubuntu vorgeschlagen und erfordert überhaupt keine Verwendung visudo. Wenn Sie es mit pacman verwenden, stellen Sie die Befehle mit sudo wie folgt voran:

sudo pacman -S docker docker-compose
Josh Habdas
quelle