Вопрос по SQL аутентификации proftpd

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

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

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
scorp-12
проходил мимо
Сообщения: 4
Зарегистрирован: 2009-05-17 14:29:40

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение scorp-12 » 2009-08-27 17:11:40

Добрый день, настроил все как написано в статье, но сначала был поставлен proftpd без SQL после сделал make deinstall при этом выдало ошибку

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

/usr/ports/ftp/proftpd]# make deinstall
===>  Deinstalling for ftp/proftpd
===>   Deinstalling proftpd-1.3.2
pkg_delete: file '/usr/local/include/proftpd/mod_sql.h' doesn't exist
pkg_delete: file '/usr/local/include/proftpd/mod_quotatab.h' doesn't exist
pkg_delete: couldn't entirely delete package (perhaps the packing list is
incorrectly specified?)

После чего сделал make install, но при старте выдает

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

Fatal: unknown configuration directive 'SQLAuthTypes' on line 42 of '/usr/local/etc/proftpd.conf'
конфиг один в один как в статье.
Посоветуйте что делать.
С уважением Дмитрий.

Хостинговая компания 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/

arkan
ст. прапорщик
Сообщения: 559
Зарегистрирован: 2008-08-03 19:58:13
Откуда: Новосибирск
Контактная информация:

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение arkan » 2009-08-27 17:37:07

Ну нафига вам SQL для хранения учеток ???
чем вам ftpasswd ненравится ???
все просто и быстро и более безопасно (как мне кажется)

gyurza2000
лейтенант
Сообщения: 807
Зарегистрирован: 2007-07-08 23:53:20
Откуда: SPb
Контактная информация:

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение gyurza2000 » 2009-08-31 22:48:42

настроил по статье, скриптик показал мне статистику, оч.понравилось, утром зашёл глянуть статистику - ничего нет, ни за вчера, ни за сегодня, вообще ничего (на странице, сгенерённой скриптом). Но в базе SQL записи есть, что не так? Куда смотреть?
Xeon X5460, RAM 8Gb, FreeBSD 11.0-RELEASE-p2 on amd64, Apache 2.4.27, PHP 5.6.31, MySQL 5.6.37, Exim 4.91_3, Dovecot 2.3.2.1_1

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

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение Alex Keda » 2009-09-01 0:47:19

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

Аватара пользователя
acd
проходил мимо
Сообщения: 5
Зарегистрирован: 2009-09-07 1:07:04

Вопрос по статистике ftp.php

Непрочитанное сообщение acd » 2009-10-04 14:18:13

Настроил FTP используя статью http://www.lissyara.su/?id=1144. Строчки типа SQL*** переписал один-в-один. Хочу посмтореть статистику, используя файлик ftp.php, прикреплённый к статье, но "Смотрю я в книгу и вижу ...". В БД таблица xfer_table пустая. С MySQL дружу не очень, но так понимаю, что в таблицу не попадают значения переменных
# %u - имя пользователя (с которым залогинился)
# %f - полный путь и имя файла который был скачан
# %b - число байт, которые были скачаны
# %h - имя клиента (из DNS), если не удалось разрешить - IP
# %a - IP-адрес клиента
# %m - имя команды полученной от клиента (RETR/STOR)
# %T - время (секунд) ушедшее на передачу файла клиенту


#tail -f /var/log/proftpd.log
Oct 04 11:12:52 mod_sql/4.2.2[4076]: query "INSERT INTO `xfer_table` VALUES ('', UNIX_TIMESTAMP(), 'acd', '/var/ftp/Music/Lounge/Cafe Lounge - Choco Banana Latte/01-phonorama_-_technique_retro_(feat_fabrizio_bosso).mp3', '192.168.11.253', 'RETR')"

Привилегии для "ftp" на БД: ALL PRIVILEGES
What's wrong?! :unknown:

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

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение Alex Keda » 2009-10-04 22:11:25

ручками запрос делали?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
acd
проходил мимо
Сообщения: 5
Зарегистрирован: 2009-09-07 1:07:04

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение acd » 2009-10-06 17:05:18

lissyara писал(а):ручками запрос делали?
Дякую! Спробував! :Bravo:
Правда, виконання вручну в PHPMyAdmin нічого не відбулось, а от в консолі: "ERROR 1136 (21S01): Кількість стовбців не співпадає з кількістю значень у строці". :fool: Недописав у proftpd.conf всі змінні.
Ще одне, як можна підсумовувати статистику, напр. для одних і тих же скачаних n-разів файлів? Шось має бути типу: SELECT ... FROM ... WHERE ... Не підкажете? Чи якби можна було вивід в таблиці сортувати. ))

