ProFTP

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
ProFTP
проходил мимо

ProFTP

Непрочитанное сообщение ProFTP » 2007-11-23 15:10:31

1. Я установил, он использует базу MySQL и базу данныех системы! тоесть пользователей который к ftp НЕ относяться пускает! как выключтить авторизаци по системной БД? чтобы было только MySQL? чтобы не пускал кого попало в системе...

если это нельзя сделать в ProFTP, в пюре фтп можно?

2

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

Таблица ftpquotalimits:

name: Имя виртуального пользователя Proftpd (напр. exampleuser). 
хочу сделать квоты для всех пользователей, не знаю что сюда вводить!!!

добавляю вот так
INSERT INTO `users_table` VALUES(3, 'mydm','123', 'mydm',
'mydm', 'mydm', '/usr/mydm', '/sbin/nologin',0,0,0,0)

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

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

Re: ProFTP

Непрочитанное сообщение Alex Keda » 2007-11-23 15:57:38

выкатывай конфиг, дамп таблицы...
телепатов нету
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Re: ProFTP

Непрочитанное сообщение Гость » 2007-11-23 16:17:48

# Конфиг proftpd - 2006-02-19


# имя сервера - показывается коннектящимся клиентам
ServerName "Main FTP servant :)"
#ServerName 2info.dp.ua
# тип сервера (даже не тип самого сервера, а тип его запуска,
# standalone/inetd - сам или через inetd)

ServerType standalone

#ServerType inetd
# смысл следующей директивы такой: если клиент коннектится не на имя
# а на IP или на виртуальный хост, не описанный в конфиге, то при
# установке в `off` он получит отлуп, если же установлено `on` то
# он будет обслужен `сервером по-умолчанию`
DefaultServer off
# e-mail администратора (по идее для каждого ВиртуалХоста его можно
# поставить разный - но я делаю один сервер без извращений с
# виртуальными хостами)
ServerAdmin rtyug@ukr.net
# файло где хранится инфа о сессиях
#ScoreboardFile /var/run/proftpd.scoreboard

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

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

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

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


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

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

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

SQLLog RETR,STOR 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_RNTO\
log_err_modify
SQLNamedQuery log_err_modify INSERT "'',\
UNIX_TIMESTAMP(),\
'%u', '%f', '%h', \
'%a', '%m'" `xfer_errors`

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



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

# Директории
<Directory ~>
AllowOverwrite on
<Limit Write>
AllowAll
</Limit>
<Limit READ>
AllowAll
</Limit>
</Directory>


<Anonymous /usr/home/ftp>
# пользователь от которого анонимоусы шарятся
User ftp
# группа анонимоусов
Group ftp
# альясы ананонимоусов (можно будет входить как ftp, а
# не anonymous)
UserAlias anonymous ftp
# максимально число анонимоусов
MaxClients 10 "Sorry, max %m users - try again later"
<Limit WRITE>
DenyAll
</Limit>
</Anonymous>
mysql> SELECT * FROM users_table;
+---------+----------+----------+-----------+------+------+--------------------+---------------+------------+-------------+----------------+-----------------+
| unic_id | username | password | groupname | uid | gid | homedir | shell | last_login | login_count | last_err_login | err_login_count |
+---------+----------+----------+-----------+------+------+--------------------+---------------+------------+-------------+----------------+-----------------+
| 1 | lissyara | пароль | lissyara | 1001 | 1001 | /usr/home/lissyara | /sbin/nologin | 0 | 0 | 0 | 0 |
| 2 | admin | пароль | ftp | 1000 | 1000 | /usr/users/admin | /sbin/nologin | 0 | 0 | 0 | 0 |
| 3 | mydm | пароль | mydm | 0 | 0 | /home/mydm | /sbin/nologin | 1195781510 | 1 | 0 | 0 |
+---------+----------+----------+-----------+------+------+--------------------+---------------+------------+-------------+----------------+-----------------+
3 rows in set (0.05 sec)

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

Re: ProFTP

Непрочитанное сообщение ProFTP » 2007-11-23 16:20:52

1. Пользователь которыйы зарегистрирован в системе, но не имеет аккаут в MySQL может зайти череp ftp?
2. А как запретить от перебора паролей? еали кто-то начнет переберать пароли, что делать? ( я этого тоже нигде не нашел)

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

Re: ProFTP

Непрочитанное сообщение Alex Keda » 2007-11-23 16:24:23

1. непомню. надо проверять
2. никак :)))
===========
мой конфиг-то. тока вот неприпомню чтобы у меня квоты были
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Re: ProFTP

Непрочитанное сообщение Гость » 2007-11-23 16:33:25

howtoforge.org.ua/?q=node/22/print
тут квоты!
Таблица ftpquotalimits:

name: Имя виртуального пользователя Proftpd (напр. exampleuser).

quota_type: Ограничить quota по пользователю или группе. Мы используем здесь пользователя.

per_session: true или false. True лимиты квоты действительны только для сессии. Например, если пользователь имеет квоту 15 МБ, и он переслал 15 МБ в течение текущей сессии, затем он не может пересылать что-либо еще. Но если он регистрируется опять, то он опять имеет доступных 15 МБ. false, пользователь имеет 15 МБ и безразлично если он регистрируется опять.

limit_type: hard или soft. Hard лимит квоты - это лимит never-to-exceed, в то время как мягкая квота может быть временно превышена. Нормально вы используете hard здесь.

bytes_in_avail: Лимит в байтах (напр. 15728640 для 15 МБ). 0 означает безграничным.

bytes_out_avail: Лимит загрузки в байтах. 0 означает безграничным.

bytes_xfer_avail: Лимит передачи в байтах.0 означает безграничным.

files_in_avail: Upload лимит в файлах. 0 означает безграничным.

files_out_avail: Download лимит в файлах. 0 означает безграничным.

files_xfer_avail: Лимит Tranfer в файлах. 0 означает безграничным.

Таблица ftpquotatallies используется Proftpd внутри, чтобы управлять квотами, так что вам не придется делать записей там!

Если вы хотите создать анонимный ftp аккаунт (аккаунт ftp, к которому каждый может получить доступ без логина и пароля), вы можете сделать это подобно этому:
очень "большая" таблица, я бы хотел чтобы допустим было квоты были по групам... но если по групам то тогда сделать несколько груп модно ftp0 ftp1 ftp2, и эти групы добавить в систему...? надо попробовать....

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

Re: ProFTP

Непрочитанное сообщение ProFTP » 2007-11-23 19:03:14

Зачем тогда использовать MySQL если можно просто добавить пользователся в систему? или это просто так?

если не сложно скажите, PureFTP используют ТОЛЬКО MySQL? или в месте с ней и БД системы?
может я перенервничал... сори :)