Wie kann ich einen normalen Benutzer mit Root-Rechten erstellen und gewähren?


7

Ich frage mich, wie ich einen normalen Benutzer (z. B. "sybase") mit Root-Rechten erstellen und gewähren kann.

Ich fand useradd, adduser und passwd nützlich, aber gibt es noch andere Dateien, die geändert werden müssen, um 'root'-ähnliche Berechtigungen zu erhalten, damit Benutzer Installationsaufgaben ausführen können?

Antworten:


16

Das würde unter keinen Umständen jemand wollen. Dafür ist sudo gedacht, um Benutzern die Möglichkeit zu geben, Dinge als root auszuführen. Es ist nicht ratsam, einem Nicht-Root-Benutzer alle Berechtigungen von root zu erteilen, da er dann buchstäblich alles tun kann . Wenn dieses Benutzerkonto entführt würde, wären Sie in Schwierigkeiten.


Zusammenfassung von oben: Versuchen Sie nicht, dem Benutzer Root-Fähigkeiten für alles zu geben, das ist nicht möglich. Verwenden sudo [command]Sie diese Option, um Elemente bei Bedarf als Superuser auszuführen.


1
In Produktion ja. Beim Testen ist alles fair.
Sirex

9
Aus dem gleichen Grund immer noch nicht zu empfehlen ... in jeder Umgebung.
Thomas Ward

5
ähnliche privilegien können mit sudo gemacht werden. Und wo steht, dass der Sybase-Benutzer die gleichen Befugnisse wie root haben muss? Lesen Sie die Antwort von @RoryAlsop. Sie behandelt die Methode zum Hinzufügen eines Benutzers zur Sybase-Gruppe, damit dieser den Server starten kann. Und wie gesagt, geben Sie einem Nicht-Root-Benutzer niemals die vollen Root-Rechte. EVER
Thomas Ward

1
@alwaysonnet Sie können dies nicht tun, der Superuser ist per Definition ein einzelner Benutzer (UID 0). Sie können dem Root-Benutzer mehrere Namen geben, es handelt sich jedoch weiterhin um denselben Benutzer. @TheEvilPhoenix ist weniger schlecht beraten als bedeutungslos.
Gilles 'SO - hör auf böse zu sein'

4
@Sirex Beim Testen erteilen Sie allen die gleichen Berechtigungen wie auf dem Produktionssystem (außer dass Sie als Tester alle Berechtigungen haben). Ansonsten ist es kein großer Test.
Gilles 'SO - hör auf böse zu sein'

10

Sie müssen 'sybase' nicht als privilegierter Benutzer erstellen.

Beispiele finden Sie unter http://tldp.yolinux.com/HOWTO/Sybase-ASE-HOWTO.html . Nützliche Info:

"Erstellen Sie die Sybase-Benutzergruppe und dann den Sybase-Benutzer als Mitglied. Dies ist ein normaler Benutzer , der hauptsächlich zum Starten des Datenbankservers verwendet wird."

bash$ su - root
bash# groupadd sybase
bash# useradd -g sybase -d /home/sybase -c "Sybase ASE DBA account" -p Hard2Guess sybase

0

Ich verstehe, warum die Frage gestellt wurde. Nachdem ich gerade zu Entwicklungszwecken zu Linux zurückgekehrt bin, bin ich frustriert, dies und das gksu zu müssen. Die Verzerrungen, die man durchlaufen muss, um eine Datei hinzuzufügen, Systemdateien zu bearbeiten usw., sind einfach albern. Ich frage mich, warum Sie Leute es ertragen? In Windows erstelle ich einfach den Ordner (sagen wir PHP), in dem ich ihn haben möchte, und arbeite daran.