harmless
лейтенант
Сообщения: 715
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение harmless » 2009-10-18 21:40:48

Моя личная сборка-переделка ProFTPD+MySQL+ProMA+листинг операций на сервере от Лиссяры)
И так начнем:
ставим по статье Уважаемого Лиссяры ProFTPD+MySQL
ностройки proftpd.conf

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

# Конфиг proftpd - 2009-10-16

# имя сервера - показывается коннектящимся клиентам
ServerName              "BC-Gold FTP server"
# тип сервера (даже не тип самого сервера, а тип его запуска,
# standalone/inetd - сам или через inetd)
ServerType              standalone
# смысл следующей директивы такой: если клиент коннектится не на имя
# а на IP или на виртуальный хост, не описанный в конфиге, то при
# установке в `off` он получит отлуп, если же установлено `on` то
# он будет обслужен `сервером по-умолчанию`
DefaultServer           on
# e-mail администратора (по идее для каждого ВиртуалХоста его можно
# поставить разный - но я делаю один сервер без извращений с
# виртуальными хостами)
ServerAdmin             admin@bc-gold.org.ua
# файло где хранится инфа о сессиях
#ScoreboardFile         /var/run/proftpd.scoreboard

# порт на котором работает сервер
Port                    21

# Маска с которой создаются новые файлы (не совсем маска - маска получается
# из этого значения, путём его вычитания из 777 - т.е. в даном случае получится
# маска 755)
Umask                   022

# Максимальное число `детей` (работает только в standalohe режиме)
# необходимо для защиты от атак типа `отказ в обслуживании` да и
# от перегрузки сервера поможет :)
MaxInstances            30

# Юзер от которого работает сервер
User                    ftp
# группа, под которой работает сервер
Group                   ftp

# перекодировка на лету
LangEngine on
UseEncoding KOI8-R CP1251

# Тип авторизации (на самом деле - в каком виде хрянятся
# пароли в БД - в данном случае - открытым текстом)
SQLAuthTypes            Backend
# Кого и как аутентифицируем - on - всех и вся :)
# Но - если поставить `on` то он ломится в БД за группами.
# мне группы никчему. Посему поставил `users`
SQLAuthenticate         users
# инфа для соединения с MySQL сервером:
# имя_базы_данных@хост_где_MySQL:порт имя_пользователя пароль
SQLConnectInfo          proftpd@localhost:3306 proftpd proftpd
# в каком порядке вернёт поля запрос - первое поле, это
# имя таблицы, где лежат пользователи
SQLUserInfo           users userid passwd uid gid homedir shell
#SQLUserInfo             `users_table` `username` `password` `uid`\
#                       `gid` `homedir` `shell`
# должен ли быть у юзера (для того, чтобы он мог коннектится),
# `реальный` shell описанный в /etc/shells
RequireValidShell off

# лог файл работы с SQL(после окончательной настройки закоментить так как большой лог генерит)
SQLLogFile      /var/log/proftpd/proftpd.log

# Вот тут моя натура склонная к ведению логов на всё в
# БД MySQL смогла разыграться на полную катушку :)
# Записываем удачные логины в БД. Общий смысл такой - создаём
# именованую кверю, с указанием что мы должны сохранять
SQLLog          PASS            counter_login
SQLNamedQuery   counter_login   UPDATE "`last_login`=UNIX_TIMESTAMP(),\
                                `count`=`count`+1 WHERE `userid`='%u'"\
                                `users`
# пишем неудачные логины в БД
SQLLog          ERR_PASS        counter_err
SQLNamedQuery   counter_err     UPDATE "`last_err_login`=UNIX_TIMESTAMP(),\
                                `err_login_count`=`err_login_count`+1 WHERE\
                                `userid`='%U'" `users`

# логируем что сохраняет и тащщит с сервера:
# переменные
# %u - имя пользователя (с которым залогинился)
# %f - полный путь и имя файла который был скачан
# %b - число байт, которые были скачаны
# %h - имя клиента (из DNS), если не удалось разрешить - IP
# %a - IP-адрес клиента
# %m - имя команды полученной от клиента (RETR/STOR)
# %T - время (секунд) ушедшее на передачу файла клиенту

