Ubuntu Server kann Kennwörter nicht ändern

573
Plazgoth

Ich arbeite derzeit mit der Kernel-Version 3.13.0-65-generic vertrauenswürdig (Ubuntu 14.04.3 LTS).

Als root kann ich das Passwort eines Benutzers nicht ändern:

 root@server:~# passwd newuser passwd: Authentication token manipulation error passwd: password unchanged 

Ich kann auch das Passwort für das root-Konto selbst nicht ändern:

root@server:~# passwd passwd: Authentication token manipulation error passwd: password unchanged 

Ich habe eine Weile gesucht. Dies ist kein Problem mit / musste als r / w gemountet werden. Die Berechtigungen für / etc / passwd und / etc / shadow sind in Ordnung. Ich kann das Passwort in der Datei / etc / shadow manuell ändern und das funktioniert. Aber ich muss verstehen, warum passwd den Fehler bekommt.

Ich denke, ich muss tiefer in /etc/pam.d/* einsteigen, aber ich bin mir nicht sicher, wo ich anfangen soll.

Alle Ideen wären sehr dankbar. Vielen Dank!

AKTUALISIERTE INFO:

  • In der Befehlszeile werden keine überflüssigen Zeichen übergeben.
  • Dies ist derzeit das Problem für alle vorhandenen und neuen Benutzer. Ich habe versucht, einen neuen Benutzer mit adduser hinzuzufügen. Die gleiche Fehlermeldung wurde vom adduser-Skript ausgegeben, als es mich nach dem Kennwort fragen sollte.
2
`passwd `soll Sie zur Eingabe des neuen Kennworts des Benutzers auffordern und dann zur Bestätigung wiederholen. Was Sie eingefügt haben, sieht so aus, als würden Sie nach dem Benutzernamen fremde Zeichen einfügen. Hast du ein Leerzeichen hinter dem Benutzernamen? Haben / var / log / secure oder / var / log / messages andere Hinweise? Tritt es nur für diesen einen Benutzer auf? Wenn Sie user2 erstellen, passiert das für sie? Xalorous vor 7 Jahren 0
Danke für die Ideen. Ich habe die ursprüngliche Frage mit einigen Antworten auf Ihre Fragen aktualisiert und werde mir die Protokolle ansehen, die Sie als nächstes erwähnt haben. Plazgoth vor 7 Jahren 0
Vielleicht überprüfen Sie Ihr bash-Profil auf Aliase auf Kennwort, das Elemente hinzufügt. Ich kenne Ubuntu nicht, daher kann ich Ihnen nicht sagen, wo Sie suchen müssen. Bei RHEL sind es "~ / .bashrc" und "~ / .bash_profile". Und wenn Sie noch keinen haben, erhalten Sie `/ etc / .bashrc` und` / etc / .bash_profile`. Und vergessen Sie nicht, Roots `~` ist `/ root /`, nicht `/ user / username`. Probieren Sie `sudo passwd username` auch mit einem Benutzer mit sudoer-Rechten aus. Xalorous vor 7 Jahren 0
Danke für die Vorschläge. Sie können mit dem Aliasbefehl selbst nach Aliases suchen, ohne die Startskripts zu durchsuchen. Alias ​​selbst gibt die Aliasnamen des aktuellen Benutzers an. Ich habe auch versucht, Sudo zu benutzen, ohne Erfolg. Nichts Interessantes in den von Ihnen erwähnten Protokollen. Plazgoth vor 7 Jahren 0
Überprüfen Sie den Besitz und die Berechtigungen für die Datei / etc / shadow. Wenn ein anderer Besitzer der Besitzer ist und das "andere" Bit kein "Schreiben" enthält, kann dies dazu führen. Und es geht über meine Erfahrung, wie man es behandeln kann, aber wenn das Setuid-Bit für den Befehl passwd nicht gesetzt ist oder etwas maskiert ist, würde dies dazu führen, dass andere Benutzer das passwd nicht setzen können. Aber auch root versagt. Xalorous vor 7 Jahren 0
Überprüfen Sie auch diese Frage (http://superuser.com/questions/107386/trying-to-change-a-ubuntu-users-password-authentication-token-manipulation-err?rq=1), insbesondere die 2. und die 3. Antworten Der dritte erwähnt die Berechtigungen etc / passwd, die leicht zu überprüfen sind. Die zweite verlinkt eine Seite, auf der erklärt wird, wie man PAM schießt. Seien Sie sehr vorsichtig und beachten Sie seinen Rat bezüglich des Sicherns von Dateien, bevor Sie sie bearbeiten. Außerdem muss ein anderer Administrator geöffnet sein, um die Wiederherstellung durchzuführen, falls dies erforderlich ist. Xalorous vor 7 Jahren 0
Checked permissions on /etc/shadow they look fine, like you said root is the owner. -rw-r----- 1 root shadow 1687 Sep 14 16:26 shadow Plazgoth vor 7 Jahren 0
Die zweite hat einen Link zum Debuggen von PAM, aber dieser Link scheint tot zu sein :( Plazgoth vor 7 Jahren 0
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackexchange.com/rooms/45477/discussion-between-plazgoth-and-xalorous). Plazgoth vor 7 Jahren 0

2 Antworten auf die Frage

1
Plazgoth

Ok, ich glaube, ich habe es herausgefunden. Durchsuchen in /etc/pam.d/* Ich habe Debug- und Prüfoptionen für die meisten üblichen * Dateien aktiviert. Das hat nicht viel geholfen, außer mir auf das pam_unix-Modul zu zeigen:

passwd[45463]: pam_unix(passwd:chauthtok): username [root] obtained passwd[45463]: pam_unix(passwd:chauthtok): username [root] obtained passwd[45463]: pam_unix(passwd:chauthtok): password - new password not obtained 

Ich begann, die Optionen von common-password, die der pam_unix.so gegeben wurden, genauer zu untersuchen. Die Optionen, die ich hatte, waren: obscure use_authtok try_first_pass sha512

Als ich die Manpage für pam_unix las, sah ich, dass use_authtok mit dem Ändern des Passworts zusammenhängt. Und es wurde darüber gesprochen, es nach pam_cracklib zu benutzen. In meinem Fall gibt es keine pam_cracklib, also habe ich beschlossen, diese Option zu entfernen. Dadurch wurde die Funktionalität des Befehls passwd vollständig wiederhergestellt.

Ich bin nicht sicher, ob ein Skript diese Option hinzugefügt hat oder dass es eine Standardeinstellung war.

Vielen Dank für alle, die versucht haben, Ideen zu liefern.

0
DrNoone

Es hat den Anschein, dass das Problem mit den encryptfs (verschlüsseltes Dateisystem-Pam-Modul) zu tun hat. Wenn der Benutzer sein Kennwort ändert, muss die Passphrase für die Festplattenverschlüsselung irgendwie geändert werden. Wenn dieser Änderungsversuch fehlschlägt, schlägt der gesamte Kennwortänderungsprozess fehl und wird zurückgesetzt. Siehe: https://bugs.launchpad.net/ecryptfs/+bug/1486470

Danke für den Vorschlag. In den common- * -Dateien wurde ecryptfs als optional festgelegt, nicht erforderlich, daher habe ich es kommentiert. Dies hat die WARNUNG dazu gebracht, nicht mehr in /var/log/auth.log zu erscheinen. Das Problem, dass der Befehl passwd nicht funktioniert, wurde dadurch jedoch nicht behoben. An diesem Punkt sogar als root angemeldet kann ich den Befehl passwd nicht ausführen, um das root-Passwort zu ändern. Plazgoth vor 7 Jahren 0