Page 5 of 5 FirstFirst ... 345
Results 61 to 71 of 71

Thread: Базовая настройка ProFtpD

  1. #61
    В proftpd-1.3.2 официально встроили возможность перекодировки! По-моему так один из лучших фтп серверов.
    ASUS RT-N16 (1.9.2.7-rtn) + multi-wan (2x PPPoE, было на WL-500W)
    Нужно делать так как нужно, а как не нужно - делать не нужно.

  2. #62
    Скомпилировал proftpd v1.3.2rc3 с модулем mod_lang под wl500gp. LangEngine работает. Только при запуске с LangEngine "on" появляется сообщение:
    Code:
    # proftpd
    SpIInnerGW - mod_lang/0.9: unable to bind to text domain 'proftpd' using locale path '/opt/share/locale': Invalid argument
    Конфиг пока практически по-умолчанию. LangPath добавил сам. В указанном каталоге как раз и есть locale со структурой каталогов по языкам.
    proftpd.conf:
    Code:
    # This is a basic ProFTPD configuration file (rename it to 
    # 'proftpd.conf' for actual use.  It establishes a single server
    # and a single anonymous login.  It assumes that you have a user/group
    # "nobody" and "ftp" for normal operation and anon.
    
    ServerName			"ProFTPD Default Installation"
    ServerType			standalone
    DefaultServer			on
    WtmpLog                         off
    LangPath			/opt/share/locale
    
    # Port 21 is the standard FTP port.
    Port				21
    
    # Umask 022 is a good standard umask to prevent new dirs and files
    # from being group and world writable.
    Umask				022
    
    # To prevent DoS attacks, set the maximum number of child processes
    # to 30.  If you need to allow more than 30 concurrent connections
    # at once, simply increase this value.  Note that this ONLY works
    # in standalone mode, in inetd mode you should use an inetd server
    # that allows you to limit maximum number of processes per service
    # (such as xinetd).
    MaxInstances			10
    
    LangEngine on
    UseEncoding UTF-8 CP1251
    
    <Global>
      RootLogin On
      RequireValidShell off
      AuthUserFile /etc/passwd
      AllowStoreRestart on
    #  TransferRate RETR 25
    #  TransferRate APPE,STOR 100:2048
    </Global>
    
    
    # Set the user and group under which the server will run.
    User				nobody
    Group				nobody
    
    # To cause every FTP user to be "jailed" (chrooted) into their home
    # directory, uncomment this line.
    #DefaultRoot ~
    
    # Normally, we want files to be overwriteable.
    AllowOverwrite		on
    
    # Bar use of SITE CHMOD by default
    <Limit SITE_CHMOD>
      DenyAll
    </Limit>
    
    # A basic anonymous configuration, no upload directories.  If you do not
    # want anonymous users, simply delete this entire <Anonymous> section.
    <Anonymous ~ftp>
      User				ftp
      Group				ftp
    
      # We want clients to be able to login with "anonymous" as well as "ftp"
      UserAlias			anonymous ftp
    
      # Limit the maximum number of anonymous logins
      MaxClients			5
    
      # We want 'welcome.msg' displayed at login, and '.message' displayed
      # in each newly chdired directory.
      DisplayLogin			welcome.msg
      DisplayChdir			.message
    
      # Limit WRITE everywhere in the anonymous chroot
      <Limit WRITE>
        DenyAll
      </Limit>
    </Anonymous>
    Может компилировать надо было с каким-то особенным параметром?

    Прикладываю ipk, кому-нибудь пригодится.
    Attached Files Attached Files

  3. #63

    Question как правильно настроить webalizer и ротацию логов?

    Стоит на роутере webalizer хочу что бы он раз в сутки запускался.
    Как правильно прописать автозапуск в crontab?

    crontab Выглядит так:
    # cat crontab
    SHELL=/bin/sh
    PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/sbin:/opt/bin
    MAILTO=""
    HOME=/
    # ---------- ---------- Default is Empty ---------- ---------- #

    есть директория cron.d
    с одним файлом updatedb-daily

    вопрос номер два как правильно и проще сделать ротацию логов?

  4. #64

    ?

    Последний вопрос: какие права нужно установить на директорию чтобы ее не было видно в списке, при заходе на фтп сервер, никому кроме ее владельца? Я поставил drwx------ но ее видно, хотя зайти нельзя.

  5. #65
    Quote Originally Posted by Snarpix View Post
    Последний вопрос: какие права нужно установить на директорию чтобы ее не было видно в списке, при заходе на фтп сервер, никому кроме ее владельца? Я поставил drwx------ но ее видно, хотя зайти нельзя.
    Таких прав *NIX не предусматривает только чтение-запись/исправление-исполнение кода/чтение содержимого папки... А зачем? зайти не может и ладно ... подробнее http://linuxopen.ru/2007/12/08/prava...y-v-linux.html

  6. #66
    Quote Originally Posted by tempik View Post
    Таких прав *NIX не предусматривает только чтение-запись/исправление-исполнение кода/чтение содержимого папки... А зачем? зайти не может и ладно ... подробнее http://linuxopen.ru/2007/12/08/prava...y-v-linux.html
    А как же это реализовано в родной прошивке?

    P.S. Прочитал про липкий бит. Попробую реализовать с помощью его.

  7. #67
    Quote Originally Posted by Snarpix View Post
    А как же это реализовано в родной прошивке?

    P.S. Прочитал про липкий бит. Попробую реализовать с помощью его.
    Не знаю как в родной прошивке (ни разу не видел ее...) но есть возможность задавать домашний каталог пользователя и зпретить выходить за его пределы но это нарушает заданное условие
    "необходимо было чтобы каждый юзер видел свою личную + общую директории"
    З.Ы. "липкий бит" не про это...

  8. #68
    Уже понял что не то. Ладно спасибо за помощь, подумаю на досуге как реализовать, вдруг придумаю

  9. #69
    Quote Originally Posted by Snarpix View Post
    Уже понял что не то. Ладно спасибо за помощь, подумаю на досуге как реализовать, вдруг придумаю
    в ProFTPD есть настройки HideUser и HideGroup ...vsftpd ИМХО подобного не имеет ...

  10. #70

    Базовая настройка ProFtpD

    Искал нормальный мануал по установке и настройке proftpd, так и не нашёл в итоге решил собрать из всех найденных в один нормальный.
    Мануал делал по аналогии с примером

    Устанавливаем необходимые пакеты.
    Code:
    ipkg install proftpd adduser
    Создаём пользователей. Для примера одного анонимного, другого администратора.

    Анонимный пользователь
    Code:
    adduser userftp -d /opt/ftp/ -s /bin/false
    adduser adminftp -d /opt/ftp/admin -s /bin/false
    Создаём файл rонфигурации для Ftp.
    Code:
    nano /opt/etc/proftpd.config
    Code:
    ServerName                      "Necrom Station"
    ServerType                      standalone
    DefaultServer                   on
    UseReverseDNS                   off
    IdentLookups                    off
    
    # Port 21 is the standard FTP port.
    Port                            21
    UseIPv6                         off
    AllowForeignAddress             on
    MasqueradeAddress               192.168.1.1
    
    # Umask 022 is a good standard umask to prevent new dirs and files
    # from being group and world writable.
    Umask                           022 022
    MaxInstances                    8
    MaxLoginAttempts                3
    
    # Не забываем про логирование:
    ExtendedLog                     /opt/var/log/proftpd/extend.log
    TransferLog                     /opt/var/log/proftpd/transfer.log
    SystemLog                       /opt/var/log/proftpd/syslog.log
    ScoreboardFile                  /opt/var/run/proftpd.scoreboard
    
    # Мы не будем использовать файл /etc/ftpusers
    UseFtpUsers                     off
    
    PersistentPasswd                off
    MultilineRFC2228                on
    
    # "таймауты", по истечению которых сервер будет закрывать соединение
    TimeoutLogin                    120
    TimeoutNoTransfer               900
    TimeoutStalled                  100
    TimeoutIdle                     2200
    
    <Global>
      RootLogin                       Off
      AuthUserFile                    /etc/passwd
      AllowStoreRestart               on
      ShowSymlinks                    on
      AllowOverwrite                  on
      DisplayChdir                    .message
      ListOptions                     .-l.
      RequireValidShell               off
    
    #  TransferRate RETR 25
    #  TransferRate APPE,STOR 100:2048
    </Global>
    
    <Limit ALL>
       DenyAll
    </Limit>
    
    # Set the user and group under which the server will run.
    User                            nobody
    Group                           nobody
    DefaultRoot                     ~
    
    # A basic anonymous configuration, no upload directories.  If you do not
    # want anonymous users, simply delete this entire <Anonymous> section.
    <Anonymous /opt/ftp>
      User                          userftp
      Group                         ftp
      # We want clients to be able to login with "anonymous" as well as "ftp"
      UserAlias                     anonymous userftp
      AuthAliasOnly                 on
    
      # Limit the maximum number of anonymous logins
      MaxClients                    5
    
      # Отключаем требования валидного шелла пользователя
      # позволяет "пускать" в систему юзером без доступа по SSH (nologin)
      RequireValidShell             on
    
      # Скрывать файлы и папки пользователя root
      HideUser                     adminftp
    
      # Разрешаем авторизацию, чтение файлов и перемещение по папкам
      <Limit LOGIN READ DIRS>
             AllowAll
      </Limit>
    
      DisplayLogin                  welcome.msg
      #DisplayFirstChdir            .message
    
      # Разрешаем запись
      <Directory upload/*>
            <Limit WRITE>
                  AllowAll
            </Limit>
      </Directory>
    </Anonymous>
    
    
    # Объявляем анонимный сервер с корнем в домашем каталоге пользователя adminftp
    <Anonymous ~adminftp>
    		# От кого будет работать демон
            User                    adminftp
            Group                   adminftp
           
            # Установка владельца на новые файлы    
            UserOwner               adminftp
            GroupOwner              adminftp
           
            # Включаем запрос пароля
            AnonRequirePassword     on
      
            # Разрешаем все для нашего пользователя
            <Limit ALL>
                Order Allow, Deny
                AllowUser		adminftp
            </Limit>
    </Anonymous>
    Добавляем файл /etc/paswwd в автозагрузку
    Code:
    echo "/etc/passwd
    /etc/group" >> /usr/local/.files
    flashfs save && flashfs commit && flashfs enable
    Создаём скрипт автозапуская.
    Code:
    nano /opt/etc/init.d/S90proftpd
    chmod +x /opt/etc/init.d/S90proftpd
    Code:
    #!/bin/sh
    
    prefix="/opt"
    PATH=${prefix}/bin:${prefix}/sbin:/sbin:/bin:/usr/sbin:/usr/bin
    NAME=proftpd
    DAEMON=${prefix}/sbin/${NAME}
    DAEMON_OPTS="-c ${prefix}/etc/proftpd.conf"
    
    test -x $DAEMON || exit 0
    
    if [ -z "$1" ] ; then
        case `echo "$0" | sed 's:^.*/\(.*\):\1:g'` in
            S??*) rc="start" ;;
            K??*) rc="stop" ;;
            *) rc="usage" ;;
        esac
    else
        rc="$1"
    fi
    
    case "$rc" in
        start)
            echo "Starting ftp server: $NAME"
            $DAEMON $DAEMON_OPTS
            ;;
        stop)
            if [ -n "`pidof $NAME`" ]; then
                echo "Stopping ftp server: $NAME"
                killall $NAME 2> /dev/null
            fi
            ;;
        restart)
            "$0" stop
            sleep 1
            "$0" start
            ;;
        *)
            echo "Usage: $0 (start|stop|restart|usage)"
            ;;
    esac
    
    exit 0
    Вот в принципе и всё.

    P.s Для того чтобы было видно во внешнем мире нужно добавить 2 правила. И проверить цепочку INPUT. Иногда бывает не в попад стоит правило DROP.
    Code:
    iptables -D INPUT -j DROP
    iptables -A INPUT -p tcp --dport 21 -j ACCEPT
    iptables -I OUTPUT -p tcp --dport 20 -j ACCEPT 
    iptables -A INPUT -j DROP
    Если не получится можно попробывать вот так
    Code:
    iptables -I INPUT 1 -p tcp --dport 21 -j ACCEPT
    iptables -I OUTPUT 1 -p tcp --dport 20 -j ACCEPT
    Чтоб удалить iptables правило по номеру
    Code:
    iptables -L INPUT --line-numbers
    iptables -D INPUT номер
    Чтоб протестировать соединение на стороне сервера можно использовать команду
    Code:
    tcpdump -npi vlan1 port 21 and host 10.1.1.1(внешний_ip)
    И попросить в сети, кого нить проверить через консоль ftp 10.1.1.1

    Примерный вид должен быть следующий.
    iptables -nvL INPUT
    Code:
    Chain INPUT (policy ACCEPT 37 packets, 3796 bytes)
     pkts bytes target     prot opt in     out     source               destination         
        0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           state INVALID 
    86375 8817K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
       18  1440 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           state NEW 
      270 22017 ACCEPT     all  --  br0    *       0.0.0.0/0            0.0.0.0/0           state NEW 
       83  2496 ACCEPT     2    --  *      *       0.0.0.0/0            224.0.0.0/4         
        0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            224.0.0.0/4         udp dpt:!1900 
      126 14317 SECURITY   all  --  vlan1  *       0.0.0.0/0            0.0.0.0/0           state NEW 
        0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp spt:67 dpt:68 
        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.1.1         tcp dpt:80 
        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:21 
        0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
    Если вообще не хочет работать, то убивайте по 1 правилу из цепочки INPUT или всё цепочку для тестирования и смотрите где затор. (Убить все правила iptables -F INPUT)
    Правила частично позаимствовал с этих постов
    15 и 167

    Ещё читал что бывают проблемы с UPnP. Взято отсюда
    UPnP не подчищает за собой port mappings и оставляет записи в nvram. Посмотреть эти записи можно так:

    nvram show | grep "forward_port"

    forward_port0=9999-9999>192.168.1.1:9999-9999,udp,on,Azureus UPnP 9999 UDP
    forward_port1=9999-9999>192.168.1.1:9999-9999,tcp,on,Azureus UPnP 9999 TCP
    forward_port2=49001-49001>192.168.1.1:49001-49001,udp,on,Azureus UPnP 49001 UDP
    forward_port3=3000-3000>192.168.1.1:3000-3000,tcp,on,EiskaltDC++ 3000 (TCP)
    forward_port4=3031-3031>192.168.1.1:3031-3031,tcp,on,EiskaltDC++ 3031 (TCP)
    forward_port5=3000-3000>192.168.1.1:3000-3000,udp,on,EiskaltDC++ 3000 (UDP)

    После перезагрузки эти записи попадают в iptables и могут портить настройки NAT.

    iptables -t nat -L -nv

    Удалить записи из nvram можно командой "nvram unset XXX"

    Очистить все записи можно скриптом:

    for a in `nvram show | grep "forward_port" | sed "s/=.*//"` ; do nvram unset $a ; done
    Last edited by necrom; 09-05-2012 at 18:27. Reason: proftpd настройка wan

  11. #71
    Не видит роутер извне, проброс не помогает
    Давненько настраивал для сервера vsftpd, делал проброс и все нормально работало, сейчас вот с proftpd на самом роутере никак. А поднимался фтп как раз с целью, чтобы наружу.

Page 5 of 5 FirstFirst ... 345

Similar Threads

  1. Настройка PPTP VPN (accel-pppd) на роутере Asus
    By biGdada in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 305
    Last Post: 23-06-2016, 10:36
  2. Настройка CRON на роутере
    By dccharacter in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 338
    Last Post: 04-11-2014, 20:25
  3. Не получается настроить Virtual DMZ
    By xAL in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 167
    Last Post: 23-11-2012, 01:57
  4. Не вижу половины сайтов (mtu & dns)
    By CHERT in forum Russian Discussion - РУССКИЙ (RU)
    Replies: 347
    Last Post: 24-10-2012, 09:05

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •