FTP User Dreambox

Wir haben aktuell ein Problem mit dem Board und arbeiten an der Lösung...
  • Hi,
    mein zweiter Thread :face_with_rolling_eyes:


    Meine Box: DB 7000S
    Image: Gemini 1.05


    Problem: Ich kann keinen zusätzlichen FTP-User anlegen.
    Hintergrund: Das halbe Haus ist vernetzt und ich will meinem Bruder die aufgenommenen Filme zur Verfügung stellen.
    Problem: Seine dicken Finger...


    Soweit so gut, habe mich nun wundgesucht im Forum nach einer Lösung.
    Samba will ich wegen einem einzigen Account nicht extra installieren.
    Mir fehlt der Befehl zum Anlegen eines neuen Users...
    Muss ich vielleicht einfach nur eine INI editieren ?


    Ich finde "nur" folgende Befehle vor:
    \[ echo insmod pidof syslogd
    adsl-connect enigma kill ping tail
    adsl-start env killall poweroff tar
    adsl-status eraseall klogd ps telnet
    adsl-stop etherwake lcdoff pwd telnetd
    ash expr ln reboot test
    basename false loadkmap rebootSE top
    boot find logger reiserfsck touch
    bunzip2 free login reset true
    busybox fsck.ext2 ls rm tty
    bzcat fsck.ext3 lsmod rmdir udhcpc
    camdaemon grabpic md5sum rmmod umount
    cat grep mkdir route uname
    chgrp gunzip mke2fs sed uniq
    chmod gzip mkfs.ext2 setkeycodes uptime
    chown halt mkfs.ext3 sfdisk vi
    chroot hdparm mknod sh wc
    clear head mkswap sleep wget
    cp hostname modprobe sort which
    date hotplug more streampes whoami
    dd id mount streamsec xargs
    df ifconfig mv streamts yes
    dmesg in.ftpd nc su zcat
    du in.telnetd netstat swapoff
    dumpkmap inetd nslookup swapon
    e2fsck init passwd sync


    Irgendwelche Ideen ?


    Gruß,
    :face_with_rolling_eyes: GOLEM :face_with_rolling_eyes:

  • hi golem


    ich nehme an, dass du mit telnet auf der box bist.


    ok,machen wir im /tmp verzeichnis ein backup von den wichtigen files.


    cp /etc/group /tmp
    cp /etc/passwd /tmp



    dann legen wir eine gruppe für deinen bruder an. (du kannst bruder durch den namen deines bruders ersetzen).


    echo buder:x:1000:bruder >> /etc/group



    danach legen wir einen user für deinen bruder an. (bruder wider durch einen namen ersetzen)


    echo bruder::100:1000:bruder name:/:/bin/sh >> /etc/passwd



    nun hat der bruder noch kein passwort, also müssen wir noch eines setzen.


    passwd bruder



    so jetzt kannst du den account testen und dich mit deinem bruder einloggen.


    falls immer noch alles funktionieren sollte, kannst du die backups von passwd und gourp im tmp verzeichnis löschen.



    bye

  • Hi child3,
    danke für deine ausführliche Antwort! Genau das wollte ich wissen!


    Ich habe es ausprobiert und es funktioniert auch.
    Natürlich wirft der Erfolg eine neue Frage auf: Wie setze ich nun Berechtigungen auf einzelne Verzeichnisse ?
    Ich würde gerne in /hdd nur dedizierte Ordner zur Verfügung stellen
    /Dokus, /Comic....auf andere Ordner soll kein Zugriff erfolgen, auch nicht lesend.
    Ist das einfach zu lösen, oder sollte ich mir Datei und Rechteverwaltung von Linux durchlesen ?


    Gruß,
    :face_with_rolling_eyes: GOLEM :face_with_rolling_eyes:

  • Hi,
    ich habe nun herausgefunden wie ich einzelne Verzeichnisse für GROUPS sperre :)
    Ich habe mit Totalcommander das Attribut für ein Testverzeichnis auf 700 gesetzt. Es gibt da aber noch den CHMO-Befehl. Gibt es eine Syntax für CHMOD um Berechtigungen rekursiv auszuführen ? Also alles was unter diesem Testverzeichnis liegt (zus. Files und Folder) soll die selbe Berechtigung bekommen.
    ich habe einen biisschen gegoogelt und nur folgendes gefunden:



    For recursive chmod'ing see the function below.
    Only really usefull when chmod'ing a tree containing directories only, jet, since you don't want an executable bit on a regular file. Who completes the function so it's accepting strings like "g+w", and it's as usefull as unix "chmod -R" ? :winking_face:


    <?php


    function chmod_R($path, $filemode) {
    if (!is_dir($path))
    return chmod($path, $filemode);


    $dh = opendir($path);
    while ($file = readdir($dh)) {
    if($file != '.' && $file != '..') {
    $fullpath = $path.'/'.$file;
    if(!is_dir($fullpath)) {
    if (!chmod($fullpath, $filemode))
    return FALSE;
    } else {
    if (!chmod_R($fullpath, $filemode))
    return FALSE;
    }
    }
    }

    closedir($dh);

    if(chmod($path, $filemode))
    return TRUE;
    else
    return FALSE;
    }
    ?>

  • hi golem


    Du hast dir die Antwort schon selber gegeben.


    chmod -R <berechtigung> <verzeichnis>


    ändert die berechtigung rekursiv.

  • Hi child3,
    klasse wie Probleme hier im Board gelöst werden.
    Absolutes Gegenteil zu einem anderen Board!


    Vielen Dank noch einmal für die kompetente Hilfe!


    Gruß,
    GOLEM

  • nicweb
    Das wird leider nicht vom ftpd in der DB unterstützt.
    Daemons wie z.B. Proftpd können mit diesen Features dienen.


    Müsstest nur jemanden finden, der dir den für die db kompiliert. :)

    1.Box: 7000-S Rev. 3
    Flash: Gemini 2.70
    HDD: Maxtor DiamondMax 16 300GB 5400u/min
    ---
    2.Box: 5620-S Rev. 4
    HDD per NFS

  • > Wenn ich jetzt bruder /hdd/ftp als Home zuordne wie kann ich es verhindern, dass bruder aus diesem Verzeichnis raus kommt ?!?


    Linux guru zu stelle :)


    Das kann man machen...


    also, der bruder soll an nix anderes als /hdd/ftp kommen.


    Dazu musst du überall seinen zugang wegnehmen, und zwar folgendermassen (am beispiel vom movie folder):


    chgrp bruder /hdd/movie
    chmod g= /hdd/movie


    In diesem fall ist "bruder" der name der unix *gruppe*
    wenn du nicht willst dass er den Inhalt von /hdd lesen kann:


    chgrp bruder /hdd
    chmod g=x /hdd


    und NICHT "chmod g= /hdd" weil sonst kann er sich nicht mehr einloggen.


    und dann sieht sein ftp so aus:


    ftp dreambox
    Connected to dreambox.cpu.lu.
    220 welcome to your dreambox
    Name: bruder
    331 Please specify the password.
    Password:
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> ls
    200 PORT command successful. Consider using PASV.
    150 Here comes the directory listing.
    -rw-r--r-- 1 0 0 0 Feb 26 19:12 test
    226 Directory send OK.
    ftp> cd ..
    250 Directory successfully changed.
    ftp> ls
    200 PORT command successful. Consider using PASV.
    150 Here comes the directory listing.
    226 Transfer done (but failed to open directory).
    ftp> cd /hdd
    250 Directory successfully changed.
    ftp> ls
    200 PORT command successful. Consider using PASV.
    150 Here comes the directory listing.
    226 Transfer done (but failed to open directory).



    cool, gell.


    Was hab ich jetzt gewonnen?
    Georges

  • Hm, ich habe das jetzt auch mal getestet. Vieleicht habe ich aber was flasch gemacht.


    ich kann mit mit dem neu angelegten User einloggen und lande auf dem Verzeichniss hdd/ftp.


    Wenn ich nun z.B. mit Totalcommander ein verzeichniss zurückgehen lande ich auf hdd und hier wird nun nichts , rein gar nichts angezeigt. So soll es ja auch sein. Aber gehe ich dann noch wieder eien schritt zurüch habe ich zugriff auch alle Verzeichniss der Dream (var,dev,etc,lib etc.) Wie kann ich verhindert das er die sieht. Ok hat hier keine Schreibberechtigung. Kann allso nichts kaputtmachen aber eigenlich währe es schön wenn er die auch nicht sehen könnte.

  • wenn du willst dass er auch da nix sieht muss du / genau so ändern wie hdd


    also:


    chgrp bruder /
    chmod g=x /

  • Ach, einfach mit einem Strich. Das war ja simpel. Vielen Dank. Jetz ist es so wie ich es mir vorstelle.

  • Zitat

    Original von nicweb
    Wenn ich jetzt bruder /hdd/ftp als Home zuordne wie kann ich es verhindern, dass bruder aus diesem Verzeichnis raus kommt ?!?


    Wie geht sowas ?


    Bei mir kommt er immer im root raus.


    mfg Lnexus

  • ist zwar schon ein Weilchen her aber ich greife das nochmal auf...


    könnte vll. jemand eine kleine Anleitung geben, wie man einem User einen bestimmtes Home-Verzeichnis (für FTP) zuordnen kann?


    Gruß und Dank,
    flooo


    1. Box [Wohnzimmer]
    Box: Dreambox 7000-S [Rev. 4]
    Image: Gemini 2.00 [Flash]
    USB: D-Link DWL-122 [11MBit WLAN]
    HDD: Samsung SV1604N [160GB, 5400 U/min.]
    System: DVB-S [Astra 19,2° Ost]
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    2. Box [Schlafzimmer]
    Box: Humax F3-FOX T
    System: DVB-T [Wesel]

  • So und ich greife das ganze hier nochmal auf und frage mich, ob ich das auch mit der 500er Box machen kann.


    Ich möchte ebenfalls die aufgenommenen Filme sharen. Nanu? "die 500er hat doch garkeine Festplatte!?" werden sich jetzt einige fragen. Das stimmt, aber mit einer NSLU2 an der 500er ist eben fast alles möglich.


    Ja, ja, mit der NSLU2 kann ich auch einen FTPServer machen. Um das ganze aber gegen Hacker sicher zu machen, muss man da eine andere Firmware einspielen. Und das ist mir zu aufwendig.


    Also nochmal: Kann man einen weiteren User auch bei der 500er anlegen?


    Danke


    picpoul

  • ich hab zwar keine 500er, aber linux bleibt linux, und user anlegen ist in jedem linux gleich.


    Georges

  • Zitat

    Original von nicweb
    Wenn ich jetzt bruder /hdd/ftp als Home zuordne wie kann ich es verhindern, dass bruder aus diesem Verzeichnis raus kommt ?!?


    Wie kann ich denn das Home Verzeichnis dem Benutzer zuordnen.


    mfg Nemo

  • nemo


    das machst du in der passwd z.b. für den User hans das Homeverzeichnis
    /hdd/ftp zuordnen:


    hans::100:100::/hdd/ftp:/bin/sh

    ( I love my menu's :winking_face: )
    E1 Quicktip: Blue-Panel -> (5) Quickbutton Einstellungen ->Plugin nach Name -> Flexmenu 1.94 :]
    E2 Quicktip: edit /etc/quickbutton.xml add this into plugins section then Blue-Panel -> (3) Extras/Einstellungen -> Quickbutton ->Plugin nach Name -> Menu Fantastic;)