Versteh mich nicht falsch, es ist großartig, das Innenleben von Linux zu kennen und zu wissen, wie man einen LAMP-Server einrichtet und auf ihm arbeitet. Aber ich glaube wirklich, dass es einen besseren Weg geben muss, Dateien zu erstellen, zu bearbeiten und darauf zuzugreifen, als ein Terminal zu durchlaufen, um eine Sudo-Version von gedit oder nautilus zu erstellen. Nach meiner Einschätzung dauert es im Vergleich zu Windows viermal so lange, bis etwas erledigt ist. Und nein, ich habe noch nie eine wichtige Datei in Windows gelöscht. Warum vertraut Linux seinen Benutzern nicht, wenn es darum geht, Dinge zu erledigen? Sich um wichtige Systemdateien zu sorgen, sollte nicht bedeuten, eine inhaftierte Umgebung zu schaffen, von der ich glaube, dass sie um eine Größenordnung von 100s überfordert ist.


4
Diese Antwort nicht beantwortet die Frage gestellt. Stack Exchange ist kein Forum für Diskussionen , sondern ein Ort, an dem Sie Fragen stellen und Antworten auf diese Fragen finden können.
Mark Booth

Diese Antwort sollte ein Kommentar sein. Es ist eine relevante Meinung, die die Antwort des Benutzers unterstützt. Nach Ihrem Standard sollte die akzeptierte Antwort nicht akzeptiert oder zugelassen werden, da sie auch die Frage nicht beantwortet - es wird davon abgeraten, die Frage zu stellen!
Geoidesic

0

Fügen Sie in der Datei /etc/sudoers die Zeile hinzu.

myuserid    ALL=(ALL) ALL

Ein weiterer guter Grund dafür ist, dass es in einer GUI-Umgebung stinkend ist, die massiven Pfade einzugeben, um zu einigen Systemdateien zu gelangen, wenn Sie Systemdateien kopieren oder umbenennen möchten Root-Rechte.


Dies schlägt fehl, wenn der Befehl "Hostname Somehost" ausgeführt wird. Ich bin mir nicht sicher, ob es andere gibt
MacGyver

0

Wenn es sich nur um bestimmte Befehle handelt, für deren Ausführung Administratorrechte erforderlich sind, können Sie pam_cap.sodem Benutzer setcapdie von ihm benötigte Funktion gewähren und diesen Befehl aktivieren, um die angegebene Funktion zu erben, wenn der Benutzer auch über diese verfügt. Beachten Sie, dass dies gelöscht wird, wenn das Paket, zu dem die Datei / der Befehl gehört, aktualisiert wird. Sie benötigen also einen Cronjob oder eine Marionette, um sicherzustellen, dass die Dateibasisfunktion erhalten bleibt.

Das heißt, sudoist wahrscheinlich eine gute Lösung für die Bedürfnisse der meisten Menschen. Die Funktionen sind ordentlich, aber nicht so weit verbreitet.


0

Wenn Sie einen anderen Root-Benutzer mit einem anderen Namen und Kennwort benötigen, sollten Sie eine Benutzersybase erstellen, die ihm UID = 0 und GUID = 0 gibt (oder sie für vorhandenen Benutzer in / etc / passwd auf 0 ändern).

Dies ist jedoch eine extreme Situation, und es gibt andere bessere Praktiken (mit Sudo). Diese Einschränkungen wurden aus gutem Grund umgesetzt.


-4

Sie können immer die 'Rad'-Gruppe verwenden .... http://alien.slackbook.org/dokuwiki/doku.php?id=linux:admin


wheelIm Allgemeinen können Sie nur verwenden sudo; Es macht Ihr Konto nicht auf magische Weise root
Michael Mrozek

Die wheelGruppe gewährt einem Benutzer keine direkten Root-Rechte. Traditionell ermöglicht es einem Benutzer die Verwendung su(und wird durch Eingabe des Root-Passworts root). Auf einigen Systemen kann der Benutzer ausgeführt werden sudo(und ohne zusätzliche Anmeldeinformationen root werden), dies ist jedoch nicht sehr verbreitet. Siehe unix.stackexchange.com/questions/4460/…
Gilles '
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.