51

(68 odpowiedzi, napisanych Oprogramowanie / Software)

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

52

(68 odpowiedzi, napisanych Oprogramowanie / Software)

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:

53

(68 odpowiedzi, napisanych Oprogramowanie / Software)

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:~#

54

(68 odpowiedzi, napisanych Oprogramowanie / Software)

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
}

55

(68 odpowiedzi, napisanych Oprogramowanie / Software)

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

56

(68 odpowiedzi, napisanych Oprogramowanie / Software)

Dlaczego ania ma przypisany katalog dla anona??

57

(68 odpowiedzi, napisanych Oprogramowanie / Software)

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

58

(68 odpowiedzi, napisanych Oprogramowanie / Software)

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:~#

59

(68 odpowiedzi, napisanych Oprogramowanie / Software)

Nie dziala dosłownie nic.
plik po restarcie wygląda tak

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

ftp:x:1000
1001
1003
1006:1000
1001
1003
1006:ftp_user:/mnt/hdd2/work:/bin/false
ania:$1$hrtQXYX9$EPWvj3CntG3ju66t9s25W.:1010:1010:ftp_user:/mnt/hdd2/work:/bin/false
marek:$1$2yzeoq0e$LkPlyx7p.TQRGXQtKpijX0:1011:1011:ftp_user:/mnt/hdd2/lista:/bin/false

60

(68 odpowiedzi, napisanych Oprogramowanie / Software)

jak ustawie dla anonimowych i określonych poniżej to plik wygląda tak:

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
ftp:x:1000
1001:1000
ania:$1$6Z8VwJGd$6LUt5zsAJAopJwSF.OSZ70:1010:1010:ftp_user:/mnt/hdd2/work:/bin/false
marek:$1$SfDjAck5$eKQnC0nZyUfCTMxAePGwN/:1011:1011:ftp_user:/mnt/hdd2/lista:/bin/false

czyli katalog dla użytkownika ania jest poprawny ale nie moge się zalogować do żadnego usera, więc dupa całkowita.

a tak wygląda jak ustawie tylko dla określonych poniżej

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
ftp:x:1000
1001:1000
ania:$1$U7zjnCkT$Gs41En2/n9HDBRpTEolQM1:1010:1010:ftp_user::/bin/false
marek:$1$EExOAS6Y$ID8opmUDMHsDuPOqbV9oh.:1011:1011:ftp_user:/mnt/hdd2/lista:/bin/false

czyli brak możliwości zalogowania do user ania,ale do marka bezproblemowo.

61

(68 odpowiedzi, napisanych Oprogramowanie / Software)

To powiem coś jeszcze ciekawszego jak uruchomię katalog dla anonimowego to nie mogę się na żadnego usera zalogować i to nie ważne czy to ro czy rw.

62

(68 odpowiedzi, napisanych Oprogramowanie / Software)

config 'vsftpd'
    option 'anonmode' 'ro'
    option 'privateroot' '/mnt/hdd2/prywatny'
    option 'publicroot' '/mnt/hdd2/lista'
    option 'anonroot' '/tmp'
    option 'access' 'local'

config 'user' 'user_0'
    option 'username' 'ania'
    option 'password' 'ania'
    option 'mode' 'ro'

config 'user' 'user_1'
    option 'username' 'marek'
    option 'password' 'marek'
    option 'mode' 'rw'

Czyli w teorii powinno to działać prawidłowo ale tak nie jest.

63

(68 odpowiedzi, napisanych Oprogramowanie / Software)

ania:$1$GxDyW/of$lowtXSbb.MaTeEuNcJRx4/:1010:1010:ftp_user::/bin/false
marek:$1$IGus0el2$0z6C0lg6aszUVG6s8NyG1/:1011:1011:ftp_user:/mnt/hdd2/lista:/bin/false

No właśnie i tu jest pies pogrzebany, po zmianie na

