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
Добавил в первый пост.
-
Спасибо, что отписались о решении.