Was ist der einfachste Weg oder die einfachste Methode, um das Hinzufügen eines Benutzers zu einer frischen Sudoers -Datei zu automatisieren?
Frage
Also habe ich Micronxd adduser'ed. Ich habe Micronxd bestanden. Jetzt möchte ich Micronxd zu einem Sudo -Benutzer machen.
Ich versuche so viel von diesem Prozess wie möglich in ein Shell -Skript zu packen. Wenn möglich, könnte die Lösung die Sudoers -Datei beinhalten? Ich würde gerne ein sehr starkes Verständnis für dieses tierische kleine Nugget (SED) bekommen.
Lösung
Das sudoers
Datei sollte wirklich nur mit bearbeitet werden visudo(8)
.
Das heißt, vielleicht sollten Sie einfach hinzufügen micronxd
zum wheel
Gruppe beim Hinzufügen der micronxd
Benutzer (siehe adduser(8) --add_extra_groups
Option) und dann diese Zeile hinzufügen sudoers
(über visudo(8)
:) :
%wheel ALL=(ALL) ALL
Nun jeder Benutzer, den Sie mit der primären Gruppe oder einer zusätzlichen Gruppe von erstellen wheel
bekommt sudo
automatisch zugreifen. Möglicherweise müssen Sie die möglicherweise nie bearbeiten sudoers
Datei wieder.
(Beachten Sie, dass Sie problemlos jeden hinzufügen können, den Sie möchten wheel
Gruppe; vigr(8)
, finde das wheel
Gruppe und fügen Sie ihren Login -Namen an die Zeile hinzu. Verwenden Sie Kommas, um Benutzernamen zu trennen.)
Andere Tipps
OK OK OK! Ich habe es total verstanden. Dies mag ein bisschen übertrieben sein, aber ich bin mir nicht sicher, ob Sudoers -Dateien in unterschiedlicher Distribution gleich sind.
Ich fand hier eine Dokumentation über den Holding -Puffer für SED: http://anaturb.net/sed.htm
und auf dem X -Befehl für SED hier: http://www.kingcomputerservices.com/unix_101/hands_off_editing_with_spart_2.htm
Und ich habe mich darauf ausgedacht:sed -e '/^root/{h;}' -e 'x' -e 's/root/micronxd/' -e 'x' -e '/^root/G' -e 'wsudoers' sudoers
Hier ist die Aufschlüsselung der 6 Schritte:
1.
'/^root/{h;}'
findet unkontrollierte Linien, beginnend mit Wurzel, und ersetzt den Haltepuffer durch ihn.
- Regelmäßiger SED -Puffer: [Die gesamte Sudoers -Datei
- Puffer halten: Wurzeln Sie alle = (alle) alle
2.
'x'
tauscht den Haltenpuffer mit dem regulären "Sed'd" -Puffer aus.
- Regelmäßiger SED -Puffer: Wurzeln Sie alle = (alle) alle
- Holding Puffer: [Die gesamte Sudoers -Datei
3.
's/root/micronxd/' '
Ersetzt die Wurzel durch Mikronxd
- Regelmäßiger SED -Puffer: micronxd alle = (alle) alle
- Holding Puffer: [Die gesamte Sudoers -Datei
4.
'x'
tauscht den Haltebuffer wieder mit dem regulären Puffer "Sed'd" -Puffer aus.
- Regelmäßiger SED -Puffer: [Die gesamte Sudoers -Datei
- Puffer halten: micronxd alle = (alle) alle
5.
'/^root/g'
Der G findet den Haltebuffer nach dem Matching der Linie an ^Wurzel.
- Regelmäßiger SED -Puffer (nur die relevanten Bits):
##
Ermöglichen
Wurzeln Sie alle = (alle) alle
micronxd alle = (alle) alle
- Puffer halten: micronxd alle = (alle) alle
6.
"Wsudoers"
schreibt den regulären SED -Puffer zurück zu sudoers
Ich bin mir sicher, dass es einen besseren Weg gibt, aber ich versuche, SED zu halten. Außerdem war ich mir nicht sicher, ob user MACHINE=COMMANDS ????
ist die Syntax für alle Linux -Systeme oder nur Fedora (womit ich es zu tun habe).
Wie auch immer, ich freue mich, andere Wege zu sehen (besonders bessere Wege).