In einer anderen Antwort hier auf UNIX & Linux Stack Exchange schrieb Michael D Parker Antwort auf jemanden, der sagte, dies sei "sicher":
Normalerweise sollten Sie die Datei / etc / shadow NIEMALS direkt bearbeiten.
So:
Warum sollten Sie die Datei niemals/etc/shadow
direkt bearbeiten ?
/etc/shadow
ohne Probleme mehr als 20 Jahren, je . Und bitte seien Sie so höflich, die zweiminütige Hilfe → Tour zu lesen , insbesondere die "keine Ablenkungen", "kein Plaudern". Dies ist das erste Mal, dass ich in einer Frage mehr nicht relevanten Chit-Chat durchlesen musste als frage-relevante "Details".Antworten:
Es gibt mehrere Gründe , nicht zu bearbeiten
/etc/passwd
,/etc/shadow
,/etc/group
,/etc/gshadow
oder/etc/sudoers
direkt, sondern verwendenvipw
,vigr
odervisudo
:passwd
hatchsh
chfn
um etwas an seinem Konto zu ändern. Wenn Sie das entsprechende Tool verwenden, werden gleichzeitige Änderungen verhindert. Dies betrifft hauptsächlich Systeme mit mehreren Benutzern, weniger, wenn Sie der einzige Benutzer sind.vipw
Aktualisiert auf einigen Systemen (meistens oder nur * BSD) mehrere Dateien (z . B./etc/passwd
und/etc/master.passwd
). Dies gilt nicht für Linux.vipw
erstellt automatisch eine Sicherungskopie (passwd-
,shadow-
, ...), was nützlich ist , wenn Sie feststellen , dass Sie versehentlich eine Zeile gelöscht. Es ist nur nützlich, wenn Sie es vor der nächsten Bearbeitung bemerken, sodass es die Versionskontrolle und Backups nicht ersetzt. Es kann jedoch sehr hilfreich sein, wenn Sie Ihren Fehler früh genug erkennen.visudo
macht das nichtSie können die Datei direkt bearbeiten. Sie gehen nur ein zusätzliches Risiko ohne wirklichen Vorteil ein.
quelle
/etc/shadow
es nicht existiert und/etc/passwd
die falsche Datei zum Bearbeiten ist, da es sich um eine generierte Datei handelt, nicht um die Quelldatei. ☺Grundsätzlich gibt es zwei Möglichkeiten, dies zu betrachten:
Bearbeiten Sie niemals bestimmte Dateien ohne die vorgeschriebenen Tools, da Sie wahrscheinlich nicht wissen, was Sie tun, und das ist in Ordnung, da diese Tools es besser wissen und immer verfügbar sind.
Realistischer können Sie es jetzt genauso gut brechen, während Sie darüber nachdenken, damit Sie mit einer Sicherungskopie vorausplanen und die Unterschiede nachträglich vergleichen können, da
login
sich wahrscheinlich Grundkenntnisse über die Vor- und Nachteile des grundlegenden Anfangsprozesses Ihres Systems lohnen Wenn Sie es später auf eine andere Weise brechen und diese Tools Ihnen nicht helfen.Ich denke, Sie können wahrscheinlich sagen, welche ich empfehle. Ich sage, wenn Sie ein Thema auch nur für einen Moment interessiert, können Sie diese Neugier genauso gut nutzen und eine neue Fähigkeit erwerben, während Sie dabei sind. Besonders eine wie diese - die
shadow
Datei hat ein ziemlich einfaches Format und das Wenige, was ich darüber weiß, habe ich gelernt, nachdem ich es versehentlich kaputt gemacht habe - und es war nicht das Ergebnis einer Bearbeitung, die ich an dieser Datei vorgenommen habe.Mein Problem trat eher auf, nachdem ein anderer Fehler mit einer Paketverwaltungsdatenbank dazu führte, dass der Paketmanager sie überschrieb, ohne ein Backup zu speichern, und alle Benutzer auf dem System kaputt gemacht wurden . Weitere unwissende Pfuschversuche bei Reparaturen verteilten den Schaden nur auf andere verwandte Dateien, und es dauerte nicht lange, bis ich die meisten
/etc
Textdateien aus einer (weniger aktuellen als erhofften) wiederherstellen musste. Backup .Nachdem ich dies getan und überprüft hatte, ob ich es in einem funktionsfähigen Zustand hatte, beschloss ich, alles absichtlich und akribisch noch einmal zu tun. Und noch einmal. Das war alles vor ein paar Monaten, aber heute bin ich zuversichtlich, dass ich die Ursache eines
login
Problems mit einem erneuten Durchlauf einer einzelnen Protokolldatei auf meinem System diagnostizieren und mit einem beliebigen Basiseditor beheben kann (und vielleicht einen Blick darauf werfen kann) oder zwei atman 5 problem_file
) stellten nur einen grundlegenden Zugriff auf die betroffenen Root-Fs bereit. Es wurde nicht billig erworben - es hat fast einen Tag gedauert - und die zugehörigen Konfigurationsdateien sind über das gesamte Verzeichnis verteilt (und sogar einige - wie Linux-PAMs/var/run/no_login
- auf anderen Mounts) - aber es hat sich gelohnt. Und es könnte hat mit einer wenig Umsicht billiger gewesen.Die Moral dieser Geschichte ist , dass es wahrscheinlich ist nicht eine gute Sache , dass das Format von unternehmenskritischen configs wie
shadow
,passwd
,groups
,shells
sollte uns so undurchsichtig sein , dass wir spezielle Bearbeitungs - Werkzeuge verwenden müssen , die nicht oder nicht unsere Arbeit in einer Weise zu korrigieren und aus Gründen verstehen wir nicht nur eine einfache Änderung zu bewirken. Zumindest, denke ich, lohnt es sich, genau zu verstehen, was sie anders machen würden als wir.Wahrscheinlich ist eine gute Sache, aber, dass , wenn wir vertraut genug mit dem Bearbeiten von Dateien gesagt , dass wir das Risiko von in sie und danach Speichern ihnen typographische oder einfache syntaktische Fehler , dass es Werkzeuge zur Verfügung laufen , die können double-check unsere Arbeit auf eine Art und Weise und aus Gründen, die wir bereits verstehen, bevor wir unsere Blase-Änderungen anwenden.
quelle
Kontrapunkt - Wenn Sie eine Reihe von Benutzeranmeldungen von einem Server auf einen anderen kopieren müssen, ohne die aktuellen Kennwörter zu kennen oder ihnen neue zuzuweisen, müssen Sie / etc / shadow direkt bearbeiten, um das Feld für das Hash-Kennwort einzufügen. Mit vipw können Sie dieses Feld nicht berühren, es ist nur "*"
Update: oder verwenden Sie in diesem Fall chpasswd -e "Hash-Passwort", dies kann jedoch nur direkt auf dem Computer erfolgen. Wenn Sie mit einer Reihe von Dateien gearbeitet haben, die noch nicht auf einem Computer bereitgestellt wurden (z. B. Virtual Machine), ist die direkte Bearbeitung möglicherweise Ihre einzige Lösung.
dh es gibt normalerweise ein Werkzeug, um das zu tun, was Sie tun möchten, ohne / etc / shadow direkt zu bearbeiten. Sie müssen nur wissen, was es ist ...
quelle
Ein weiterer Grund, warum Sie diese Dateien bearbeiten müssen, besteht darin, dass Sie die Dateien in einem Dateisystem-Image bearbeiten, das Sie auf einem anderen System booten, und dieses System nach dem Start debuggen müssen. Zum Beispiel das epheremale MAAS-Dateisystem, das bei einer fehlerhaften Inbetriebnahme oder im Rettungsmodus verwendet wird.
Sag niemals nie ... es sei denn du meinst es ernst.
quelle