Wie kann ich über die Befehlszeile einen neuen Benutzer als Sudoer hinzufügen?


819

Nachdem ich einen Benutzer mit hinzugefügt habe adduser, kann ich ihn nicht über System> Administration> Benutzer und Gruppen anzeigen, es sei denn, ich melde mich ab und wieder an. Ist das normal?

Kann ich auch einen neu hinzugefügten Benutzer als sudoer festlegen oder muss ich das erst ändern, nachdem ich es hinzugefügt habe? Wie kann ich das über die Shell machen?

Kann ich den ursprünglichen Benutzer löschen, der bei der Erstinstallation von Ubuntu erstellt wurde, oder ist dieser Benutzer irgendwie "speziell"?

Antworten:


1023

Fügen Siesudo einfach den Benutzer zur Gruppe hinzu :

sudo adduser <username> sudo

Die Änderung wird beim nächsten Anmelden des Benutzers wirksam.

Dies funktioniert, weil /etc/sudoerses vorkonfiguriert ist, um allen Mitgliedern dieser Gruppe Berechtigungen zu erteilen (Sie sollten keine Änderungen daran vornehmen müssen):

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

Solange Sie Zugriff auf einen Benutzer haben, der zu denselben Gruppen gehört wie Ihr "ursprünglicher" Benutzer, können Sie den alten Benutzer löschen.


Realistisch gibt es auch andere Gruppen, in denen Ihr neuer Benutzer Mitglied sein sollte. Wenn Sie den Kontotyp eines Benutzers in den Benutzereinstellungen auf Administrator einstellen, wird er mindestens in alle folgenden Gruppen eingeteilt:

adm sudo lpadmin sambashare

Da Ihre Systemkonfiguration variieren kann, empfehle ich, einen Blick auf die Ausgabe von groups <username>zu werfen, um festzustellen , welche Gruppen normalerweise verwendet werden.


1
@ Dziamid Ich bin mir nicht sicher, wofür die sudoGruppe ist. Lass es uns herausfinden.
ændrük

7
Bitte beachten Sie, dass die adminGruppe in 12.04 LTS nicht existiert.
Ryan

18
Die Frage bezieht sich auf einen vorhandenen Benutzer, aber wenn es sich um einen neuen Benutzer handelte, müsste "sudo adduser <Benutzername> sudo" von "sudo adduser <Benutzername>" vorangestellt werden . Ansonsten erhält man die Fehlermeldung "Der Benutzer <Benutzername> existiert nicht".
Peter Mortensen

9
Das hat bei mir nicht funktioniert. Ich kann sudo immer noch nicht verwenden.
Chovy

10
Musste mich erneut anmelden, damit es funktioniert.
PeterM

193

Ich tat

sudo usermod -a -G sudo <username>

wie hier empfohlen .


28
Gruppensudo existiert nicht
Aaron Esau

Die einzige funktionierende Lösung hier. Ubuntu 16
Makan Tayebi

5
Für einen bestehenden Benutzer ist dies die richtige Lösung. Es sollte als Antwort markiert werden.
Yokai

3
Vergessen Sie nicht, -aFlagge oder Sie werden Benutzer aus allen Gruppen entfernen, außersudo
RousseauAlexandre

@ RousseauAlexandre unbedingt! Dies ist besonders wichtig, wenn Sie versuchen, sich einer Nicht-Sudo-Gruppe hinzuzufügen, und Sie der einzige auf dem Computer sind, der über Sudo-Berechtigungen verfügt ...without -a you just removed yourself from the sudo group!
Timothy LJ Stewart

79

Öffnen Sie die sudoers-Datei: sudo visudoöffnet die /etc/sudoersDatei in dem in definierten Editor $EDITOR(wahrscheinlich GNU nano - setzen Sie die Variable, wenn es nicht das ist, was Sie wollen, z. B. export EDITOR="nano"und versuchen Sie es sudo visudoerneut).

Fügen Sie die folgende Zeile am Ende der Datei hinzu.

username ALL=(ALL) ALL   # Change the user name before you issue the commands

