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

Nachdem ich einen Benutzer mit hinzugefügt habe adduser, Ich kann es nicht sehen. >>Benutzer und Gruppen der Systemadministration es sei denn, ich logge mich aus und dann wieder ein. Ist das normal?

Kann ich auch einen neu hinzugefügten Benutzer als festlegen sudoer oder muss ich das erst nach dem Hinzufügen ändern? Wie kann ich das über die Shell machen?

Kann ich schließlich den ursprünglichen Benutzer löschen, der bei der Erstinstallation von Ubuntu erstellt wurde, oder ist dieser Benutzer irgendwie etwas Besonderes?

Nur fügen Sie den Benutzer zur sudo Gruppe:

sudo adduser <username> sudo

Die Änderung wird wirksam, wenn sich der Benutzer das nächste Mal anmeldet.

Das funktioniert, weil /etc/sudoers ist vorkonfiguriert, 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 sich in denselben Gruppen wie Ihr "ursprünglicher" Benutzer befindet, können Sie den alten löschen.


Realistisch gesehen gibt es auch andere Gruppen, in denen Ihr neuer Benutzer Mitglied sein sollte. Wenn Sie den Kontotyp eines Benutzers in den Benutzereinstellungen auf Administrator setzen, wird er in mindestens allen diesen Gruppen platziert:

adm sudo lpadmin sambashare

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

Ich habe es getan

sudo usermod -a -G sudo <username>

wie empfohlen hier.

Öffnen Sie die sudoers-Datei: sudo visudo öffnet die /etc/sudoers datei im Editor definiert in $EDITOR (wahrscheinlich GNU nano - setzen Sie die Variable, wenn es nicht das ist, was Sie wollen, zB export EDITOR="nano" und versuche es sudo visudo wieder).

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 das Schreiben mit aus Ctrl + O. Der Editor fragt Sie nach dem Dateinamen, in den Sie schreiben möchten. Der Standardwert ist eine temporäre Datei, die von verwendet wird visudo um vor dem Speichern auf Syntaxfehler zu prüfen sudoers Datei. Drücken Enter um es zu akzeptieren. Beenden Sie den Nano-Editor mit Ctrl + X.

Erledigt!

Eine Sache muss ich hinzufügen, die sicher viele Leute nicht verstehen:

Sobald Sie bereits eine getan haben adduser "username", du kannst immer noch zurückkommen und eine adduser "username" sudo, und es wird diesen Benutzer dann ordnungsgemäß zur Gruppe hinzufügen.

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

auf CentOS mache ich als root

echo ' username ALL=(ALL)   ALL' >> /etc/sudoers

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

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

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

Alle Mitglieder der Gruppe admin, sind in Ubuntu standardmäßig erlaubt, sudo zu verwenden, so dass der einfachste Weg ist, das Benutzerkonto zur admin Gruppe.

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

Der sudoer Handbuch wird Ihnen mehr Informationen dazu geben. Sie können festlegen, welche Befehle von einem bestimmten Benutzer / einer bestimmten Gruppe als root ausgeführt werden dürfen.