царь-хостинг _MIF_ (ROOT@SECURITYLAB.CO.IL) Спецвыпуск: Хакер, номер #068, стр. 068-044-9 CreateHomeDir no # Включаем квоты Quota 1000:10 # Не пускать юзера, если на диске занято 95% места. MaxDiskUsage 95 # Включаем лимиты на скорость download/upload PerUserLimits 3:20 # Только IPv4 IPV4Only yes Сам сервер сконфигурирован и готов, осталось настроить авторизацию через MySQL. Редактируем /usr/local/etc/ftp/pureftpd-mysql.conf: # Работаем с MySQL через локальный сокет MYSQLSocket /tmp/mysql.sock # Юзер, пароль, база MYSQLUser ftp MYSQLPassword nhjhf21j MYSQLDatabase pureftpd # Храним пароли в открытом виде или зашифрованые md5 MYSQLCrypt cleartext # SQL запрос, ответом которого будет пароль юзера MYSQLGetPW SELECT Password FROM users WHERE User="\L" # SQL запрос, ответом которого будет uid юзера. По умолчанию uid/gid можно # указывать цифрами (1003:1003). Чтобы получить возможность указывать юзеров # как user:group поменяй тип полей Uid и Gid в дампе: # Uid VARCHAR(16) NOT NULL default '-1', # Gid VARCHAR(16) NOT NULL default '-1', MYSQLGetUID SELECT Uid FROM users WHERE User="\L" MYSQLGetGID SELECT Gid FROM users WHERE User="\L" # SQL запрос, ответом которого будет домашняя директория юзера (она станет для # него рутовой) MYSQLGetDir SELECT Dir FROM users WHERE User="\L" # SQL запрос, ответом которого будет лимит на кол-во файлов MySQLGetQTAFS SELECT QuotaFiles FROM users WHERE User="\L" # SQL запрос, ответом которого будет квота юзера в мегабайтах MySQLGetQTASZ SELECT QuotaSize FROM users WHERE User="\L" # SQL запрос, ответом которого будет лимит скорости Upload для юзера (кб/с) MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="\L" # SQL запрос, ответом которого будет лимит скорости Download для юзера (кб/с) MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="\L" Конфиг фтп-сервера завершен. Осталось только создать базу MySQL с параметрами, которые мы указали в конфиге, и залить в эту самую базу дамп. phpMyAdmin у нас есть, так что с созданием юзера и базы проблем не возникнет. А дамп базы в природе существует в двух местах – глубоко в дебрях оффсайта pure-ftpd и на диске, прилагаемом к журналу. Надеюсь, вбить дамп в базу труда не составит. Также не забудь - чтобы ftpd запустился при старте системы – добавить в /etc/rc.conf строчки: pureftpd_enable="YES" pureftpd_config="/usr/local/etc/ftp/pure-ftpd.conf" [статистика.] Awstats 6.5 присутствует в портах FreeBSD, но версия 6.5 содержит очень опасную уязвимость, поэтому ставить мы будем ручками версию 6.6. Качай Awstats с оффсайта, или возьми дистрибутив на диске, прилагаемом к журналу. Разахривируй файл и устанавливай: # mkdir /etc/awstats # cd awstats-6.6/wwwroot/cgi-bin/ # mv awstats.model.conf /etc/awstats # cp –rf * /home/пользователь/cgi-bin/ Все конфиги статистики будут находиться в папке /etc/awstats. Чтобы добавить там конфиг для определенного домена – скопируй файл awstats.model.conf, заменив model именем домена (без www). Например: # cd /etc/awstats # cp awstats.model.conf awstats.hosting.ru.conf Сам конфиг Awstats довольно длинный, я укажу лишь основные параметры: # Какой лог парсить LogFile="/var/log/www/hosting.ru-acess.log" |