51

Odp: Problem z ftp

root:$1$zq.j5Ep8$IM6eUGRymd3zqFlV7y7VR0:0:0:root:/root:/bin/ash
nobody:*:65534:65534:nobody:/var:/bin/false
daemon:*:65534:65534:daemon:/var:/bin/false

To tylko zostaw. Później zrób /etc/init.d/ftp start i pokaż co zrobił. Tak samo jak pokaż uci show ftp

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

52

Odp: Problem z ftp

root@Gargoyle:~# /etc/init.d/ftp start
Changing password for ania
New password:
Bad password: too short
Retype password:
Password for ania changed by root
Changing password for marek
New password:
Bad password: too short
Retype password:
Password for marek changed by root
root@Gargoyle:~#



root@Gargoyle:~# uci show ftp
ftp.@vsftpd[0]=vsftpd
ftp.@vsftpd[0].anonmode=ro
ftp.@vsftpd[0].privateroot=/mnt/hdd2/dm500
ftp.@vsftpd[0].publicroot=/mnt/hdd2/lista
ftp.@vsftpd[0].anonroot=/mnt/hdd2/work
ftp.@vsftpd[0].access=both
ftp.user_0=user
ftp.user_0.username=ania
ftp.user_0.password=ania
ftp.user_0.mode=ro
ftp.user_1=user
ftp.user_1.username=marek
ftp.user_1.password=marek
ftp.user_1.mode=rw
root@Gargoyle:~#

TL-WR1043ND GargoylePL (by obsy)
WRT54GL kamikaze 7.09

53

Odp: Problem z ftp

A w /etc/passwd

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

54

Odp: Problem z ftp

root:$1$zq.j5Ep8$IM6eUGRymd3zqFlV7y7VR0:0:0:root:/root:/bin/ash
nobody:*:65534:65534:nobody:/var:/bin/false
daemon:*:65534:65534:daemon:/var:/bin/falseftp:x:1000ftp:x:1000

ftp:x:1000
1001
1003
1006:1000
1001
1003
1006:ftp_user:/mnt/hdd2/work:/bin/false
ania:$1$NqXfP2z7$bC0H/V23icO8m34y7aQMS0:1010:1010:ftp_user:/mnt/hdd2/work:/bin/false
marek:$1$jwctfKSc$dz.CNkbhoxHDVBGXdaWRf1:1011:1011:ftp_user:/mnt/hdd2/lista:/bin/false

TL-WR1043ND GargoylePL (by obsy)
WRT54GL kamikaze 7.09

55

Odp: Problem z ftp

Dlaczego ania ma przypisany katalog dla anona??

TL-WR1043ND GargoylePL (by obsy)
WRT54GL kamikaze 7.09

56

Odp: Problem z ftp

Prawie że niemożliwe to to jest. Nie rozwala Ci się system plików?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

57

Odp: Problem z ftp

Nie wszystko jest ok, poza tym mój kolega na swoim gargulcu wykrył to a ja u siebie tylko to sprawdziłem, on ma to samo

TL-WR1043ND GargoylePL (by obsy)
WRT54GL kamikaze 7.09

58

Odp: Problem z ftp

Wyczyść jeszcze raz passwd. Wstaw do /etc/init.d/ftp do funkcji add_or_update... polecenie

set -x

Wykonaj /etc/init.d/ftp i pokaż co wypluł.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

59

Odp: Problem z ftp

Nie widze tego add_or_udate...

#!/bin/sh /etc/rc.common

START=49

update_user()
{
    config_get username $1 username
    config_get password $1 password
    config_get mode $1 mode

    local home

    if [ "$mode" = "rw" ]; then
        echo "write_enable=yes" > /tmp/vsftpd/users/"$username"
        home="$publicroot"
    fi
    if [ $mode = "private" ]; then
        echo "write_enable=yes" > /tmp/vsftpd/users/"$username"
        home="$privateroot"/"$username"
        mkdir -p "$home"
        chmod 777 "$home"
    fi
    add_or_replace_user "$username" "$password" "$home"
}

add_or_replace_user()
{
    username="$1"
    password="$2"
    home="$3"

    group=$(cat /etc/group | grep "^$username" | sed 's/.*:x://g' | sed 's/://g')
    if [ -z "$group" ] ; then
        group=1000
        tst=$(cat /etc/group | grep ":$group:")
        while [ -n "$tst" ] ; do
            group=$(($group+1))
            tst=$(cat /etc/group | grep ":$group:")
        done
        echo "$username:x:$group:" >> /etc/group
    fi

    user_line=$(cat /etc/passwd | grep "^$username:")
    if [ -z "$user_line" ] ; then
        user_num="$group"
        tst=$(cat /etc/passwd | grep ":.*:$user_num:.*:.*:/.*:/.*$")
        while [ -n "$tst" ] ; do
            user_num=$((user_num+1))
            tst=$(cat /etc/passwd | grep ":.*:$user_num:.*:.*:/.*:/.*$")
        done
        echo "$username:x:$user_num:$group:ftp_user:$home:/bin/false" >> /etc/passwd
    fi
    if [ "$password" != "x" ] ; then
        (echo "$password" ; sleep 1 ; echo "$password") | passwd "$username"
    fi
    touch /tmp/vsftpd/users/"$username"
    echo "$username" >> /tmp/vsftpd/userlist
}

create_config()
{
    config_get access $1 access "ro"
    config_get anonroot $1 anonroot "/mnt"
    config_get anonmode $1 anonmode
    config_get publicroot $1 publicroot "/mnt"
    config_get privateroot $1 privateroot "/mnt"

    export access="$access"
    export publicroot="$publicroot"
    export privateroot="$privateroot"

    mkdir -p "$publicroot"
    chmod 777 "$publicroot"

    mkdir -p "$privateroot"
    chmod 777 "$privateroot"

    mkdir -p /tmp/vsftpd/users/
    rm /tmp/vsftpd/users/* 2>/dev/null
    vsftpd_conf="/tmp/vsftpd/vsftpd.conf"
    cat /etc/vsftpd.conf.template > $vsftpd_conf

    if [ ! -L /etc/vsftpd.conf ]; then
        mv /etc/vsftpd.conf /etc/vsftpd.conf.orig
    fi

    if [ ! -e /etc/vsftpd.conf ]; then
        ln -s "$vsftpd_conf" /etc/vsftpd.conf
    fi

    if [ "$access" != "local" ]; then
        mkdir -p $anonroot
        chmod 777 $anonroot

        if [ "$anonmode" = "rw" ]; then
            echo "write_enable=yes" > /tmp/vsftpd/users/ftp
        else
            echo "write_enable=no" > /tmp/vsftpd/users/ftp
        fi
        echo "anonymous" > /tmp/vsftpd/userlist
        add_or_replace_user "ftp" "x" "$anonroot"
    fi

    case "$access" in
        local)
            echo "anonymous_enable=no" >> $vsftpd_conf
            echo "local_enable=yes" >> $vsftpd_conf
            ;;
        anon)
            echo "anon_world_readable_only=no" >> $vsftpd_conf
            echo "anon_umask=022" >> $vsftpd_conf
            echo "anon_upload_enable=yes" >> $vsftpd_conf
            echo "anon_mkdir_write_enable=yes" >> $vsftpd_conf
            echo "anon_other_write_enable=yes" >> $vsftpd_conf
            echo "local_enable=yes" >> $vsftpd_conf
            ;;
        both)
            echo "anon_world_readable_only=no" >> $vsftpd_conf
            echo "anon_umask=022" >> $vsftpd_conf
            echo "anon_upload_enable=yes" >> $vsftpd_conf
            echo "anon_mkdir_write_enable=yes" >> $vsftpd_conf
            echo "anon_other_write_enable=yes" >> $vsftpd_conf
            echo "local_enable=yes" >> $vsftpd_conf
            ;;
    esac
}

start()
{
    gdisplay=$(uci get gargoyle.display.system_ftp 2>/dev/null)
    if [ -z "$gdisplay" ] ; then
        uci set gargoyle.display.system_ftp='FTP'
        uci set gargoyle.scripts.system_ftp='ftp.sh'
        uci set gargoyle.system.ftp='351'
        uci commit
    fi

    mkdir -p /tmp/vsftpd
    sed -i '/:ftp_user:/d' /etc/passwd

    config_load "ftp"
    config_foreach create_config "vsftpd"
    if [ "$access" != "anon" ]; then
        config_foreach update_user "user"
    fi
}
TL-WR1043ND GargoylePL (by obsy)
WRT54GL kamikaze 7.09

60

Odp: Problem z ftp

add_or_replace_user()
{
 set -x
 ....

tak zrób

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

61

Odp: Problem z ftp

root@Gargoyle:~# /etc/init.d/ftp start
+ username=ftp
+ password=x
+ home=/mnt/hdd2/work
+ cat /etc/group
+ grep ^ftp
+ sed s/://g
+ sed s/.*:x://g
+ group=1000
1001
1003
1006
+ [ -z 1000
1001
1003
1006 ]
+ cat /etc/passwd
+ grep ^ftp:
+ user_line=
+ [ -z  ]
+ user_num=1000
1001
1003
1006
+ cat /etc/passwd
+ grep :.*:1000
1001
1003
1006:.*:.*:/.*:/.*$
+ tst=
+ [ -n  ]
+ echo ftp:x:1000
1001
1003
1006:1000
1001
1003
1006:ftp_user:/mnt/hdd2/work:/bin/false
+ [ x != x ]
+ touch /tmp/vsftpd/users/ftp
+ echo ftp
+ echo anon_world_readable_only=no
+ echo anon_umask=022
+ echo anon_upload_enable=yes
+ echo anon_mkdir_write_enable=yes
+ echo anon_other_write_enable=yes
+ echo local_enable=yes
+ config_get cfgtype user_0 TYPE
+ eval export -n -- cfgtype=${CONFIG_user_0_TYPE:-${4}}
+ export -n -- cfgtype=user
+ [ -n vsftpd -a xuser != xvsftpd ]
+ continue
+ config_get cfgtype user_1 TYPE
+ eval export -n -- cfgtype=${CONFIG_user_1_TYPE:-${4}}
+ export -n -- cfgtype=user
+ [ -n vsftpd -a xuser != xvsftpd ]
+ continue
+ [ both != anon ]
+ config_foreach update_user user
+ local function=update_user
+ [ 2 -ge 1 ]
+ shift
+ local type=user
+ [ 1 -ge 1 ]
+ shift
+ local section cfgtype
+ [ -z cfg02b21f user_0 user_1 ]
+ config_get cfgtype cfg02b21f TYPE
+ eval export -n -- cfgtype=${CONFIG_cfg02b21f_TYPE:-${4}}
+ export -n -- cfgtype=vsftpd
+ [ -n user -a xvsftpd != xuser ]
+ continue
+ config_get cfgtype user_0 TYPE
+ eval export -n -- cfgtype=${CONFIG_user_0_TYPE:-${4}}
+ export -n -- cfgtype=user
+ [ -n user -a xuser != xuser ]
+ eval update_user "$section" "$@"
+ update_user user_0
+ config_get username user_0 username
+ eval export -n -- username=${CONFIG_user_0_username:-${4}}
+ export -n -- username=ania
+ config_get password user_0 password
+ eval export -n -- password=${CONFIG_user_0_password:-${4}}
+ export -n -- password=wioletka22
+ config_get mode user_0 mode
+ eval export -n -- mode=${CONFIG_user_0_mode:-${4}}
+ export -n -- mode=ro
+ local home
+ [ ro = rw ]
+ [ ro = private ]
+ add_or_replace_user ania wioletka22 /mnt/hdd2/work
+ set -x
+ username=ania
+ password=wioletka22
+ home=/mnt/hdd2/work
+ cat /etc/group
+ grep ^ania
+ sed s/.*:x://g
+ sed s/://g
+ group=1010
+ [ -z 1010 ]
+ cat /etc/passwd
+ grep ^ania:
+ user_line=
+ [ -z  ]
+ user_num=1010
+ cat /etc/passwd
+ grep :.*:1010:.*:.*:/.*:/.*$
+ tst=
+ [ -n  ]
+ echo ania:x:1010:1010:ftp_user:/mnt/hdd2/work:/bin/false
+ [ wioletka22 != x ]
+ passwd ania
+ echo wioletka22
+ sleep 1
Changing password for ania
New password:
Retype password:+ echo wioletka22

Password for ania changed by root
+ touch /tmp/vsftpd/users/ania
+ echo ania
+ config_get cfgtype user_1 TYPE
+ eval export -n -- cfgtype=${CONFIG_user_1_TYPE:-${4}}
+ export -n -- cfgtype=user
+ [ -n user -a xuser != xuser ]
+ eval update_user "$section" "$@"
+ update_user user_1
+ config_get username user_1 username
+ eval export -n -- username=${CONFIG_user_1_username:-${4}}
+ export -n -- username=marek
+ config_get password user_1 password
+ eval export -n -- password=${CONFIG_user_1_password:-${4}}
+ export -n -- password=mareczek22
+ config_get mode user_1 mode
+ eval export -n -- mode=${CONFIG_user_1_mode:-${4}}
+ export -n -- mode=rw
+ local home
+ [ rw = rw ]
+ echo write_enable=yes
+ home=/mnt/hdd2/lista
+ [ rw = private ]
+ add_or_replace_user marek mareczek22 /mnt/hdd2/lista
+ set -x
+ username=marek
+ password=mareczek22
+ home=/mnt/hdd2/lista
+ cat /etc/group
+ grep ^marek
+ sed s/.*:x://g
+ sed s/://g
+ group=1011
+ [ -z 1011 ]
+ cat /etc/passwd
+ grep ^marek:
+ user_line=
+ [ -z  ]
+ user_num=1011
+ cat /etc/passwd
+ grep :.*:1011:.*:.*:/.*:/.*$
+ tst=
+ [ -n  ]
+ echo marek:x:1011:1011:ftp_user:/mnt/hdd2/lista:/bin/false
+ [ mareczek22 != x ]
+ passwd marek
+ echo mareczek22
+ sleep 1
Changing password for marek
New password:
Retype password:+ echo mareczek22

Password for marek changed by root
+ touch /tmp/vsftpd/users/marek
+ echo marek
root@Gargoyle:~#
TL-WR1043ND GargoylePL (by obsy)
WRT54GL kamikaze 7.09

62

Odp: Problem z ftp

Co masz w /etc/group? Bo tam też masz sieczkę.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

63

Odp: Problem z ftp

root:x:0:
nogroup:x:65534:
ftp:x:1000:
ftp1:x:1001:
work:x:1002:
ftp2:x:1003:
oscam:x:1004:
13:x:1005:
ftp3:x:1006:
xxxx:x:1007:
artur:x:1008:
ttt:x:1009:
ania:x:1010:
marek:x:1011:
delfin:x:1012:

TL-WR1043ND GargoylePL (by obsy)
WRT54GL kamikaze 7.09

64

Odp: Problem z ftp

wywal wszystko co ma ftp w nazwie. Tu jest problem.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

65

Odp: Problem z ftp

Ruszyło w tym sensie że mogę się zalogować ale ania dlaej dostaje folder anona

TL-WR1043ND GargoylePL (by obsy)
WRT54GL kamikaze 7.09

66

Odp: Problem z ftp

W update_user zrób tak:

local home
home="$publicroot"

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

67

Odp: Problem z ftp

Ale przecież tak właśnie jest

TL-WR1043ND GargoylePL (by obsy)
WRT54GL kamikaze 7.09

68

Odp: Problem z ftp

    local home

    if [ "$mode" = "rw" ]; then
        echo "write_enable=yes" > /tmp/vsftpd/users/"$username"
        home="$publicroot"
    fi

ma być

    local home
    home="$publicroot"

    if [ "$mode" = "rw" ]; then
        echo "write_enable=yes" > /tmp/vsftpd/users/"$username"
        home="$publicroot"
    fi
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

69

Odp: Problem z ftp

No teraz wszystko działa ja należy smile Dzięki.

TL-WR1043ND GargoylePL (by obsy)
WRT54GL kamikaze 7.09