SQLLog          DELE,RETR,STOR,RMD,MKD,RNTO  log_story_transfer
SQLNamedQuery   log_story_transfer      INSERT "'',\
                                        UNIX_TIMESTAMP(),'%u',\
                                        '%f', '%b', '%h', \
                                        '%a', '%m', '%T'" \
                                         `xfer_table`
# записываем ошибки при сохранении и чтении файлов
# (в одну строку не влезли - но работает и в таком виде :))
SQLLOG          ERR_RETR,ERR_STOR,ERR_DELE,ERR_RMD,ERR_MKD,ERR_RNTO\
                                        log_err_modify
SQLNamedQuery   log_err_modify          INSERT "'',\
                                        UNIX_TIMESTAMP(),\
                                        '%u', '%f', '%h', \
                                        '%a', '%m'" `xfer_errors`

# если вылезет проблема, типа тормозов при подключении
# (в момент установления коннекта `задумывается` на 10-20 секунд)
# то раскомментируйте следующие две строки
#UseReverseDNS     off
#IdentLookups      off

#*******************************************#

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

# Ограничение трафика.
TransferRate            RETR,STOR,APPE  10240   user !harmless

# Установим ограничения по времени
TimeoutIdle 180
TimeoutLogin 120
TimeoutNoTransfer 360
TimeoutStalled 640

# если надо чтобы ВСЕ пользователи по ftp были ограниченны
# своей домашней директорией, то надо раскомментировать
# следующую строку:
#DefaultRoot            ~
# у меня хитрее сделано - себе я разрешил шариться по всему серверу
# а остальных за`chroot`ил. Если, например, надо чтобы пользователи
# могли по серверу шариться а анонимоусы нет, то надо указать !users
# также можно указать определённую группу.
DefaultRoot             ~       !harmless

# Директории
<Directory ~>

AllowOverwrite          on
AllowRetrieveRestart    on
AllowStoreRestart       on

<Limit Write>
AllowAll
</Limit>

<Limit READ>
AllowAll
</Limit>

</Directory>


<Anonymous /ftp>

# пользователь от которого анонимоусы шарятся
User            ftp

# группа анонимоусов
Group           ftp

# альясы ананонимоусов (можно будет входить как ftp, а
# не anonymous)
UserAlias       anonymous ftp

# максимально число анонимоусов
MaxClients      10      "Sorry, max %m users - try again later"

<Limit WRITE>
DenyAll
</Limit>

</Anonymous>
Далее делаем таблички
вот дамп

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

--
-- Table structure for table `users`
--

DROP TABLE IF EXISTS `users`;
CREATE TABLE `users` (
  `username` varchar(20) NOT NULL,
  `password` varchar(50) NOT NULL,
  `mail` varchar(255) NOT NULL,
  `groupname` varchar(24) NOT NULL,
  `uid` int(11) NOT NULL,
  `gid` int(11) NOT NULL,
  `homedir` varchar(50) NOT NULL,
  `shell` varchar(20) NOT NULL,
  `last_login` int(15) NOT NULL,
  `count` int(15) NOT NULL,
  `last_err_login` int(15) NOT NULL,
  `err_login_count` int(15) NOT NULL,
  `closed` int(1) NOT NULL DEFAULT '1',
  `admin` int(1) NOT NULL DEFAULT '0',
  PRIMARY KEY  (`userid`)
) ENGINE=MyISAM COMMENT='Таблица пользователей';

--
-- Dumping data for table `users_table`
--

INSERT INTO `users` VALUES ('admin','123','admin@same-host',
,'admins',1001,1001,'/ftp/incoming/admin','/sbin/nologin',0,0,0,0);



--
-- Table structure for table `xfer_errors`
--

DROP TABLE IF EXISTS `xfer_errors`;
CREATE TABLE `xfer_errors` (
  `unic_id` int(32) NOT NULL auto_increment,
  `timestamp` int(15) NOT NULL,
  `user_name` varchar(64) NOT NULL,
  `file_and_path` tinytext NOT NULL,
  `client_name` varchar(127) NOT NULL,
  `client_IP` varchar(15) NOT NULL,
  `client_command` varchar(5) NOT NULL,
  PRIMARY KEY  (`unic_id`)
) ENGINE=MyISAM COMMENT='Таблица ошибок при работе';

--
-- Dumping data for table `xfer_errors`
--


--
-- Table structure for table `xfer_table`
--

