Passwort-Dateien wie aufräumen/synchronisieren?!?

Gero013

Neuer User
Mitglied seit
5 Mai 2010
Beiträge
190
Punkte für Reaktionen
0
Punkte
0
Hallo,

wie dort zu lesen, sind die ganzen Berechtigungsdateien auf der Box ziemlich verkorkst.

Ich habe schon versucht, die aufzuräumen und mit "modusers save" zu speichern, aber nach einem reboot oder FW-update sieht es wieder völlig malat aus.

Schätze, der Murks hat sich in den AVM-Bereich der FW gefressen.

Welche Möglichkeiten habe ich, das Berechtigungssystem wieder in Ordnung zu bringen?!?

Gruß Gero
 
Du musst nach dem "modusers save" noch ein "modsave flash" machen. Hast du das gemacht? Dann sollte es nicht mehr ganz so schlimm aussehen.

MfG Oliver
 
Du musst nach dem "modusers save" noch ein "modsave flash" machen.
Yo, ich habe so ziemlich alle Spielarten durchprobiert.

Habe mir dann auch die modlib mal reingezogen - nicht dass ich jetzt übermäßig viel verstanden hätte, aber wenn ich es richtig gesehen habe, ist bei einem "modusers save" ein "modsave flash" bereits dabei.
... anyway

... meine Änderungen leben bis zum nächsten reboot oder FW-update.

Anders als ich das Wiki verstanden habe.
Könnte es sein, dass es ein Problem mit dem Dateiende gibt, dass dies nicht richtig geschrieben wird, wenn die Datei sich verkleinert?

Habe dann entdeckt, dass wenn man im WebIF von AVM das Kennwort des ftp-Benutzers ändert, dass dann die passwd komplett neu geschrieben wird (danach gibt es nur noch root und ftpuser), ohne allerdings die shadow zu aktualisieren.
Ich vermute, dass es hier einen Konflickt zwischen AVM und Freetz gibt.
Muss gestehen, dass mich das Verhalten rund um passwd ziemlich verunsichert.

Wird von Freetz aus bei einem FW-Update überhaupt eine passwd geschrieben?
... oder anders gefragt, was passiert, wenn in einem Flashbereich, der bei einem FW-update nicht beschrieben wird Müll drin steht?
Wie kann man da Probleme fixen?

Gruß Gero
 
Bei einem Firmware-Update wird nichts an den Dateien im tffs2 geändert. Hier liegen die AVM-Konfiguration und die Freetz-Konfig. Wenn da was nicht mehr stimmt und du deshalb kein Zugriff mehr auf die Box hast bleibt nur noch ein Recover mit der AVM .exe.
Das von dir beobachtete Verhalten des ctlmgr ist korrekt. Dafür haben wir im trunk diese LD_PRELOAD Library. Da wird die Funktion, die die passwd überschreibt selbst überschrieben.

MfG Oliver
 
Ergänzend:
AVM verwendet die shadow Datei gar nicht und überschreibt die passwd komplett beim Booten und beim Ändern des Paßworts. Beim nächsten Start existiert die Benutzer in der passwd nicht und werden daher angelegt. Da in der passwd nichts von dem Benutzer stand, wir in der shadow die Zeile angehängt, obwohl schon eine Zeile vorhanden war. Im Laufe der Zeit sammeln sich diese Zeilen. Das hat nichts mit Dateiende und Verkleinern der Datei zu tun.
 
Könnten wir durch ein Skript (möglichst einfach) diese doppelten Einträge aus der shadow entfernen? Das könnte z.B. bei jedem Boxstart laufen.

MfG Oliver
 
Habe an der Ecke noch etwas weiter getestet.

So wie es aussieht, werden die geänderten Dateien nur bei "modsave all" gespeichert (hatte das wohl vorher doch nicht getestet).
Habe also alle 4 Berechtigungsdateien so editiert, wie ich es für richtig hielt, ein "modsave all" und dann ein reboot ausgeführt (Dabei habe ich bei passwd und shadow jeweils eine Leerzeile am Ende angefügt).

Als die Box wieder oben war, zeigte sich, dass die Benutzer "ntp" und "ftp" in der shadow-Datei dupliziert waren, nicht aber in der passwd (beide Benutzer waren in beiden Dateien vorhanden).
Für mich heißt das, dass die Prüfung auf vorhandene Benutzereinträge nicht greift.

In meinem rc.local für die FTP-Platte habe ich für passwd und shadow getrennte Prüfungen eingebaut und jeder Eintrag wird nur getätigt, wenn die Prüfung fehlschlägt.
Die Erweiterung von passwd und shadow beim Einschalten der Platte funktioniert zuverlässig. Ebenso wie die Erkennung, ob die Benutzer schon vorhanden sind, d.h. wenn die Platte erneut eingeschaltet wurde, ohne dass es einen reboot gab.

Vielleicht müsste modlib nochmal gründlich unter die Lupe genommen werden?!?

Gruß Gero
 
Gute Nachricht:

Gleiche Tests mit dem aktuellen trunk gemacht - dort gibt es keine doppelten Einträge mehr. Scheint also schon gefixt zu sein :)

Gruß Gero
 
Für mich heißt das, dass die Prüfung auf vorhandene Benutzereinträge nicht greift.

Vielleicht müsste modlib nochmal gründlich unter die Lupe genommen werden?!?
Die Prüfung auf vorhandene Einträge funktioniert durchaus, solange nicht durch andere Programme (AVM ctlmgr) nur die passwd geändert wird
Gleiche Tests mit dem aktuellen trunk gemacht - dort gibt es keine doppelten Einträge mehr. Scheint also schon gefixt zu sein :)
Vermutlich steht das auch schon irgendwo im Wiki ...
 
Die Prüfung auf vorhandene Einträge funktioniert durchaus, solange nicht durch andere Programme (AVM ctlmgr) nur die passwd geändert wird
Nö!
In Freetz 1.13 läuft die Prüfung definitiv daneben und es werden ständig bereits vorhandene Zeilen in shadow eingefügt. Ich weiß zwar nicht exakt, wer der "Schuldige" ist, aber der AVM ctlmgr ist an der Stelle völlig außen vor!

Gruß Gero
 
Das passiert wahrscheinlich jedesmal, wenn man im Webinterface die USB-Einstellungen ändert.

MfG Oliver
 
Nö, ich hatte das WebIF nicht mal aktiv.

Ein reboot reichte völlig um neue Zeilen in shadow zu erhalten.

Gruß Gero
 
Die Prüfung auf vorhandene Einträge funktioniert durchaus, solange nicht durch andere Programme (AVM ctlmgr) nur die passwd geändert wird.
In Freetz 1.13 läuft die Prüfung definitiv daneben und es werden ständig bereits vorhandene Zeilen in shadow eingefügt. Ich weiß zwar nicht exakt, wer der "Schuldige" ist, aber der AVM ctlmgr ist an der Stelle völlig außen vor!
Also nochmal langsam zum Mitschreiben:
Freetz sichert die Dateien und stellt sie beim Neustart korrekt wieder her.
Der ctlmgr überschreibt (erstellt) die passwd Datei nach dem Booten und bei Änderungen aus dem Web-Frontend. Die shadow-datei wird von AVM nicht verwendet und vom ctlmgr nicht verändert. Als Folge davon stehen Benutzer in der shadow Datei, aber nicht in der passwd Datei. Die Start-Skripte von etlichen Diensten prüfen, ob der jeweils benötigte Benutzer in der passwd Datei steht. Dort steht er aber nicht drin, weil ctlmgr die Datei neu erstellt hat, ohne diesen Benutzer. Es wird also das Programm adduser aufgerufen, das den Benutzer anlegen soll. Dieses Programm prüft, ob der Benutzer in der passwd Datei steht. Er steht aber nicht drin, weil sonst erst gar nicht versucht würde, den Benutzer anzulegen. Also wird eine Zeile in der passwd und eine Zeile in der shadow angehängt. Da aber nur in der passwd der Benutzer entfernt wurde und nicht in der shadow, steht er jetzt in der shadow mehrfach drin.
Man könnte jetzt argumentieren, daß adduser auch in der shadow Datei nachschauen könnte, ob dort der Benutzer existiert. Aber warum sollte das Programm damit rechnen, daß die Dateien unsachgemäß verändert wurden, was normalerweise niemand tut.
 
Andere Variante (meinetwegen auch zum Mitschreiben):

1. Alle beteiligten Berechtigungsdateien auf shell-Ebene (via ssh) editiert und alles störende entfernt.
2. modusers save
3. modsave all
4. reboot

wenn box wieder da, ist die passwd ok, die shadows hat die Benutzereinträge von ftp und ntp dupliziert.

Gruß Gero
 
Das Verhalten ist im dazugehörenden Ticket schon deutlich beschrieben, und ich bin oben auch darauf eingegangen:
Der ctlmgr überschreibt (erstellt) die passwd Datei nach dem Booten und bei Änderungen aus dem Web-Frontend.
Ja, nach jedem Booten bekommst Du einen zusätzlichen Eintrag in der shadow Datei. Das Verhalten ist schon lange bekannt, und der Grund ist das, was ich oben geschrieben habe.
 
Kostenlos!

Statistik des Forums

Themen
248,880
Beiträge
2,303,876
Mitglieder
378,552
Neuestes Mitglied
MEDSCAMP