pure-ftpd и разграничение по IP

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Zedik
сержант
Сообщения: 283
Зарегистрирован: 2007-01-20 22:30:57
Откуда: 127.0.0.1

pure-ftpd и разграничение по IP

Непрочитанное сообщение Zedik » 2007-09-21 14:24:40

хочу сделать разграничение обращения на фтп сервер по IP:
ftp://10.0.0.9 -> /var/ftp/software
ftp://194.80.50.40 -> /var/ftp/shareware
===
где то читал что нужно добавить линки /etc/~10.0.0.9 и /etc/~194.80.50.40 которые вели бы соответственно в нужные каталоги, но что то не выходит.
кто может подсказать?

FreeBSD 6.2 + pure-ftpd-1.0.21_1

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35200
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: pure-ftpd и разграничение по IP

Непрочитанное сообщение Alex Keda » 2007-09-21 19:21:29

proftpd может
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Zedik
сержант
Сообщения: 283
Зарегистрирован: 2007-01-20 22:30:57
Откуда: 127.0.0.1

Re: pure-ftpd и разграничение по IP

Непрочитанное сообщение Zedik » 2007-09-21 20:47:34

lissyara писал(а):proftpd может
да и сабж реален...сейчас под линуксом крутится (до меня был поставлен)...да только вот сам никак не могу дальше разрулить...
сейчас ftp://194.80.50.40 -> /var/ftp/shareware правильно отрабатывает, а вот ftp://10.0.0.9 -> /var/ftp/software логиниится, но выдает пустоту...

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

Аватара пользователя
kolesya
сержант
Сообщения: 191
Зарегистрирован: 2006-10-17 15:54:01
Откуда: Украина, Киев

Re: pure-ftpd и разграничение по IP

Непрочитанное сообщение kolesya » 2007-09-26 19:59:31

Код: Выделить всё

root@# cat pureftpd-mysql.conf.sample | grep IP
# Optional : MySQL server name or IP. Don't define this for unix sockets.
# \I is replaced by the IP address the user connected to.
# \R is replaced by the IP address the user connected from.
# \D is replaced by the remote IP address, as a long decimal number.
root@#
На мысли наводит ?

Аватара пользователя
kolesya
сержант
Сообщения: 191
Зарегистрирован: 2006-10-17 15:54:01
Откуда: Украина, Киев

Re: pure-ftpd и разграничение по IP

Непрочитанное сообщение kolesya » 2007-09-26 20:04:56

Конфиги покажи ... (без конкретных адресов в конфиге(ах) )
pureftpd на системных учетках или ( mysql or postgres or <че_нить_другое> ) ?

Аватара пользователя
Zedik
сержант
Сообщения: 283
Зарегистрирован: 2007-01-20 22:30:57
Откуда: 127.0.0.1

Re: pure-ftpd и разграничение по IP

Непрочитанное сообщение Zedik » 2007-09-27 8:18:53

на мысль то наводит.....но пока только на мысль :twisted:
учетки хранятся в мускле.
pure-ftpd.conf

Код: Выделить всё

ChrootEveryone              yes
# TrustedGID                    100
BrokenClientsCompatibility  no
MaxClientsNumber            15
Daemonize                   yes
MaxClientsPerIP             5
VerboseLog                  no
DisplayDotFiles             yes
AnonymousOnly               no
NoAnonymous                 no
SyslogFacility              ftp
DontResolve                 yes
MaxIdleTime                 4
MySQLConfigFile /usr/local/etc/pureftpd-mysql.conf
LimitRecursion              2000 8
AnonymousCanCreateDirs      no
MaxLoad                     4
PassivePortRange          60000 65000
AntiWarez                   yes
Umask                       133:022
MinUID                      1000
AllowUserFXP                no
AllowAnonymousFXP           no
ProhibitDotFilesWrite       no
ProhibitDotFilesRead        no
AutoRename                  no
AnonymousCantUpload         no
AltLog                     stats:/var/log/pureftpd.log
AltLog                     w3c:/var/log/pureftpd.log
MaxDiskUsage               99
CustomerProof              yes
PerUserLimits            2:5
IPV4Only                 yes
FileSystemCharset koi8-r
ClientCharset cp1251
pureftpd-mysql.conf

Код: Выделить всё

MYSQLSocket     /tmp/mysql.sock
MYSQLUser       ftproot
MYSQLPassword   11111
MYSQLDatabase   baseftp
MYSQLCrypt      md5
MYSQLGetPW      SELECT Password FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
MYSQLGetUID     SELECT Uid FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
MYSQLGetGID     SELECT Gid FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
MYSQLGetDir     SELECT Dir FROM users WHERE User="\L" AND Status="1" AND IPServer="\I" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
MySQLGetQTAFS  SELECT QuotaFiles FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
MySQLGetQTASZ  SELECT QuotaSize FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
MySQLGetRatioUL SELECT ULRatio FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
MySQLGetRatioDL SELECT DLRatio FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
в данном случае ограничивается подключение на тот или иной IP. А мне хочется чтобы доступ был и по внутреннему и по внешнему IP для одного и того же юзера. но в зависимости на какой адрес он обращается, он отправляется в соответствующий каталог. а сейчас у меня по внешнему IP отправляется с каталог с данными,а при обращении по внутреннему IP он отправляется в какой то пустой каталог... :?

Аватара пользователя
kolesya
сержант
Сообщения: 191
Зарегистрирован: 2006-10-17 15:54:01
Откуда: Украина, Киев

Re: pure-ftpd и разграничение по IP

Непрочитанное сообщение kolesya » 2007-09-27 11:47:39

не помню точно какая опция :? , но в конфиге пурфтп можно включить логирование SQL-запросов и ответов, которые отправляет и получает пурфтп.

Аватара пользователя
kolesya
сержант
Сообщения: 191
Зарегистрирован: 2006-10-17 15:54:01
Откуда: Украина, Киев

Re: pure-ftpd и разграничение по IP

Непрочитанное сообщение kolesya » 2007-09-27 19:53:00

MYSQLGetDir SELECT Dir FROM users WHERE User="\L" AND Status="1" AND IPServer="\I" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")
покажи под это дело записи по узеру скажем: EXAMPLER
считаем, что пользователь активный и имеет доступ "спереди" и "сзади" :D
типа результат

Код: Выделить всё

select * from users where user='EXAMPLER'

Аватара пользователя
Zedik
сержант
Сообщения: 283
Зарегистрирован: 2007-01-20 22:30:57
Откуда: 127.0.0.1

Re: pure-ftpd и разграничение по IP

Непрочитанное сообщение Zedik » 2007-09-28 7:32:54

Код: Выделить всё

mysql> select * from users where user='pain';
+-------+----------------------------------+------+------+-------------------------+------------+-----------+-------------+-------------+-----------+---------+--------+---------+---------+----------+
| User  | Password                         | Uid  | Gid  | Dir                     | QuotaFiles | QuotaSize | ULBandwidth | DLBandwidth | Ipaddress | Comment | Status | ULRatio | DLRatio | IPServer |
+-------+----------------------------------+------+------+-------------------------+------------+-----------+-------------+-------------+-----------+---------+--------+---------+---------+----------+
| pain | 111 | 1005 | 1005 | /var/ftp/data/pain |          0 |         0 |           0 |           0 | *         |         | 1      |       0 |       0 | 10.0.0.9 |
+-------+----------------------------------+------+------+-------------------------+------------+-----------+-------------+-------------+-----------+---------+--------+---------+---------+----------+
1 row in set (0.00 sec)
это я уже добавил ему IPServer, но в работе ничего не поменялось

Аватара пользователя
kolesya
сержант
Сообщения: 191
Зарегистрирован: 2006-10-17 15:54:01
Откуда: Украина, Киев

Re: pure-ftpd и разграничение по IP

Непрочитанное сообщение kolesya » 2007-09-28 12:28:33

если зайти так ftp://pain:111@10.0.0.9/ то ты будеш юзером pain и хомяком будет /var/ftp/software

а если ftp://pain:111@194.80.50.40/ то ты будеш анонимом,
см в конфиге

Код: Выделить всё

NoAnonymous                 no

Код: Выделить всё

select * from users where user='pain';
должен возвращать две записи (для твоей схемы)
где поле IPServer для юзера pain должны быть 194.80.50.40 и 10.0.0.9 :twisted: