Wie füge ich einen Benutzer zur Gruppe "sudo" hinzu?

187

Darin /etc/sudoerssehe ich Folgendes:

# Allow members of group sudo to execute any command after they have
# provided their password
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL

Wie füge ich dieser sudoGruppe einen Benutzer hinzu ?

Kaffeemühle
quelle
Versucht hier jemand, sudo ohne Passwort auf Ubuntu 17 zum Laufen zu bringen?
Adam F
@AdamF schau hier . Stellen Sie das nächste Mal eine neue Frage, wenn Sie eine schnellere Antwort wünschen. ;-)
Fabby
Kaffeemühle: Würde es Ihnen etwas ausmachen, Ihre Akzeptanz auf die am höchsten bewertete Antwort zu ändern, da dies eine bessere Möglichkeit ist? (überhaupt kein Passwort)
Fabby

Antworten:

250
sudo usermod -aG sudo <username>

Das aist sehr wichtig. Ohne sie werden sie aus allen anderen Gruppen entfernt. Sie müssen entweder Ihre Shell / Ihr Terminal neu starten oder sich abmelden und wieder anmelden, damit dies wirksam wird.

Siehe auch:

maco
quelle
Ich habe getan, was du empfohlen hast bash: sudo: command not found, aber das Terminal hat mir gesagt , warum?
Teifi
@ Teifi, das bedeutet, dass Sie wahrscheinlich nicht sudoinstalliert haben oder aus irgendeinem seltsamen Grund nicht in Ihrem Pfad. Was passiert beim Laufen which sudo?
Nr.
Neue Terminals reichten nicht aus. Neustart aus einem anderen Grund und jetzt funktioniert es. Vermutlich Abmelden / Anmelden.
deed02392
Ich weiß, es aist zum Anhängen gedacht, aber ich denke, es wird sinnvoller sein, das Anhängen als Standardverhalten festzulegen. Das Erstellen eines Alias ​​ist einfach, daher können Sie ihn groupadd groupeinfach anhängen. Ich habe den Befehl heute ohne -a einmal ausgeführt, da ich mich nicht an das -aArgument erinnere .
erm3nda
Obwohl dies ein Ubuntu-Forum ist, musste ich es für CentOS tun sudo usermod -aG sudo <username>. Weil es für mich keinen einfachen Weg gab, das herauszufinden.
Akki
43

Sie können entweder die Benutzerverwaltungs-GUI dafür verwenden (derselbe Ort, an dem Sie Benutzer erstellen) oder sudo adduser <username> sudoin der Befehlszeile verwenden.

txwikinger
quelle
2
Dies wird auch in der Ubuntu-Dokumentation zu RootSudo erwähnt, obwohl sie sich auf die Admin-Gruppe anstelle der
Sudo-
8
+1: Dies ist die am leichtesten zu merkende, einfachste und intuitivste Möglichkeit, einen Benutzer zu einer Gruppe hinzuzufügen!
Andrea Corbellini
Dies gibt mir einen Fehler zu sagenUsage: adduser [options] LOGIN\n adduser -D\n adduser -D [options]\n
akki
23

Sie können auch eine grafische Oberfläche verwenden. Klicken Sie auf das Zahnrad oben rechts in der Kontrollleiste, wählen Sie "Systemeinstellungen" und dann "Benutzerkonten".

Sie müssen auf die kleine Schaltfläche zum Entsperren klicken, um die Dinge in diesem Fenster bearbeiten zu können. Klicken Sie dann auf das Konto der Person und wählen Sie das entsprechende Dropdown-Menü für "Kontotyp" aus.

Bildbeschreibung hier eingeben

qbi
quelle
Ich habe Ubuntu 10.10, aber meine grafische Oberfläche ist irgendwie gesperrt. Es öffnet sich, aber wenn ich Knöpfe drücke, passiert nichts. Ich nehme an, es hängt etwas mit den Privilegien zusammen (ich bin eigentlich Sudoer). Wie kann ich dieses Problem lösen?
Linello
Haben Sie auf die Schaltfläche "Entsperren" geklickt?
Daboross
Schöne Animation! Ich möchte eine solche GIF-Animation erstellen, um neue Funktionen meiner Web-App anzuzeigen. Ich bin auf Lubuntu 16.04 ...
Stephane
20