DROP TABLE IF EXISTS `xfer_table`;
CREATE TABLE `xfer_table` (
  `unic_id` int(32) NOT NULL auto_increment,
  `timestamp` int(15) NOT NULL,
  `user_name` varchar(64) NOT NULL,
  `file_and_path` tinytext NOT NULL,
  `bytes` int(15) NOT NULL default '0',
  `client_name` varchar(127) NOT NULL,
  `client_IP` varchar(15) NOT NULL,
  `client_command` varchar(5) NOT NULL,
  `send_time` varchar(9) NOT NULL default '0',
  PRIMARY KEY  (`unic_id`)
) ENGINE=MyISAM COMMENT='Таблица, чё приняли-передали';

--
-- Dumping data for table `xfer_table`
--
И вот самое главное прилагается к этому всему - это управление через веб-интерфейс(думаю как создать виртуал-хост и все остальное вы уже знаете)
В скором будущем я его допишу и добавлю возможность изменение\добавление\удаление квот и всяких таких вкусностей, но пока увы времени не хватает(диплом :"": )

djan
рядовой
Сообщения: 20
Зарегистрирован: 2009-06-18 11:23:59

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение djan » 2009-10-20 19:29:45

Собрал proftpd из портов

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

# /usr/ports/ftp/proftpd#/usr/local/sbin/proftpd -vv
localhost - mod_lang/0.9: LangDefault 'en_us', configured for server 'myFTP server', is not a supported language, removing
ProFTPD Version: 1.3.2a (maint)
  Scoreboard Version: 01040002
  Built: воскресенье, 27 сентября 2009 г. 03:17:18 (EEST)

Loaded modules:
  mod_lang/0.9
  mod_ifsession/1.0
  mod_rewrite/0.7
  mod_readme.c
  mod_ratio/3.3
  mod_auth_pam/1.1
  mod_ident/1.0
  mod_facts/0.1
  mod_delay/0.6
  mod_site.c
  mod_log.c
  mod_ls.c
  mod_auth.c
  mod_auth_file/0.8.3
  mod_auth_unix.c
  mod_xfer.c
  mod_core.c
конфиг вот такой

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

ServerName                      "myFTP server"
ServerType                      standalone
DefaultServer                   on


# 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                    30
CommandBufferSize               512

# что-то с кодировками
<IfModule mod_lang.c>
        LangPath /usr/share/locale
        LangDefault en_us
        LangEngine on
        UseEncoding koi8-r cp1251
</IfModule>

#CharsetLocal                   KOI8-R
#CharsetRemote                  CP1251
#UseUTF8 on
ShowSymlinks on

# Set the user and group under which the server will run.
User                            ftp
Group                           ftp

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
DefaultRoot     ~       !niko

# Normally, we want files to be overwriteable.
AllowOverwrite                  on

RequireValidShell               off
TransferLog                     /var/log/proftpd/proftpd-transfer.log
SystemLog                       /var/log/proftpd/proftpd-error.log
ScoreboardFile                  /var/run/proftpd/proftpd.scoreboard
#UseIPv6                        off


# 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.
#########################################################################
#                                                                       #
# Uncomment lines with only one # to allow basic anonymous access       #
#                                                                       #
#########################################################################

<Anonymous /home/ftp>
  User                  ftp
  Group                 ftp

  AnonRequirePassword off
  ### 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            10

  ### We want 'welcome.msg' displayed at login, and '.message' displayed
  ### in each newly chdired directory.
  # DisplayLogin                        welcome.msg
  # DisplayFirstChdir           .message

### Limit WRITE everywhere in the anonymous chroot
    <Limit WRITE>
         DenyAll
    </Limit>
</Anonymous>
при перезапуске появляется вот такой ворнинг
localhost - mod_lang/0.9: LangDefault 'ru_RU', configured for server 'myFTP server', is not a supported language, removing
соответстенно никакого русского языка нет. Подскажите, как заставить proftpd общаться на русском?

harmless
лейтенант
Сообщения: 715
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение harmless » 2009-10-25 2:05:32

Релиз моей переделки промы:

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

работают квоты,
изменение квоты через веб-интерфейс,
закрываются\открываются пользователи,
просмотр логов с понятной кодировкой....
В общем смотрим и критикуем - если что не так переделаю :)
Вложения
proma.zip
(19.26 КБ) 329 скачиваний

Аватара пользователя
acd
проходил мимо
Сообщения: 5
Зарегистрирован: 2009-09-07 1:07:04

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение acd » 2009-11-01 2:35:45

