PfSense 2.2.3 Вопросы по настройке Pure-Ftpd.



  • Настройку проводил по этому мануалу: https://forum.pfsense.org/index.php/topic,29260.msg151672.html#msg151672
    Всё упёрлось в то, что анонимно не получается зайти, FTP отвечает этим:

    421 unable to set up secure anonymous ftp

    Настройки конфига не запрещают анонимов. Курением мануалов и форумов нашел проблему в правах доступа, а именно нужен пользователь ftp или anonimous (без пароля) и тогда получится заходить. Но всё упёрлось в то, что мне нужен один каталог для анонимусов и для пользователей для которых создаются каталог. Идея в том, чтобы только авторизированные пользователи могли заливать файлы на фтп и только в свои директории, но при этом анонимусы могли смотреть и скачивать эти файлы.
    Подскажите, как сделать доступ на каталог и его подкаталоги юзеру ftp(для работы анонимам) и тоже самое юзеру virftp но ему дать возможность записывать(так как под этим пользователем работают виртуальные пользователи pure-ftpd) .

    Хотелось бы добавить к мануалу пару полезных вещей:
    Настройки фаервола должны быть дополнены пассивными портами которые прописаны в pure-ftpd.conf, без этого из вне получится попасть на ftp.
    Раскомментировать:
    PassivePortRange          30000 50000

    В рулесы добавить правило:
    IPv4 TCP * * * 30000 - 50000 * none

    Ещё есть смысл добавить наш ftp в автозагрузку:
    Требуется переименовать файл /usr/local/etc/rc.d/pure-ftpd в /usr/local/etc/rc.d/pure-ftpd.sh поле этого ftp будет загружаться автоматически

    Так-же при добавлении сервиса в /cf/conf/config.xml нужно вписывать немного иначе, а именно заключить в тэг<installedpackages>. Получится должно так:

     <installedpackages><service>
            <name>Pure-FTPd</name>
            <rcfile>pure-ftpd</rcfile>
            <executable>pure-ftpd</executable>
            <description> Pure-FTPd server Service</description>
      </service></installedpackages> 
    

    Без этого пункт в меню не добавиться. Но если вы используете авто запуск описанным выше способом следует изменить <rcfile>pure-ftpd</rcfile> на <rcfile>pure-ftpd.sh</rcfile>

    ЕСЛИ НЕ ЗАХОДЯТ АНОНИМНЫЕ ПОЛЬЗОВАТЕЛИ.

    Вопрос решил добавив ещё одного пользователя. То, что я делал -ниже:
    В мануале на который я дал ссылку мы будем писать своё после слов:

    "Создаём пользователя в системе (один да нужен :))"

    пишим следующее:

    pw groupadd virftp
    pw user add virftp -s /sbin/nologin -w no -d /usr/home/virftp/usr -c "virtual pure virtual ftp users" -m
    

    -Где "virftp" имя пользователя в системе.

    pw user add ftp -g virftp -s /sbin/nologin -w no -d /usr/home/virftp -c "anonympuse user" -m
    

    -Где "ftp" имя пользователя в системе для доступа анонимусов.

    pure-pw useradd nickname -u virftp -g virftp -d /usr/home/virftp/usr/nickname
    

    -Где "nickname" имя виртуального пользователя.
    Создаём БД с пользователями:

    pure-pw mkdb
    

    Добавим права:

    chmod -R 755 /usr/home/virftp/
    

    И, так-же, следует поправить параметр Umask в конфиге:

    Umask                      022:022

    Это нужно для того, чтобы файлы, которые заливают авторизированные пользователи могли просматривать анонимные пользователи.</installedpackages>



  • Спасибо за пост.

    PassivePortRange          30000 50000

    Мне кажется чересчур много 20К портов для этого дела.



  • ЕСЛИ НЕ ЗАХОДЯТ АНОНИМНЫЕ ПОЛЬЗОВАТЕЛИ.

    Вопрос решил добавив ещё одного пользователя. То, что я делал -ниже:
    В мануале на который я дал ссылку мы будем писать своё после слов:

    "Создаём пользователя в системе (один да нужен :))"

    пишим следующее:

    pw groupadd virftp
    pw user add virftp -s /sbin/nologin -w no -d /usr/home/virftp/usr -c "virtual pure virtual ftp users" -m
    

    -Где "virftp" имя пользователя в системе.

    pw user add ftp -g virftp -s /sbin/nologin -w no -d /usr/home/virftp -c "anonympuse user" -m
    

    -Где "ftp" имя пользователя в системе для доступа анонимусов.

    pure-pw useradd nickname -u virftp -g virftp -d /usr/home/virftp/usr/nickname
    

    -Где "nickname" имя виртуального пользователя.
    Создаём БД с пользователями:

    pure-pw mkdb
    

    Добавим права:

    chmod -R 755 /usr/home/virftp/
    

    И, так-же, следует поправить параметр Umask в конфиге:

    Umask                      022:022

    Это нужно для того, чтобы файлы, которые заливают авторизированные пользователи могли просматривать анонимные пользователи.
    Теперь ребутим наш фтп:

    /usr/local/etc/rc.d/pure-ftpd stop
    /usr/local/etc/rc.d/pure-ftpd start
    

    или

    /usr/local/etc/rc.d/pure-ftpd.sh stop
    /usr/local/etc/rc.d/pure-ftpd.sh start
    

    Добавил в первый пост.



  • Спасибо, что отписались о решении.