Es ist ganz einfach, wenn Sie Unity als Desktop-Umgebung verwenden.

Wenn Sie einen Benutzer erstellt haben bereits dann können Sie einfach diesen von Standard - zu - Administrator , sonst sicherstellen, dass Sie ausgewählt Administrator , wenn eine neue erstellt.

Vergessen Sie nicht, die Sperre aufzuheben, bevor Sie versuchen, sie zu ändern

Bildbeschreibung hier eingeben

Bruno Pereira
quelle
2
Sehr cool aussehende GIF-Animation! +1 Wie hast du es gemacht? Verschob die Frage hier .
hhh
2

sudo gpasswd -a $USER sudo

joschi
quelle
2

Ich komme zu spät zur Party, aber diese Antwort könnte jemandem helfen, der Ubuntu in einem Docker-Container verwendet.

Ich habe kürzlich einen Docker-Container basierend auf Ubuntu 16.04.1 erstellt.

Standardmäßig ist das Docker Ubuntu-Image eine abgespeckte Version von Ubuntu, die nicht über die meisten gängigen Tools verfügt, einschließlich sudo.

Außerdem ist der Benutzer standardmäßig als root am Docker-Container angemeldet.

Deshalb habe ich den Container mit dem docker runBefehl gestartet und das 'sudo'-Paket installiert:

root@default:/# apt-get install sudo

Beim Ausführen des Befehls wurde ein adduser myuser sudoFehler gemeldet adduser: The user 'myuser' does not exist.. Nach dem Lesen dieser Antwort habe ich zuerst den Befehl zum Erstellen des Benutzers ausgeführt:

root@default:/# adduser myuser

Führen Sie dann den folgenden Befehl aus:

root@default:/# adduser myuser sudo
Adding user `myuser' to group `sudo' ...
Adding user myuser to group sudo
Done.

Der Benutzer myuser wurde erfolgreich zur sudo-Gruppe hinzugefügt.

Antonius
quelle
1

Benutze usermod. Fügen Sie die sudo-Berechtigung mit dem folgenden Befehl hinzu:

usermod -aG sudo <your username>

Bitte beachten Sie, dass Sie hierfür das Root-Konto oder ein anderes Konto mit sudo-Berechtigungen verwenden müssen. Wenn Sie aus irgendeinem Grund keinen Zugriff auf ein anderes Konto haben und das Root-Passwort nicht kennen, benötigen Sie eine Ubuntu-Live-CD (oder eine andere Linux-Distribution) und müssen dann in Ihrem Ubuntu-Dateisystem chrooten und Führen Sie den obigen Befehl in der Chroot aus.

CodeExecution
quelle
1

So richte ich einen Benutzer ohne Rootberechtigung mit dem Basisimage von ein ubuntu:18.04:

RUN \
    groupadd -g 999 foo && useradd -u 999 -g foo -G sudo -m -s /bin/bash foo && \
    sed -i /etc/sudoers -re 's/^%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^root.*/root ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
    sed -i /etc/sudoers -re 's/^#includedir.*/## **Removed the include directive** ##"/g' && \
    echo "foo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
    echo "Customized the sudoers file for passwordless access to the foo user!" && \
    echo "foo user:";  su - foo -c id

Was passiert mit dem obigen Code:

  • Der Benutzer und die Gruppe foowerden erstellt.
  • Der Benutzer foowird sowohl der fooals auch der sudoGruppe hinzugefügt .
  • Das uidund gidwird auf den Wert von gesetzt 999.
  • Das Home-Verzeichnis ist auf eingestellt /home/foo.
  • Die Shell ist auf gesetzt /bin/bash.
  • Der sedBefehl führt Inline - Aktualisierungen der /etc/sudoersDatei zu ermöglichen foound rootan den Zugangs passwordless Benutzer - sudoGruppe.
  • Der sedBefehl deaktiviert die #includedirDirektive, mit der alle Dateien in Unterverzeichnissen diese Inline-Aktualisierungen überschreiben können.
Seth Bergman
quelle