[quote="harmless"]Релиз моей переделки промы:

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

работают квоты,
изменение квоты через веб-интерфейс,
закрываются\открываются пользователи,
просмотр логов с понятной кодировкой....
thnx

Аватара пользователя
hid4msk
рядовой
Сообщения: 25
Зарегистрирован: 2009-04-28 19:49:30

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение hid4msk » 2009-11-16 3:37:53

<удалено ибо все заработало а гуглить в этом всравно нечего было, ибо по тупости не донастроил>
Последний раз редактировалось hid4msk 2009-11-21 1:17:00, всего редактировалось 2 раза.

harmless
лейтенант
Сообщения: 715
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение harmless » 2009-11-16 11:02:26

1) почему в начале выдает такую байду при /usr/local/sbin/proftpd -vv
Смотрите на права доступа на данные директории и файлы!
Потом будем смотреть что дальше :smile:

arkan
ст. прапорщик
Сообщения: 559
Зарегистрирован: 2008-08-03 19:58:13
Откуда: Новосибирск
Контактная информация:

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение arkan » 2009-11-16 14:52:52

А в чем вообще фишка хранения учеток в мускуле в отличии от ftpasswd ?

harmless
лейтенант
Сообщения: 715
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение harmless » 2009-11-16 15:43:34

arkan писал(а):А в чем вообще фишка хранения учеток в мускуле в отличии от ftpasswd ?
Кому как удобнее! :smile:
Мне, например, удобнее работать с базой, мне это придает гибкости и возможности наперед что-то сделать или добавить.

arkan
ст. прапорщик
Сообщения: 559
Зарегистрирован: 2008-08-03 19:58:13
Откуда: Новосибирск
Контактная информация:

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение arkan » 2009-11-16 16:37:13

harmless писал(а): это придает гибкости и возможности наперед что-то сделать или добавить.
какая гибкость может быть говоря о какомто FTP ???
ну есть конечно чудики которые и фотки семейные в базе оракл хранят - тоже чтото наперед думают :st:

harmless
лейтенант
Сообщения: 715
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение harmless » 2009-11-17 11:14:04

arkan писал(а):
harmless писал(а): это придает гибкости и возможности наперед что-то сделать или добавить.
какая гибкость может быть говоря о какомто FTP ???
ну есть конечно чудики которые и фотки семейные в базе оракл хранят - тоже чтото наперед думают :st:
Например то, что у меня локальная сеть и очень часто нужно открывать и закрывать разным пользователям доступ к фтп.
Конечно же можно переделать все для того, чтобы вебморда писала и читала данные с файлов, но мне удобнее работать с базой!
Как говориться: на вкус и цвет! :smile:

Аватара пользователя
hid4msk
рядовой
Сообщения: 25
Зарегистрирован: 2009-04-28 19:49:30

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение hid4msk » 2009-11-22 7:50:13

хххмм...
а кто нибудь разбирался, можно ли как то РУССКИЕ логи писать в mysql ? )
хотел просто красивую статистику написать на php+mysql

я имею ввиду, что при

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

TransferLog /var/log/ftp/xferlog
в файл xferlog всё нормально пишется, если заливать на сервер, в инкаминг например, что либо с русскими символами в названии
а вот при

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