Führen Sie dann WriteOut mit Ctrl+ aus O. Der Editor fragt Sie nach dem Dateinamen, in den Sie schreiben möchten. Die Standardeinstellung ist eine temporäre Datei, mit der visudovor dem Speichern in der eigentlichen sudoersDatei nach Syntaxfehlern gesucht wird . Drücken Sie Enter, um es zu akzeptieren. Beenden Sie den Nano-Editor mit Ctrl+ X.

Getan!


9
Es ist nicht ratsam, der sudoers-Datei explizit einen einzelnen Benutzer hinzuzufügen, anstatt diesen Benutzer einfach der entsprechenden Gruppe hinzuzufügen sudo.
Kzqai

3
Mit sudo visudo können Sie nach /etc/sudoers.tmp ausgeben. Beim Verlassen des Editors wird / etc / sudoers von selbst überschrieben
Climbatize

1
und visudo überprüft die Syntax, um sicherzustellen, dass keine Fehler
vorliegen

Syntaxfehler, wenn Sie dies verwenden.
Jheriko

2
Die anderen Lösungen eignen sich hervorragend für Betriebssysteme mit einer integrierten sudoGruppe, aber für gelegentliche Systeme ohne dedizierte sudoGruppe funktioniert diese Lösung. Die einzige Empfehlung, die ich habe, ist, dass Sie vermeiden möchten, sudosich in die Prozedur einzumischen, da sie möglicherweise noch nicht eingerichtet ist! Einfach zu umgehen su -und dann einfach visudio. Dies funktioniert auf Gentoo.
Tresf

30

Eines muss ich hinzufügen, ich bin sicher, dass viele Leute nicht verstehen:

Wenn Sie bereits eine ausgeführt haben adduser "username", können Sie trotzdem eine adduser "username" sudoausführen. Dieser Benutzer wird dann ordnungsgemäß zur Gruppe hinzugefügt.

Eigentlich klappt es beim ersten mal nicht so sudo adduser username sudo. Es wird Ihnen einen Fehler geben. Zusammenfassend bedeutet dies, dass Sie zuerst das Benutzerkonto erstellen müssen, bevor Sie sie einer Gruppe hinzufügen können.


11

Alle Mitglieder der Gruppe admindürfen in Ubuntu standardmäßig sudo verwenden. Am einfachsten ist es also, das Benutzerkonto der adminGruppe hinzuzufügen .

Wenn Sie dem Benutzerkonto keinen vollständigen Root-Zugriff gewähren möchten, müssen Sie die Datei / etc / sudoer mit visudo bearbeiten (dies stellt sicher, dass Sie keine Syntaxfehler in der Datei haben und die Sudofähigkeit insgesamt verlieren) dass Sie angeben, welche Befehle dieser Benutzer (oder eine neue Gruppe) als root ausführen darf.

Das sudoer-Handbuch gibt Ihnen weitere Informationen dazu. Sie können festlegen, welche Befehle von einem bestimmten Benutzer / einer bestimmten Gruppe als root ausgeführt werden dürfen.


1
Ich dachte, dafür war die wheelGruppe?
Marco Ceppi

@Marco Das kenne ich nicht. Kannst du ein bisschen mehr erklären?
ændrük

@MarcoCeppi, die Radgruppe wurde auf einigen Systemen verwendet, um die Verwendungsmöglichkeiten der Benutzer einzuschränken su. Ubuntu verwendet sudound die Admin-Gruppe.
Psusi


10

Das folgende Snippet gewährt root Zugriff auf den Benutzernamen, ohne sich explizit als root anzumelden.

Stellen Sie sicher, dass der Benutzer zuerst der sudo-Gruppe hinzugefügt wird. Getestet auf Ubuntu 16.04.1 LTS.

sudo adduser username sudo
sudo sh -c "echo 'username ALL=NOPASSWD: ALL' >> /etc/sudoers"

funktioniert das unter Ubuntu?
Jowan Sebastian

1
Ja, überprüft auf Ubuntu 16.04
Sandeep

3
Warum nicht in einer Zeile:useradd -m username --groups sudo
Aidan Melen
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.