Nach dem Upgrade des Betriebssystems von 5300-06 auf 5300-11 ist dieses seltsame Verhalten aufgetreten.
Mein System hatte ein anderes Unix-Konto, nennen wir es " abc ", und konfigurierte seine UID absichtlich auf 0, um mit all seinen Berechtigungen als Root zu arbeiten. Es wird seit Jahren so betrieben und hat einwandfrei funktioniert. Wenn jedoch nach dem Upgrade das Kennwort von abc abläuft und nicht unmittelbar nach der erfolgreichen Anmeldung nach einem neuen Kennwort gefragt wird, fordert es nun auf , das Kennwort von " root " zu ändern , und es ändert tatsächlich das Kennwort von abc, nicht das von abc.
Wenn ich die UID von abc in eine andere eindeutige ID ändere, wird erfolgreich angezeigt, dass das Kennwort von abc geändert werden soll , wenn Sie dazu aufgefordert werden.
Es gibt viele Gründe, warum ich die UID von abc nicht ändern kann. Ich versuche herauszufinden, warum dies geschieht und wie ich es " reparieren " kann. Wird es wirklich durch das Betriebssystem-Upgrade verursacht?
id
whoami
who am i
id
uid = 0 (root) gid = 0 (system) groups = 501 (abc)whoami
rootwho am i
root pts / 1 Okt 08 10:37 (xxx.xxx.xxx.xxx)sudo
wie ein richtiges Unix sollte?Antworten:
Wenn zwei Konten dieselbe Benutzer-ID haben, handelt es sich per Definition um dasselbe Konto. Es ist möglich, aber nicht empfohlen, mehr als eine Zeile in
/etc/passwd
(oder einer anderen Benutzerdatenbank) mit derselben Benutzer-ID zu haben. Sie sind derselbe Benutzer mit unterschiedlichen Anmeldemöglichkeiten.Sie haben eine nicht unterstützte Funktion verwendet. Das Risiko der Verwendung einer nicht unterstützten Funktion besteht darin, dass sie beim Upgrade des Systems manchmal ausfällt.
Das Ablaufen des Kennworts ist normalerweise aus Sicherheitsgründen schlecht, da Benutzer schwächere Kennwörter auswählen oder diese auf eine Haftnotiz auf dem Monitor schreiben müssen. Der einzige Sicherheitsvorteil beim Ablaufen von Kennwörtern besteht darin, aufgegebene Konten zu sperren. Da es sich bei dem abc-Konto vermutlich um ein Konto handelt, das Sie im Rahmen einer regulären Aufgabe verwenden, verfallen Sie nicht.
Sie sollten dieses Setup wahrscheinlich ändern, da es zerbrechlich ist. Was zu ändern ist, hängt davon ab, wofür Sie das abc-Konto verwenden (wer hat das Passwort, unter welchen Umständen wird es verwendet, was ist die Shell von abc, ist es auf mehreren Computern vorhanden, ...).
quelle
Höchstwahrscheinlich hat das Systemupdate ein Skript oder eine andere Funktion im Zusammenhang mit dem Ablauf des Kennworts eingeführt, mit der der Benutzername nun anhand der UID gesucht wird, anstatt den Benutzernamen aus einer Umgebungsvariablen oder einer anderen Quelle zu ermitteln. Wie Gilles bemerkt, ist es fragil, mehrere Benutzernamen mit derselben UID zu haben.
Wenn Sie abc wirklich nicht auf eine andere UID verschieben können, suchen Sie nach Dateien / Skripten, die mit dem Ablauf des Kennworts verbunden sind und möglicherweise durch den Patch geändert wurden. Überprüfen Sie zum Beispiel
/usr/sbin/userCommonTasks
. Es wäre am besten, wenn Sie es mit der Pre-Patch-Version vergleichen könnten. Sie können auch überprüfen/etc/security/users
. Vielleicht hilft es, den Eintrag von abc über den von root zu verschieben.Jedes Update wird ein Hack sein, da mehrere Benutzernamen für eine UID eine Art Hack sind, sodass Sie letztendlich nur mit Instabilitäten handeln. Aber es sollte möglich sein, das System zu humpeln, wenn Sie herausfinden können, was sich geändert hat.
quelle
/usr/sbin/userCommonTasks
nichts geändert und versucht, abc über root in zu bewegen,/etc/security/users
aber es hat das Problem nicht