# xfer Log in mysql
SQLLog RETR,STOR transfer1
SQLNamedQuery transfer1 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'c', NULL" xfer_stat
SQLLOG ERR_RETR,ERR_STOR transfer2
SQLNamedQuery transfer2 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'i', NULL" xfer_stat
в мускул однако русские символы не пишутся (((

proftpd-mysql-1.3.2b
mysql-server-5.4.3, кодировки utf8, сравнения utf8_unicode_ci

harmless
лейтенант
Сообщения: 715
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение harmless » 2009-11-22 10:41:15

hid4msk писал(а):хххмм...
а кто нибудь разбирался, можно ли как то РУССКИЕ логи писать в mysql ? )
хотел просто красивую статистику написать на php+mysql

я имею ввиду, что при

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

TransferLog /var/log/ftp/xferlog
в файл xferlog всё нормально пишется, если заливать на сервер, в инкаминг например, что либо с русскими символами в названии
а вот при

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

# xfer Log in mysql
SQLLog RETR,STOR transfer1
SQLNamedQuery transfer1 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'c', NULL" xfer_stat
SQLLOG ERR_RETR,ERR_STOR transfer2
SQLNamedQuery transfer2 INSERT "'%u', '%f', '%b', '%h', '%a', '%m', '%T', now(), 'i', NULL" xfer_stat
в мускул однако русские символы не пишутся (((

proftpd-mysql-1.3.2b
mysql-server-5.4.3, кодировки utf8, сравнения utf8_unicode_ci
У меня есть немного переделанная прома (чуток допилял тут что лежит сейчас тут)! так там уже все русские пути и названия в порядке.)
Если нужно могу выложить!
В переделке осталось добавить только защиту! :smile:

harmless
лейтенант
Сообщения: 715
Зарегистрирован: 2007-08-23 10:56:51
Откуда: Украина, г. Киев, г. Белая Церковь
Контактная информация:

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение harmless » 2009-11-22 19:09:33

Чуток переделанная версия ProMA'ы
Вложения
proma.tar
(66.5 КБ) 240 скачиваний

Аватара пользователя
hid4msk
рядовой
Сообщения: 25
Зарегистрирован: 2009-04-28 19:49:30

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение hid4msk » 2009-11-23 23:47:30

как я уже написал, кодировка у меня в мусе везде utf8... я выяснил, что именно из за нее proftpd и не может писать названия русских файлов в логи, начинает писать знаками вопросиков... тоесть если мусю перевести на cp1251 и таблици создать то все будет ок... но не охото только из за логов переходить на cp1251 :(
в логах(ФАЙЛ) пишет:

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

ноя 24 00:08:43 mod_sql/4.2.2[22934]: MySQL connection character set now 'utf8' (from 'KOI8-R')
в конфиге proftpd указано UseEncoding koi8-r cp1251
логи из муси:

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

ноя 24 00:29:37 mod_sql/4.2.2[23118]: query "INSERT INTO `xfer_table` VALUES ('',UNIX_TIMESTAMP(),'ftp', '/usr/local/ftp/incoming/11 что нам делать с пьяным матросом.mp3', '9881675', '192.168.1.1','STOR', '7.031')"
тоесть proftd запрос шлет нормальный, а в саму мусю уже не записывается почемуто :x получается так:

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

(7, 1259011777, 'ftp', '/usr/local/ftp/incoming/11 ', 9881675, '192.168.1.1', 'STOR', '7.031'),
тоесть тупо отрезается все после того как видит русские символы
кто что думает ? :(

Аватара пользователя
hid4msk
рядовой
Сообщения: 25
Зарегистрирован: 2009-04-28 19:49:30

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение hid4msk » 2009-11-24 18:15:30

неужели только у меня такая проблема и муся работает по дефолту в utf8 ? :(
я так понял не пишутся русские символы из за каких то проблем с кодировками... если бы муся была на cp1251 проблем бы не было.. проверено

Slava_K
проходил мимо

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение Slava_K » 2009-12-02 10:16:34

Я сделал в конфиге
SQLDefaultUID 14
SQLDefaultGID 14

Похоже по дефолту как раз используется 65533

landrower
рядовой
Сообщения: 28
Зарегистрирован: 2008-11-06 16:14:25
Откуда: Нижний Новгород
Контактная информация:

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение landrower » 2010-01-05 0:25:44

Никак не пойму, как работает описание директорий.
Хочу дать каждому пользователю каталог типа /usr/users/username с возможностью рулить в своем каталоге и шариться по другим юзернеймам в пределах каталога /usr/users/.
Если включать chroot'енье, то никто вылезти за пределы юзернейма не может. Логично.
Если его выключать - могут вылезти вплоть до / и пойти шариться вообще по всей файловой системе.
В конфиге попробовал заделать описание так:

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

# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
  DenyAll
</Limit>


#DIRECTORIES
<Directory /usr/users/>
AllowOverwrite          on
<Limit Write>
AllowAll
</Limit>
<Limit READ>
AllowAll
</Limit>
</Directory>

<Directory /usr/>
<Limit Write>
        Denyall
</Limit>
<Limit READ>
        DenyAll
</Limit>
</Directory>
Не торопись, а то успеешь.

Plohish
мл. сержант
Сообщения: 89
Зарегистрирован: 2009-12-23 21:22:15

Re: Вопрос по SQL аутентификации proftpd

Непрочитанное сообщение Plohish » 2010-01-23 13:07:44

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

в базе инфа за прошлые дни присутствует...

где грабли?