.titleBar { margin-bottom: 5px!important; }

Benutzer persistent Anlegen auf Freetz funktioniert trotz libfreetz-Patch nicht?

Dieses Thema im Forum "Freetz" wurde erstellt von seek, 22 Okt. 2008.

  1. seek

    seek Neuer User

    Registriert seit:
    15 Mai 2006
    Beiträge:
    46
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    Hallo.

    ich habe bis gestern freetz-stable-1.0 auf mein 7170 gehabt. Es hat für die Firmware nicht geklappt patch libfreetz zu erstellen. Da kam nach patch befehl folgende Meldung.


    Code:
    patching file make/libs/libfreetz.mk
    patching file make/libs/Config.in
    Hunk #1 FAILED at 664.
    Heute habe ich die folgende development Version von freetz erfolgreich gepatch und auf die Box hochgeladen.

    Firmware-Version 29.04.59freetz-devel-2675M

    Dann bin ich auf die box durch ssh gegangen (dropbear) und habe folgendes eingegeben um einen user anzulegen.

    Code:
    /var/mod/root # adduser hans
    Changing password for hans
    New password:
    Bad password: too weak
    Retype password:
    Password for hans changed by root
    /var/mod/root # cat /etc/passwd
    root:x:0:0:root:/mod/root:/bin/sh
    ftpuser:any:1000:0:ftp user:/var/media/ftp:/bin/sh
    ftp:x:1:1:FTP account:/home/ftp:/bin/sh
    hans:x:1001:1001:Linux User,,,:/home/hans:/bin/sh
    /var/mod/root # cat /etc/group
    root:x:0:
    users:x:1:
    hans:x:1001:
    /var/mod/root # cat /etc/shadow
    root:XXPWDXX:12332:0:99999:7:::
    ftp:!:10957:0:99999:7:::
    ftp:!:10957:0:99999:7:::
    ftp:!:10957:0:99999:7:::
    ftp:!:10957:0:99999:7:::
    ftp:!:10957:0:99999:7:::
    hans:XXPWDXX:14174:0:99999:7:::
    /var/mod/root # modusers save
    /var/mod/root # modsave flash
    Writing /var/flash/freetz...done.
    10752 bytes written.
    Sieht alles in Ordnung aus bis auf der Eintrag in /etc/group oder nicht?

    So sieht login versuch gleich danach aus

    Code:
    fritz.box login: hans
    Password:
       __  _   __  __ ___ __
      |__ |_) |__ |__  |   /
      |   |\  |__ |__  |  /_
    
       The fun has just begun...
    login: cannot run /bin/sh: Permission denied
    /var/mod/root #
    Also seltsamerweise kann der User sich nicht einloggen? Hat jemand eine Erklärung dazu?

    Dann mach ich ein Reboot um zu sehen ob der Benutzer hans persistent gespeichert wurde. Und so siehts nach ein Reboot aus:


    Code:
    /var/mod/root # login
    fritz.box login: hans
    Password:
    Login incorrect
    /var/mod/root # cat /etc/passwd
    root:x:0:0:root:/mod/root:/bin/sh
    ftpuser:any:1000:0:ftp user:/var/media/ftp:/bin/sh
    ftp:x:1:1:FTP account:/home/ftp:/bin/sh
    /var/mod/root # cat /etc/group
    root:x:0:
    users:x:1:
    hans:x:1001:
    /var/mod/root # cat /etc/shadow
    root:XXPWDXX:12332:0:99999:7:::
    ftp:!:10957:0:99999:7:::
    ftp:!:10957:0:99999:7:::
    ftp:!:10957:0:99999:7:::
    ftp:!:10957:0:99999:7:::
    ftp:!:10957:0:99999:7:::
    hans:XXPWDXX:14174:0:99999:7:::
    ftp:!:10957:0:99999:7:::
    /var/mod/root #
    Hans ist also von /etc/passwd verschwunden, ist aber in /etc/group noch drin...

    Libfreetz ist definitiv dies Mal auf der Box

    Code:
    /var/mod/root # ls /lib/libfreetz.so
    /lib/libfreetz.so        /lib/libfreetz.so.1      /lib/libfreetz.so.1.0.0

    Was mache ich Falsch? Bitte um Hilfe.

    Vielen Dank schon mal im Voraus.
     
  2. Darkyputz

    Darkyputz Aktives Mitglied

    Registriert seit:
    27 Juli 2005
    Beiträge:
    2,320
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Newton, New Jersey
    jo...also erstmal iss der patch oben inne Hose gegangen(musst du nochmal per Hand die Änderung die der Patch tun würde nachziehen oder den Patch für dich anpassen)
    dann solltest du dir den gefallen tun und die User die du anlegst in der /var/tmp/passwd anlegen und am besten gleich mit nem Homepfad(für z.b. ftp Verwendung)
    Sollte dann aber gehen...bei rennt es ja auch hervorragend
     
  3. ao

    ao Aktives Mitglied

    Registriert seit:
    15 Aug. 2005
    Beiträge:
    2,078
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    siehe auch in diesem Thread ;)
     
  4. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Dieser Patch ging mit der devel-version durch? Konntest du libfreetz im Menuconfig auswählen und hast das auch getan??

    Hast du diesen Patch auch im <freetz-dir>/patches/ Verzeichnis abgelegt?
     
  5. seek

    seek Neuer User

    Registriert seit:
    15 Mai 2006
    Beiträge:
    46
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    #5 seek, 23 Okt. 2008
    Zuletzt bearbeitet: 23 Okt. 2008
    Ja!
    Nein, konnte ich nicht. libfreetz war in Menuconfig nicht sichtbar.

    Nein hab ich nicht. Ich dachte das wäre nur eine ältere Version von libfreetz. Muss ich diesen auch mit patch -p0 befehl patch? Sollen die patches unter <freetz-dir>/patches/ kopiert werden?

    Ich probiere es mal aus..

    So ich habe es jetzt ausprobiert. 150-rc.S-libfreetz.patch die Datei ist nicht zu patchen da die Datei etc/init.d/rc.S nicht existiert..

    Code:
    /freetz-trunk$ patch -p0 < 150-rc.S-libfreetz.patch
    can't find file to patch at input line 3
    Perhaps you used the wrong -p or --strip option?
    The text leading up to this was:
    --------------------------
    |--- etc/init.d/rc.S.orig       2008-06-01 23:16:14.000000000 +0200
    |+++ etc/init.d/rc.S    2008-06-01 23:16:30.000000000 +0200
    --------------------------
    File to patch:
    Scheint So als ob libfreetz patch wirklich nicht mehr funktioniert...?
     
  6. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    zum einen musst du libfreetz auch wirklich auswählen im menuconfig, dazu muss wahrscheinlich advanced options aktiviert sein.
    Der zweite patch muss in das Verzeichnis <freetz>/patches kopiert werden, weil er während des make-Vorgangs benutzt wird um rc.S zu patchen.

    @Oliver: Ist das so richtig? Es steht im Thread nicht genau drin, aber so habe ich es mir anhand des Patches erschlossen. Den anwenden und den nach <freetz>/patches kopieren.


    Bei mir klappt das so :)

    kleiner Tip: libfreetz befindet sich bei den Libarys
     
  7. cuma

    cuma Aktives Mitglied

    Registriert seit:
    16 Dez. 2006
    Beiträge:
    2,735
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    #7 cuma, 23 Okt. 2008
    Zuletzt bearbeitet: 28 Mai 2010
    Ich benutze momentan den angehängten Patch. Mit Labor hab ich nie getestet. Es sind dann keine weiteren Patches nötig!
     
  8. matze1985

    matze1985 Aktives Mitglied

    Registriert seit:
    17 Feb. 2007
    Beiträge:
    1,537
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    wenn ich das richtig sehe macht der aber auch nix anderes als zusätzlich noch den 150-rc.S-libfreetz.patch in die patch-Verzeichnisse für 7270 und 7170 zu kopieren, oder?
    Mach ich halt per Hand (install-script) :)

    PS:auf der 7141 funzt libfreetz auch :)
     
  9. seek

    seek Neuer User

    Registriert seit:
    15 Mai 2006
    Beiträge:
    46
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    jetzt habe ich es ausprobiert und den 150-rc.S-libfreetz.patch in die patch-Verzeichnisse und anschlißend ein make. Dann die Firmware habe ich auf die box hochgeladen. Jetzt antwortet der webserver nicht mehr. 192.168.178.1 von fritzbox nicht mehr. http://192.168.178.1:81/ also freetz webseite geht..per ssh kann ich auf die box und ich sehe der angelegte benutzer bleibt nach einem reboot drin aber jetzt habe ich ein anderes problem. kann ich das irgendwie schnell beheben? Oder muss ich ein recover durchführen.
     
  10. Darkyputz

    Darkyputz Aktives Mitglied

    Registriert seit:
    27 Juli 2005
    Beiträge:
    2,320
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Ort:
    Newton, New Jersey
    kinners...
    die 150ér datei in /patches/boxtype/
    den anderen via patch einspielen wie oben beschrieben patch -p0 < ...
    das sind 2 Dateien...ganz simpel...
    und wenn der nicht 150´er mal streickt weil was irgendwo geändert iss, dann einfach mal editieren udn schauen was er wo macht und das per hand machan...so schwer iss das nicht...
    helfe aber gern weiter
     
  11. cuma

    cuma Aktives Mitglied

    Registriert seit:
    16 Dez. 2006
    Beiträge:
    2,735
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @matze1985: Da der Patch aus dem Ticket wohl nicht mehr ganz passte, habe ich meine Version angehängt, die ändere ich immer wenns mal klemmt. Ist aber das gleiche wie aus dem Ticket, allerdings mit 3 Boxen und nur 1 Patch-Datei
     
  12. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Ich hab dein Patch mal ans Ticket angehängt und meinen gelöscht.

    MfG Oliver
     
  13. seek

    seek Neuer User

    Registriert seit:
    15 Mai 2006
    Beiträge:
    46
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    #13 seek, 23 Okt. 2008
    Zuletzt bearbeitet: 7 Sep. 2010
    hi.

    also ich habe noch mal ein frisch erstelles Image mit libfreetz auf die box getan. Scheint den neu angelegten benutzer auch nach dem einloggen zu geben. das problem ist dass einloggen nicht klappt. da der neu user /bin/sh nicht ausführen darf.Hier noch mal der Login versuch.

    Code:
    Password:
       __  _   __  __ ___ __
      |__ |_) |__ |__  |   /
      |   |\  |__ |__  |  /_
    
       The fun has just begun...
    login: cannot run /bin/sh: Permission denied
    Der benutzer wurde durch den folgenden befehl angelegt.

    Code:
    adduser -h /home/svn -G svnusers svn 
    Warum kann der user also sich nicht einloggen also /bin/sh ausführen?
     
  14. seek

    seek Neuer User

    Registriert seit:
    15 Mai 2006
    Beiträge:
    46
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    #14 seek, 24 Okt. 2008
    Zuletzt bearbeitet: 24 Okt. 2008
    kann es sein dass der Fehler oben etwas mit Mount zu tun hat weil da unten bei sysfs und proc noexec steht?

    Code:
    /var/mod/root # cat /etc/fstab
    # /etc/fstab: static file system information.
    #
    # <file system> <mount point>   <type>  <options>               <dump>  <pass>
    proc            /proc           proc    nosuid,nodev,noexec     0       0
    tmpfs           /var            tmpfs   defaults                0       0
    sysfs           /sys            sysfs   nosuid,nodev,noexec     0       0
     
  15. cuma

    cuma Aktives Mitglied

    Registriert seit:
    16 Dez. 2006
    Beiträge:
    2,735
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Es darf sich ausser root per ssh niemand einloggen. Such mal im Forum
     
  16. olistudent

    olistudent IPPF-Urgestein

    Registriert seit:
    19 Okt. 2004
    Beiträge:
    14,756
    Zustimmungen:
    1
    Punkte für Erfolge:
    0
    Beruf:
    Softwareentwickler
    Ort:
    Kaiserslautern
    Das sieht dann aber nicht so aus oder?

    MfG Oliver
     
  17. seek

    seek Neuer User

    Registriert seit:
    15 Mai 2006
    Beiträge:
    46
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    folgender dropbear patch ist gelöscht damit non-root login per ssh funktionieren kann.

    Code:
    <freetz-dir>/make/dropbear/patches/100-root-login-only.patch
    Außerdem klappt der versuch innerhalb der shell mit dem befehl "login" einzuloggen auch nicht. Also ich glaube das hat irgendwas mit berechtigungen zu tun aber ich weiss leider nicht was.. Vielleicht hilf einem erfahrenen folgendes ? Sind die flags bei /lib normal?

    Code:
    /var/mod/root # ls -ld / /bin /etc/ /lib /home
    drwxrwxrwx    1 root     root          128 Oct 23 23:03 /
    drwxrwxr-x    1 root     root          939 Oct 23 23:03 /bin
    drwxrwxr-x    1 root     root          736 Oct 23 22:20 /etc/
    lrwxrwxrwx    1 root     root           12 Oct 23 23:03 /home -> var/mod/home
    drwxrwx---    1 root     root         3456 Oct 23 23:03 /lib
     
  18. cuma

    cuma Aktives Mitglied

    Registriert seit:
    16 Dez. 2006
    Beiträge:
    2,735
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Vielleicht gibt es das HOME des Benutzers nicht oder die Rechte sind falsch. Oder die Shell ist nicht richtig eingestellt in der passwd
     
  19. seek

    seek Neuer User

    Registriert seit:
    15 Mai 2006
    Beiträge:
    46
    Zustimmungen:
    0
    Punkte für Erfolge:
    6
    die Shell ist eingestellt auf /bin/sh und HOME verzeichnis für den Benutzer existiert auch.



    Code:
    /var/mod/root # ls -l /home/
    drwxr-xr-x    2 ftp      users           0 Jan  1  2000 ftp
    drwxr-xr-x    2 hans     hans            0 Jan  1  2000 hans
    
    /var/mod/root # cat /etc/passwd
    root:x:0:0:root:/mod/root:/bin/sh
    ftpuser:any:1000:0:ftp user:/var/media/ftp:/bin/sh
    ftp:x:1:1:FTP account:/home/ftp:/bin/sh
    hans:x:1001:1001:Linux User,,,:/home/hans:/bin/sh
    
     
  20. Silent-Tears

    Silent-Tears IPPF-Promi

    Registriert seit:
    3 Aug. 2007
    Beiträge:
    7,456
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    BI
    Bei dem gelöschten Patch, hast du danach ein make dropbear-dirclean && make gemacht?