Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Proftpd on pfsense

    Scheduled Pinned Locked Moved Russian
    45 Posts 9 Posters 38.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Z
      zar0ku1
      last edited by

      @l2grom:

      ну что тут скажешь, спасибо за статью, я так налетел на вас ибо не приветствую тех кто перепечатывает материалы и не понимает смысл изложенного в материале, прошу прощения

      Я тоже не приветствую ;)

      Но какие неточности вы нашли? я добавлю в первый пост и пришпилем тему, чтобы закрыть этот вопрос раз и навсегда

      закрывайте темы, если ответ на ваш вопрос полон.
      если схема сложная - не поленитесь ее нарисовать

      1 Reply Last reply Reply Quote 0
      • L
        l2grom
        last edited by

        Необходимо указать на фаил с юзерами которые по умолчанию заблокированы, это важно, указать на файлы которые необходимо создать руками и установить права на доступ к ним, но и не забыть указать на пакеты которые должны присутствовать( обязательно для установки данного пакета, там их всего 2).

        1 Reply Last reply Reply Quote 0
        • Z
          zar0ku1
          last edited by

          @l2grom:

          Необходимо указать на фаил с юзерами которые по умолчанию заблокированы, это важно, указать на файлы которые необходимо создать руками и установить права на доступ к ним, но и не забыть указать на пакеты которые должны присутствовать( обязательно для установки данного пакета, там их всего 2).

          что за файл с юезрами?

          там все указаны строчки где что создавать, давайте больше конкретики

          закрывайте темы, если ответ на ваш вопрос полон.
          если схема сложная - не поленитесь ее нарисовать

          1 Reply Last reply Reply Quote 0
          • L
            l2grom
            last edited by

            Для начала установка производилась на абсолютно голую Pfsense
            Version   1.2.3-RELEASE
            built on Sun Dec 6 23:21:36 EST 2009
            в связке ipcad+squid+lightsquid+proftpd

            И так качаем пакет proftpd-1.3.2.tbz, и к нему libiconv-1.11_1 и gettext-0.17_1 скачали пакеты, закидываем их на диск pfsense Diagnostics\Command Promt.

            далее заходим на сам pfsense, перед нами меню каждый пункт меню назначен клавишам 1,2,3,…и.т.д
            нажимаем клавишу 8 и <nter>, входим в режим Shell;

            далее переходим в каталог tmp туда должны были упасть наши пакеты, набераем
            cd tmp

            пакеты на месте устанавливаем набираем в этой-же строке
            pkg_add proftpd-1.3.2.tbz
            если увидите эту информацию после установки не обращайте внимание, это нам не понадобиться для работы ftp.
            install-info: not found
            pkg_add: command 'install-info –quiet /usr/local/info/autosprintf.info /usr/local/info/dir' failed
            install-info: not found
            pkg_add: command 'install-info --quiet /usr/local/info/gettext.info /usr/local/info/dir' failed
            pkg_add: warning: package 'gettext-0.17_1' requires 'libiconv-1.13.1', but 'libiconv-1.11_1' is installed

            Потом правим конфигурационный файл ProFTPd

            ee /usr/local/etc/proftpd.conf
            Полностью рабочий листинг

            Имя сервера

            ServerName "Мой FTP Server"

            #Как запускается демон
            ServerType standalone

            DefaultServer on
            ServerIdent off

            ScoreboardFile /var/run/proftpd.scoreboard
            DelayTable /var/run/proftpd.delay

            #Если сервер в локалке, то можно руту дать возможность соединяться по ftp. В /etc/ftpusers закомментируем root
            RootLogin on

            #Стандартный FTP порт
            Port 21

            Маска для ограничения создания директорий и файлов

            Umask 022

            Пользователь и группа, под которой работает демон

            User nobody
            Group nogroup

            Ограничения

            MaxClients 15 "Слишком много соединений с сервером"
            MaxClientsPerHost 4 "%m клиента уже подключены с Вашего хоста, больше не разрешено"
            MaxLoginAttempts 3 "Слишком много попыток войти"

            Ограничение трафика. В данном случае мы ограничиваем закачку и скачивание всем пользователям на 150k кроме рута

            TransferRate RETR,STOR,APPE 150 user !root

            Вывод сообщений при входе

            DisplayConnect /etc/ftp_connect.msg
            DisplayLogin /etc/ftp_login.msg
            AccessDenyMsg "ATTENTION!!! ALL CONNECTIONS LOGED"
            AccessGrantMsg "Now apload/download files"
            DisplayGoAway "Go Away"

            #Возможно определить с каких ip соединения допустимы или запрещены
            #UseHostsAllowFile /etc/proftpd.allow
            #UseHostsDenyFile /etc/proftpd.deny

            Установим ограничения по времени

            TimeoutIdle 180
            TimeoutLogin 120
            TimeoutNoTransfer 360
            TimeoutStalled 640

            Chroot определенные группы на директории

            #Для рута
            DefaultRoot /
            #Для анонимных пользователей (директория определяется ниже)
            DefaultRoot /tmp/
            #Для других пользователей имеющих свою группу и доспупные только им файлы и папки
            DefaultRoot /tmp/

            Логи

            #SyslogLevel notice
            #UseReverseDNS off
            #TransferLog /var/log/proftpd-tranfer.log
            #SystemLog /var/log/proftpd-error.log
            #ExtendedLog /var/log/proftpd-extended.log read,write

            Normally, we want files to be overwriteable.

            <directory>AllowOverwrite on</directory>

            Открываем доступ анонимным пользователям

            <anonymous путь.к.директории.для.анонимных.пользователей="">User anonftp
            Group nogroup
            UserAlias anonymous anonftp
            MaxClients 20 "Sorry, max %m users – try again later"
            DisplayFirstChdir .message
            <limit write="">DenyAll</limit></anonymous>

            Создаем необходимые файлы и директории. Устанавливаем права на файлы.

            touch /var/log/proftpd-error.log
            chmod 777 /var/log/proftpd-error.log
            touch /var/log/proftpd-tranfer.log
            chmod 777 /var/log/proftpd-tranfer.log

            #эти файлы будут созданы автоматом, но все -же
            touch /var/run/proftpd.delay
            chmod 600 /var/run/proftpd.delay
            touch /var/run/proftpd.scoreboard
            chmod 600 /var/run/proftpd.scoreboard

            В дальнейшем права можете поменять.

            Создаем аналогично файлы приветствий /etc/ftp_connect.msg и /etc/ftp_login.msg. Создаем пользователя anonftp, каталогом для анонимного доступа укажем его домашний каталог(см. алиас выше).
            Заводим пользователя, допустим ftp с домашней директорией /var/ftp/

            pw add user ftp -d /var/ftp

            И ставим выставляем пароль:

            passwd ftp

            Если директории /var/ftp не существует создаем ее

            mkdir /var/ftp/

            выставляем хозяина папки пользователя ftp

            chown ftp /var/ftp -R

            Правим скрипт запуска proftpd, /usr/local/etc/rc.d/proftpd

            ee /usr/local/etc/rc.d/proftpd

            #!/bin/sh

            proftpd_enable="YES"

            . /etc/rc.subr

            name=proftpd
            rcvar=set_rcvar

            command=/usr/local/sbin/proftpd
            pidfile=/var/run/proftpd.pid
            required_files=/usr/local/etc/proftpd.conf

            stop_postcmd=stop_postcmd

            stop_postcmd()
            {
             rm -f $pidfile
            }

            extra_commands="reload"

            load_rc_config $name
            run_rc_command "$1"

            Теперь заходим в webGUI, в Interfaces –> LAN и ставим галочку “Disable the userland FTP-Proxy application
            В принципе наш ftp сервер готов, пробуем запустить:

            /usr/local/etc/rc.d/proftpd.sh start
            Starting proftpd.

            и подключаемся http://ftp://192.168.0.1

            Если что-то не получается, смотрим логи:

            tail –f /var/log/proftpd.log

            потом правим файл /cf/conf/config.xml где пошло описание сервисов, добавляем:
            <service><name>ProFTPd</name>
                   <rcfile>proftpd</rcfile>
                   <executable>proftpd</executable>
                   <description>ProFTPd server Service</description></service>

            Чтобы изменения сразу применились удаляем кеш конфига

            rm /tmp/config.cache

            Теперь заходим в webGUI Status –> Services и наблюдаем новый сервис, который можно останавливать и запускать, мелочь, а приятно =)

            Пока не нашел как автоматически запускать сервис при рестарте, как найду, обязательно допишу.
            Статья опубликована http://blog.shukan.ru/2009/02/proftpd-pfsense.html</nter>

            1 Reply Last reply Reply Quote 0
            • M
              Michael Sh.
              last edited by

              @l2grom:

              И так качаем пакет proftpd-1.3.2.tbz, и к нему libiconv-1.11_1 и gettext-0.17_1 скачали пакеты, закидываем их на диск pfsense Diagnostics\Command Promt.

              далее заходим на сам pfsense, перед нами меню каждый пункт меню назначен клавишам 1,2,3,…и.т.д
              нажимаем клавишу 8 и <nter>, входим в режим Shell;

              далее переходим в каталог tmp туда должны были упасть наши пакеты, набераем
              cd tmp

              пакеты на месте устанавливаем набираем в этой-же строке
              pkg_add proftpd-1.3.2.tbz
              ...</nter>

              Вы уж извините за прямоту, но дальше я бы просто не стал бы читать статью.
              Вообще-то всё выше сказанное делается одной командой
              pkg_add -r proftpd-1.3.2

              1 Reply Last reply Reply Quote 0
              • E
                Eugene
                last edited by

                А мне вот это понравилось:
                @l2grom:

                далее заходим на сам pfsense, перед нами меню каждый пункт меню назначен клавишам 1,2,3,…и.т.д
                нажимаем клавишу 8 и <nter>, входим в режим Shell;</nter>

                http://ru.doc.pfsense.org

                1 Reply Last reply Reply Quote 0
                • M
                  Michael Sh.
                  last edited by

                  А ещё удивляет бездумная установка флагов:
                  @l2grom:

                  touch /var/log/proftpd-error.log
                  chmod 777 /var/log/proftpd-error.log

                  По работе постоянно сталкиваюсь. Объясняешь - нечего там в логе выполнять. Нет, в следующий раз опять…

                  1 Reply Last reply Reply Quote 0
                  • Z
                    zar0ku1
                    last edited by

                    ребят, если для вас это банальные вещи, а вот у человека трудности вышли, поэтому он на этом и решил акцентировал внимание

                    закрывайте темы, если ответ на ваш вопрос полон.
                    если схема сложная - не поленитесь ее нарисовать

                    1 Reply Last reply Reply Quote 0
                    • L
                      l2grom
                      last edited by

                      @Eugene:

                      А мне вот это понравилось:
                      @l2grom:

                      далее заходим на сам pfsense, перед нами меню каждый пункт меню назначен клавишам 1,2,3,…и.т.д
                      нажимаем клавишу 8 и <nter>, входим в режим Shell;</nter>

                      Поднять тебя твоими ответами и глумлениями на смех очень просто, но не от большого ума пальцы гнут, а как раз на оборот.

                      1 Reply Last reply Reply Quote 0
                      • M
                        Michael Sh.
                        last edited by

                        @zar0ku1:

                        ребят, если для вас это банальные вещи, а вот у человека трудности вышли, поэтому он на этом и решил акцентировал внимание

                        Нужна ли в статье информация о том, где находится "any key" - спорить не буду. Но указать на явные ошибки думаю желательно.

                        1 Reply Last reply Reply Quote 0
                        • E
                          Eugene
                          last edited by

                          @l2grom:

                          @Eugene:

                          А мне вот это понравилось:
                          @l2grom:

                          далее заходим на сам pfsense, перед нами меню каждый пункт меню назначен клавишам 1,2,3,…и.т.д
                          нажимаем клавишу 8 и <nter>, входим в режим Shell;</nter>

                          Поднять тебя твоими ответами и глумлениями на смех очень просто, но не от большого ума пальцы гнут, а как раз на оборот.

                          Категорически согласен.

                          http://ru.doc.pfsense.org

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post
                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.