Anmeldeinformationen sind in Linux an UIDs gebunden. Wenn ich jedoch die Sudoers-Datei öffne, werden die Sudoers nach Benutzername und nicht nach UID definiert.
Warum werden Benutzernamen statt UIDs verwendet?
Ändert sich die sudoers-Datei beim usermod -l
Ausführen automatisch?
Ausschnitt:
# User privilege specification
root ALL=(ALL:ALL) ALL
Antwort1
Nach einigen Handbüchern [1,2] Ich kann Ihnen folgende Antworten geben:
Es ist möglich, die Benutzer mit der UID anzugeben.
Von demsudoers-Wiki von Ubuntuwir können lesen:
Sie können Kommentare einfügen, indem Sie ihnen ein # voranstellen. Dies wird jedoch auch verwendet, um in bestimmten Teilen der Datei eine UID anzugeben, wenn darauf eine Zahl folgt.
Später imAbschnitt „Runas-Aliase“sei ein Beispiel berichtet:
# UID 0 is normally used for root # Note the hash (#) on the following line indicates a uid, not a comment. Runas_Alias ROOT = #0
Wenn Sie dies tun,
usermod -l
sollten Sie die Änderung einfach nicht in den Sudoers propagieren.
Tatsächlich aus demManpage für Usermod, informativer als dieBSD einskönnen wir lesen-l, --login NEUER_LOGIN
Der Name des Benutzers wird von LOGIN in NEW_LOGIN geändert.Sonst wird nichts geändert.
Insbesondere sollte der Name des Home-Verzeichnisses des Benutzers wahrscheinlich manuell geändert werden, um den neuen Anmeldenamen widerzuspiegeln.Es scheint immer noch eine manuelle Pflege der Änderung im Sudoers zu erfordern, wenn Sie nur
-l
Parameter angeben. Wahrscheinlich müssen Sie den alten Benutzernamen löschen undFügen Sie den Benutzer zur Sudo-Gruppe hinzumitsudo usermod -a -G sudo hduser
Tatsächlich geschah es beidieser Benutzerim Jahr 2008 mit einem Debian-Sid-System:
Ich habe XXX als Benutzernamen verwendet, um mich bei meinem Sid-Laptop anzumelden, und XXX befindet sich in der Sudoers-Datei. Heute habe ich es in YYY geändert mit
sudo usermod -l YYY XXX
Ich habe nichts anderes getan.
Jetzt kann ich mich mit YYY anmelden, konnte mich jedoch mit su nicht mit dem Root-Passwort als Root anmelden.Außerdem ist 'YYY' nicht in der sudoers-Datei, daher kann ich /etc/sudoers jetzt nicht bearbeiten, um YYY einzuschließen.
EndlichWarum, eine definitive Antwort erhalten Sie wahrscheinlich nur vonTodd Millerder den letzten (erfolgreichen) Fork von sudo im Jahr 1991 gemacht hat, oder vielleicht von Bob Coggeshall oder Cliff Spencer, wenn es aus dem Jahr 1980 stammt [7].
Verweise
- DerWiki von Ubuntuüber Sudoers.
- DerAbschnitt „Runas-Aliase“.
- Die Manpage fürBenutzermod.
- Die Manpage für Usermod,BSD eins.
- Fragen Sie UbuntuAntwortInformationen zum Hinzufügen eines Benutzers zur Sudo-Gruppe.
- Der Typ, der es getan hat
usermod -l
. - Manchehistorische Anmerkungenüber sudo.
- Die Todd MillersStartseite.