ania:$1$GxDyW/of$lowtXSbb.MaTeEuNcJRx4/:1010:1010:ftp_user:/mnt/hdd2/lista:/bin/false
marek:$1$IGus0el2$0z6C0lg6aszUVG6s8NyG1/:1011:1011:ftp_user:/mnt/hdd2/lista:/bin/false

wszystko ruszyło, teraz pytanie dlaczego nie ustala katalogu dla usera z ro bo z rw przebiega to prawidłowo?

64

(68 odpowiedzi, napisanych Oprogramowanie / Software)

Nie mam dostępu w ogóle nie mogę się na tego usera z ro zalogować.

A to logi z klienta ftp

==== Connect: 2011-03-29 12:55:12 ====
220 ftp server ready
USER ania
331 Please specify the password.
PASS *********
500 500 OOPS: cannot change directory:

65

(68 odpowiedzi, napisanych Oprogramowanie / Software)

plik jest pusty a w userze z rw mam wpis write_enable=yes
i to wszystko.

66

(68 odpowiedzi, napisanych Oprogramowanie / Software)

dirmessage_enable=yes
download_enable=yes
dirlist_enable=yes
hide_ids=yes
syslog_enable=yes
local_umask=022
chmod_enable=no
chroot_local_user=yes
check_shell=no
user_config_dir=/tmp/vsftpd/users
listen=yes
listen_port=21
background=yes
use_sendfile=no
userlist_file=/tmp/vsftpd/userlist
userlist_enable=yes
userlist_deny=no
ftpd_banner=ftp server ready
anonymous_enable=no
local_enable=yes


zauważyłem wpis userlist_file=/tmp/vsftpd/userlist
a w tym pliku wielu powtarzających się userów

67

(68 odpowiedzi, napisanych Oprogramowanie / Software)

Podepnę się pod temat, zauważyłem że nie mogę udostępnić użytkownika na prawach tylko odczyt "ro" z rw nie ma problemu i co ciekawe nie mogę usunąć użytkowników już dodanych ale z tym to sobie poradziłem usuwając ich z pliku etc/config/ftp. największy problem to udostępnienie zasobów tylko z odczytem.

68

(11 odpowiedzi, napisanych Oprogramowanie / Software)

Bo to była ta stara wersja bez możliwości dostępu z wan, już tam zagladam.
EDIT: DZIĘKI JUŻ WSZYSTKO DZIAŁA  smile

69

(11 odpowiedzi, napisanych Oprogramowanie / Software)

po prostu, jest ftp ale po naciśnięciu okno ftp się nie otwiera ucieka na status i tak za każdym razem. Może dlatego że starsza wersja tego pluginu była już w obrazie

70

(11 odpowiedzi, napisanych Oprogramowanie / Software)

tak ale po zainstalowaniu nie działa

71

(11 odpowiedzi, napisanych Oprogramowanie / Software)

Sugerowałem się linkiem na openrouter, ale i tak nic z tego nie będzie bo on ma jeszcze gergoyle 1.3.7

72

(11 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary a gdzie sie podział ten plugin u ciebie w repo nie ma go jest tylko
plugin-gargoyle-ftp-20101126-pl.patch co można z tym zrobić?

73

(11 odpowiedzi, napisanych Oprogramowanie / Software)

witam znajomy ma gargulca jeszcze ze starym ftp-gui, on narazie nie chce zmieniać obrazu i stąd moje pytanie czy mogę ten plugin zainstalować i nałoży się na ten stary bez problemu ?
Edit:
Cezary a gdzie sie podział ten plugin u ciebie w repo nie ma go jest tylko
plugin-gargoyle-ftp-20101126-pl.patch co można z tym zrobić?

74

(15 odpowiedzi, napisanych Oprogramowanie / Software)

Pokaż swój /etc/config/fstab

75

(40 odpowiedzi, napisanych Oprogramowanie / Software)

Cezary wszystko ok działa, myślę że mój błąd polegał na tym że plik w init.d skopiowałem ze strony głównej ze spacjami i może dlatego nie aktywował połączenia z lan, poprawiłem to zrobiłem reboot i na razie lata pięknie, dziękuję za pomoc.