Мы — долго запрягаем, быстро ездим, и сильно тормозим.
|
||||||||||||||||||||||||||
www.lissyara.su
—> статьи
—> FreeBSD
|
|
Затем лезет синее окошко, с опциями. БД MySQL у меня уже стояла, поэтому я её и выбрал - с целью запихать туда пользователей. Ну и ещё некоторые - с целью в дальнейшем разобраться, что есть что:
|
После инсталляции топаем править конфиг /usr/local/etc/proftpd.conf:
|
После того, как написали конфиг, создаём таблицы в MySQL (если вам не нужны извращения типа моих - с ведением логов в БД - то можно обойтись тока таблицей `users_table`):
|
Заводим в системе пользователя `ftp` командой `adduser`, после чего создаём файло для логов и даём на него права:
|
Создаём директорию для пользоваетля `admin` и даём на неё права пользователю `ftp`:
|
Вносим строку в /etc/rc.conf и запускаем:
|
В общем-то всё. Если что-то не работает смотрим логи MySQL - правильные ли запросы идут к БД, идут ли они вообще, также смотрим /var/log/messages. В крайнем случае запускаем proftpd с параметрами типа -q -d 10...
P.S. надо сразу отметить, что если создаётся учётка для пользователя, который есть в системе (в данном примере - `lissyara`) и ему необходимо дать теже права, что у него есть - то имя пользователя и пароль должны совпадать с системными.
P.S.2 Кстати, если вместо Plaintext поставить Backend то можно в БД хранить пароли зашифрованные средствами самого MySQL (функция PASSWORD()).
P.S.3 Если пароли зашифрованы - то пользователь автоматом chroot`ится - ибо для проверки системного пароля он должен быть в БД незашифрованным.
|
размещено: 2006-02-19,
последнее обновление: 2007-08-02,
автор: lissyara
Abigor, 2006-02-19 в 16:52:17
Хорошая статья, вот бы еще сюда же и квоту привязать, было бы вообще супер.
WarWar, 2006-03-18 в 21:25:37
... и описать (али хотя бы вспомнить) веб интерфейс...
Seclorum, 2006-04-26 в 4:02:13
Квотирование тоже несложно прикручивается
http://howtoforge.org.ua/?q=node/22/print
Dmitri, 2006-04-30 в 4:04:00
Да нет квотирование раздела юзера--т.е. полагается юзеру к примеру 10 метров, вот чтоб он такой больше 10 метров и разместить не мог в своем каталоге.
mcat, 2006-06-22 в 5:39:32
2 Dmitri - http://howtoforge.com/perfect_setup_ubuntu_5.10_p3
Sery656, 2006-10-07 в 17:31:46
А база сама то как называется? Дамп базы ведь не может выполница в никуда.
lissyara, 2006-10-07 в 19:52:17
В конфиге написано какая база используется.
Думаю сделать логический вывод труда не составит? :))
Роман, 2006-11-03 в 9:51:39
Спасибо за отличную статью. И вообще отличный сайт. Нашел для себя много интересного.
logan, 2006-11-06 в 2:20:58
важное замечание. ProFTPd имеет отвратительную привычку не жить с PostgreSQL. причем это не зависит ни от версии ProFTPd, ни от версии PostgreSQL. По имеющимся данным ошибка допущена в портах, но где именно — я не уловил. Из сырцов собирается вполне нормально.
А выглядит ошибка очень просто. если запустить профтд в дебаг-режиме — он живет ~2 минуты и падает с сообщением alarm detected. если дебаг не включен — падает просто (про аларм не кричит). Что это за "будильник" и откуда он его берет — тайна велика есть :)
Happy_demon, 2007-01-19 в 12:20:55
cd /usr/ports/
[root@bc /usr/ports]# make search key=proftpd | more
Port: proma-0.8.2
Path: /usr/ports/ftp/proma
Info: Administrating a ProFTPd server storing users in a MySQL database
Maint: sexbear@tmu.edu.tw
B-deps:
R-deps:
WWW: http://proma.sourceforge.net
там правда таблицы и графы немного другие, чем в приведенной статье (кстати по ней и сделал), но надеюсь разобраться. пока пишит Failed to query database.
warwar, 2007-03-02 в 13:14:03
не рассмотрен вопрос перекодировки символов имен файлов.
по данному конфигу видим крякозябры вместо русских букв в именах файлов
f0b0s, 2007-03-10 в 20:15:15
Хотелось бы отметить 2 факта:
1) я сам тока начинаю изучение freebsd и отсутствие описания факта, что нужно прописать 'ftp'@'localhost' в табилцу mysql.users вызвало у меня некоторые сложности... proftpd просто не мог залогиниться))) а также все же неплохо было бы добавить описание как создавать б/д ftp. я понимаю, это мелочь, но статью не испортит, а людям поможет)) так что прошу добавить следующие замечания:
mysql -u root -p
create database ftp;
GRANT SELECT, INSERT, UPDATE, DELETE ON ftp.* TO 'proftpd'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT, INSERT, UPDATE, DELETE ON ftp.* TO 'proftpd'@'localhost.localdomain' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
(извиняюсь за излишний ламеризм, просто сам попался на этом)
2) теперь поинтереснее:
Если поменять Plaintext на Backend в конфиге, а пароли в ftp.users_table прописывать как PASSWORD('_пароль_'), то это работать не будет)):
ТУТ
или ТУТ (кэш яндекска, ибо страница у меня не загрузилась)
написано, что Раньше я использовал Backend и функцию password (), но в последних версиях mysql она изменилась и можно запутаться..
И действительно у меня не заработало (на страничку я вышел после мучений) все перепроборвал. Почитал ман, в инете порылся, но неработает так и все( Буду рад решению, но кроме как заменить Plaintext на Plaintext Crypt, пароли прописывать, как encrypt ('') я не нашел. Этими операциями мы записываем пароли в энигме. Довольно простое шифрование, но хоть что-то. Очень хочется PASSWORD (). Так что если кто найдет решение - пишите не стесняйтесь)))
AndreyP, 2007-03-18 в 3:29:42
PASSWORD() будет работать если поле password в таблице users_table расширить до 50 байтов
f0b0s, 2007-03-20 в 10:53:38
хмм, не подумал)))
логично))))
пасибо)
Nikita, 2007-04-20 в 14:40:38
а разве ещё одну таблицу groups не надо делать что то о ней тут ничего не сказано?!
Yspex, 2007-04-27 в 19:49:04
Кто нить прикрутил мониторинг чтобы удобно было читать логи? кто и куда лазил?
lissyara, 2007-04-27 в 20:06:38
я админку рисовал на php - чисто логи смотреть.
дел-то на полсотни строк кода
maslivets, 2007-08-02 в 0:42:53
2lissyara
Дык мож коды выложыш на просмотр логов =)
banec, 2007-09-21 в 11:57:13
AllowRetrieveRestart on
  AllowStoreRestart on
дают разрешение на докачку!!!
InventoR, 2007-10-14 в 15:30:04
Очень долго идет подключение к proftpd
в логе идет зависание на строчке
Oct 14 15:26:25 mod_sql/4.2.2[60601]: <<< sql_sess_init
потом где-то через сек.6 он просит ввести логин и пароль.
я так понимаю что его останавливает mod_sql
но хотелось бы чтобы это все работало побыстрее.
lissyara, 2007-10-14 в 15:39:55
UseReverseDNS off
IdentLookups off
в конфиг.
а вопросы - в форум :)
ProFTP, 2007-11-23 в 23:50:59
www.bog.pp.ru/work/ProFTPD.htm
http://www.opennet.ru/base/net/install_proftpd_freebsd6.txt.html
f0b0s, 2007-11-26 в 19:40:07
афигенно
1 линк 404...
Jafff, 2007-12-20 в 1:16:44
При конекте ничего не происходит а в логах:
Dec 20 01:28:00 mod_sql/4.2.2[27750]: defaulting to 'mysql' backend
Dec 20 01:28:00 mod_sql/4.2.2[27750]: backend module 'mod_sql_mysql/4.0.7'
Dec 20 01:28:00 mod_sql/4.2.2[27750]: backend api 'mod_sql_api_v1'
Dec 20 01:28:00 mod_sql/4.2.2[27750]: >>> sql_sess_init
Dec 20 01:28:00 mod_sql/4.2.2[27750]: entering mysql cmd_defineconnection
Плиз хелп ми!!
Jafff, 2007-12-20 в 1:18:32
и еще....
27750 root 1 126 0 68492K 68108K RUN 2:32 98.39% proftpd
ProFTP, 2007-12-22 в 1:51:37
>афигенно
>1 линк 404...
http://www.bog.pp.ru/work/ProFTPD.html
Jafff, 2007-12-22 в 13:11:59
Обноаил порты все заработало.. прикрутил proFTPd Administrator даже почти русифицировал :)
но вот проблемка с буквой "я" например при закачке: Ты всиз огня.mp3 >> Ты всиз огнmp3 ктонить подскажите чего поправить
f0b0s, 2007-12-23 в 20:51:23
одно и тоже одно и тоже
уже в какой раз отвечаю на этот вопрос:
http://www.opennet.ru/openforum/vsluhforumID1/51187.html
Dmitri, 2007-12-23 в 21:07:44
кстати а с безопасностью то у proftpd+mysql как?
а то у меня что пароли и логины утекают иногда
greg_b, 2008-02-19 в 13:33:09
Dmitri, 2007-12-23 в 21:07:44
>кстати а с безопасностью то у proftpd+mysql как?
>а то у меня что пароли и логины утекают иногда
- это у тебя порт 3306 смотрит наружу а не в локалхост
dovg, 2008-03-05 в 10:24:24
Огромное спасибо за подробное разжевывание конфигурации!
artem, 2008-03-06 в 18:33:09
1)добавил квоты отсюда
http://www.opennet.ru/base/net/proftpd_mysql_quota.txt.html
2) в конфиге везде типа
SQLUserInfo `users_table` `username` `password`
надо писать без кавычки
а там где '%u' остается без изминений
artem, 2008-03-06 в 18:47:05
поле `file_and_path` вместо tinytext
поставил varchar(100) а то не влазило
nikola93, 2008-04-07 в 16:34:52
MaxClientsPerHost 5
максимальное количество сесий с одного ip а то один перец у нас в сети открыл 30 сесий и кочал целый день
alter, 2008-07-27 в 21:11:10
Не работает. все сделал как в статье, результат:
/home/alter (#)>ftp 127.0.0.1
Connected to 127.0.0.1.
220 ProFTPD 1.3.1 Server (FTP SERVER) [127.0.0.1]
Name (127.0.0.1:alter): admin
331 Password required for admin
Password:123
421 Service not available, remote server has closed connection.
ftp: Login failed.
Вот такая шляпа.
PS: FreeBSD 7.0 ProFTPD 1.3.1 mysql 5.1
sery656, 2008-07-27 в 21:40:34
alter, 2008-07-27 в 21:11:10
Не работает. все сделал как в статье, результат:
/home/alter (#)>ftp 127.0.0.1
Connected to 127.0.0.1.
220 ProFTPD 1.3.1 Server (FTP SERVER) [127.0.0.1]
Name (127.0.0.1:alter): admin
331 Password required for admin
Password:123
421 Service not available, remote server has closed connection.
ftp: Login failed.
Вот такая шляпа.
PS: FreeBSD 7.0 ProFTPD 1.3.1 mysql 5.1
Проверь доступ на директорию куда фтп зверь коннектицо
grem, 2008-08-21 в 20:29:25
как нуб нубам.
т.к. пароли утекают и паги дефейсятся.. посвещается
задача: анония разрешить всем, а админу надо заливаться, но если ктото выдаст себя за админа будет неприятный дефейс делаем след:
DefaultRoot ~ !admin
<Limit LOGIN>
Order allow, deny
Allow from 192.168.192.168
Deny from all
</Limit>
<Directory ~>
AllowOverwrite on
<Limit Write>
AllowAll
</Limit>
<Limit READ>
AllowAll
</Limit>
</Directory>
<Anonymous /usr/home/ftp>
...
<Limit LOGIN>
AllowAll
</Limit>
</Anonymous>
maslivets, 2008-10-01 в 19:25:57
Собсна еси кому надо фтп только что бы работать с ВЕБ сайтами
SQLDefaultGID       80
SQLDefaultUID       80
SQLMinUserGID       80
SQLMinUserUID 80
Все заливаемые фаилы будут созданы от владельца и группы www:www
psychos, 2008-10-16 в 23:41:00
статья замечательная, но не плохо было бы если б автор ее корректировал согласно комментариям пользователей, а то с паролями тож возился, а оказалось то поле поширше нужно сделать. не плохо было бы прикрутить к статье лимиты благо ссылок море в комментариях, + ко всему привязки юзер-ip\subnet, чтоб оперативно рулить доступом для тех же ананимов
psychos, 2008-10-16 в 23:43:51
да и еще забыл для каждого юзера раскидать флаги согласно которых будут создаваться фалйы(chmod:uid:gid), оч удобно будет при администрировании чего либо...
wildsun, 2008-11-15 в 23:17:38
здесь нигде этого не нашел.
для исправления проблемы с русскими кодировками в версии 1.3.2.r2 нужно (достаточно) вписать в proftpd.conf:
LangEngine on
UseEncoding KOI8-R CP1251
и усё :)
harmless, 2008-11-22 в 23:22:47
Люди напишите кто прикрутил прому к этому примеру(к таблицам баз)
XpycT, 2008-11-24 в 19:55:01
wildsun, 2008-11-15 в 23:17:38
здесь нигде этого не нашел.
для исправления проблемы с русскими кодировками в версии 1.3.2.r2 нужно (достаточно) вписать в proftpd.conf:
LangEngine on
UseEncoding KOI8-R CP1251
и усё :)
Поясни??? у меня ругается что он такого не знает
proftpd-1.3.2.r2_1
????????
maslivets, 2008-11-26 в 21:47:16
2 XpycT
у меня proftpd-1.3.2.r2_1
и отлично понимает.
ты с портов ставил?
если да, то отмечал поддержку языков?
#cd /usr/ports/proftpd/
#make config
...
[X] NLS Use nls (builds mod_lang)
...
poison, 2008-12-05 в 11:37:12
Для тех у кого вылазит Fatal error: Maximum execution time of 30 seconds exceeded in
при нажатии(Все) в скриптике приложенном выше
добавляем в начало скрипта
<?
set_time_limit(60 * 5); // 5 минут может варьироваться в зависимости от производительности машины.
if (isset($_GET['go']))
poison, 2008-12-11 в 14:30:48
Собсно обнаружилось, что конфигурация предлагаемая здесь не только хранит учетки в базе MySQL, но к тому же еще и использует системные,
а именно: имея учетку в системе login1/pass1 и учетку login1/pass2 в базе MySQL войти на ftp можно по любой.
maslivets, 2008-12-18 в 5:04:13
2 poison
Причем в обоих случаях заходит в тот каталог, который прописан в БД.
xm, 2009-01-13 в 1:06:18
А если у меня уже есть БД в которой есть таблица с пользователями, недостающие столбцы я добавил, но пароли у этих пользователей зашифрованы в md5. Как мне сделать, чтобы proftpd понимал эти пароли.
Пробовал в конфиге добавить SQLAuthTypes md5, при запуске фтп ошибка:
"/usr/local/etc/rc.d/proftpd.sh start
Starting proftpd.
- Fatal: SQLAuthTypes: unknown auth handler on line 43 of '/usr/local/etc/proftpd.conf'"
ПодскАжите решение?
maslivets, 2009-01-15 в 20:26:22
2 xm
попробуй
SQLAuthTypes OpenSSL
Собсна тебе сюда ProFTPD-mini-HOWTO-SQL
banec, 2009-02-20 в 0:49:26
обновил до
1.3.2 (stable)
+ Security fixes
Fixed encoding-dependent SQL injection vulnerability in mod_sql_mysql and mod_sql_postgres modules.
в и тоге вообще не работает авторизация!!
откатил на 1.3.2rc4, все стало на места.
Вопрос у всех так или я счастливчик ?
maslivets, 2009-02-20 в 21:12:46
2 banec
Вы таки счастливчик.. =)
mihan_k, 2009-09-01 в 13:24:45
Для того, чтобы потом в базе можно было видеть русские символы, нужно компилировать mysql с опцией --with-charset=cp1251, ну или koi8r, так как proftpd подключается к базе и использует кодировку по умолчанию, я таким образом решил проблему.
Corebug, 2009-09-29 в 17:08:18
Спасибо, lissyara, статья, как всегда, зачет!
harmless, 2009-10-14 в 14:48:52
Товарищи!
Прикрутил я к этой связке ProMA'у + этот скриптик просмотра лога!)
Скоро отпишусь в ветке форума!)
harmless, 2009-11-03 в 20:32:44
ProMA + quota + logs + charsets in logs
http://forum.lissyara.su/viewtopic.php?f=3&t=6684&start=25#p202413
Евгений, 2010-03-14 в 15:03:55
подскажите, не могу переписать файл на фтп, все подключается, видится и даже копируется.....но не переписывает ранее созданный файл...на папку стоят права chmod -R 0777....где рыть та? в профтпд илиже в самой фрее?
VitalVas, 2010-06-08 в 18:03:00
Читай коменты, там такое есть...
banec, 2007-09-21 в 11:57:13
AllowRetrieveRestart on
AllowStoreRestart on
дают разрешение на докачку!!!
Евгений, 2010-06-10 в 12:42:58
Дело было не в этом, а в CHMOD )))
Дмитрий, 2010-07-06 в 10:44:06
Фича, количество ip сетей в блоке
<Limit LOGIN>
Order Allow,Deny
лимитировано
как бы этот лимит расширить?
Jony, 2010-07-17 в 15:11:18
Еще бы сюда прикрутить Proftpd_admin со свеми наворотами и фичами...цены б не было!
Jony, 2010-07-17 в 15:11:22
Еще бы сюда прикрутить Proftpd_admin со свеми наворотами и фичами...цены б не было!
Дядя Сэм, 2011-02-25 в 23:01:25
обкуренная конфигурация если требуется настроить на живой каталог все
не описано как проверить права на каталоги существующие на веб хостинге
Den, 2011-08-28 в 17:39:07
Гранд Мерси!
всё отлично завелось... малость правда пришлось отрихтовать напильником ;)
darkrime, 2012-05-14 в 11:25:20
Спасибо, статья отличная!) Соглашусь с предыдущими ораторами - очень не помешает добавить про реальные Uid и Gid в таблице юзверей table_users, а то юзеры не получают права на запись..
Этот информационный блок появился по той простой причине,
что многие считают нормальным, брать чужую информацию не уведомляя автора
(что не так страшно), и не оставляя линк на оригинал и автора — что более существенно.
Я не против распространения информации — только за. Только условие простое — извольте
подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой,
незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
Если соизволите поставить автора в известность — то вообще почёт вам и уважение.
© lissyara 2006-10-24 08:47 MSK
Комментарии пользователей [64 шт.]