The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Хранение аккаунтов pure-ftpd в файлах формата puredb (ftp)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: ftp,  (найти похожие документы)
From: Ушаков Андрей Newsgroups: email Date: Mon, 26 Jan 2004 14:31:37 +0000 (UTC) Subject: Хранение аккаунтов pure-ftpd в файлах формата puredb Pure-ftpd позволяет хранить данные виртуальных аккаунтов в специальных файлах формата puredb, подобном '/etc/passwd'. Помимо списка самих аккаунтов, данных авторизации и директорий пользователей, файл puredb может содержать такие данные, как индивидуальные квоты, параметры скорости работы с сервером, соотношения download/upload и некоторые другие опции, которые будут рассмотрены далее. Для включения поддержки puredb в pure-ftpd вам необходимо сконфигурировать сервер следующим образом: './configure --with-puredb --with-peruserlimits --with-throttling --with-ratios --with-quotas'. '--with-puredb' -- включает поддержку puredb; '--with-peruserlimits' -- позволяет задавать ограничения для каждого пользователя; '--with-throttling' -- позволяет установить ограничение скорости работы с ftp для пользователей; '--with-ratios' -- позволяет установить соотношение download/upload для пользователей; '--with-quotas' -- позволяет установить квоту дискового пространства для пользователя; Перед началом настройки сервера рекомендуется завести системный аккаунт, которому будут принадлежать все директории виртуальных пользователей, чтобы в дальнейшем избежать путаницы с правами. Создадим группу ftpusers и добавим пользователя ftpusers: для linux: 'groupadd ftpusers' 'useradd -g ftpusers -d /home/ftpusers -s /sbin/nologin ftpusers' для freebsd: 'pw groupadd ftpusers' 'pw useradd ftpusers -g ftpusers -d /home/ftpusers -s /sbin/nologin'. Далее добавим директорию и назначим права на нее для пользователя ftpusers: 'mkdir /home/ftpusers' 'chown ftpusers:ftpusers /home/ftpusers' Сразу отмечу, что работа с виртуальными аккаунтами происходит в два этапа: 1. Создание файла со списком аккаунтов пользователей и их параметрами (по умолчанию '/etc/pureftpd.passwd'), на этом этапе вы также cможете вносить изменения в список аккаунтов; 2. Создание на основе файла списка бинарного файла, с которым в конечном итоге и будет работать сервер (по умолчанию '/etc/pureftpd.pdb'); Альтернативные значения для passwd-файла и pdb-файла могут быть заданы с помощью переменных окружения 'PURE_PASSWDFILE' и 'PURE_DBFILE' соответственно. Все операции над аккаунтами будут осуществляться с помощью утилиты 'pure-pw', входящей в пакет pure-ftpd. ------------------------ Создание файла аккаунтов ------------------------ Каждая запись файла виртуальных аккаунтов имеет следующий формат: account:pass:uid:gid:name:dir:ul bw: dl bw:ul ratio:dl ratio:max con: files quota:size quota:authorized local IPs:refused local IPs:authorized client IPs:refused client IPs:time Рассмотрим значения полей записи: 'account' -- имя аккаунта; 'pass' -- пароль пользователя в зашифрованном виде; 'uid' -- uid пользователя, с правами которого будет работать виртуальный пользователь; 'gid' -- gid пользователя, с правами которого будет работать виртуальный пользователь; 'name' -- полное имя пользователя аккаунта; 'dir' -- директория пользователя аккаунта; 'ul bw' -- скорость upload для данного аккаунта; 'dl bw' -- скорость download для данного аккаунта; 'ul ratio' -- соотношение upload к download; 'dl ratio' -- соотношение download к upload; 'max con' -- максимальное число одновременных подключений для данного аккаунта; 'files quota' -- квота на количество файлов в директории пользователя; 'size quota' -- квота на суммарный размер файлов в директории пользователя; 'auth local IPs' -- указывает ip адрес интерфейса сервера, на который пользователь может подключаться (при наличии нескольких сетевых интерфейсов на сервере); 'ref local IPs' -- указывает ip адрес интерфейса сервера, на который пользователь подключаться не может; 'auth client IPs' -- ip адреса, с которых пользователю разрешено подключаться; 'ref client IPs' -- ip адреса, с которых пользователя запрещено подключаться; 'time' -- временной промежуток, в течение которого пользователь может получать доступ к аккаунту. Допускается пустое значение всех полей кроме 'account', 'pass', 'uid', 'gid' и 'dir'. -------------------------- Добавление нового аккаунта -------------------------- Добавление аккаунта осуществляется с помощью утилиты 'pure-pw'. Синтаксис команды следующий: pure-pw useradd login [-f file] -u uid [-g gid] -D/-d dir [-c name] [-t num] [-T num] [-n num] [-N num] [-q num] [-Q num] [-r ip,..] [-R ip,..] [-i ip,..] [-I ip,..] [-y num] [-z hhmm-hhmm] [-m] Рассмотрим значения используемых опций: 'login' -- имя добавляемого аккаунта; '-f file' -- задает имя файла списка аккаунтов, отличное от значения по умолчанию, т.е. от '/etc/pureftpd.passwd'. '-u uid' -- задает uid пользователя; '-g gid' -- задает gid пользователя; '-D/-d dir' -- задает директорию для пользователя аккаунта, при использовании '-d' автоматически назначается chroot в этой директории, при использовании '-D' chroot не будет включен; При запуске сервера с опцией '-j' директории пользователей будут создаваться автоматически при первом их подключении к системе, в противном случае, вы сами должны будете создать указанную директорию; '-c name' -- задает полное имя пользователя аккаунта; '-t num' -- задает скорость download (в Kb/s); '-T num' -- задает скорость upload (в Kb/s); '-n num' -- задает ограничение на количество файлов в директории пользователя; '-N num' -- задает ограничение на размер файлов в директории пользователя (в Mb); '-q num' -- задает соотношение upload к download; '-Q num' -- задает соотношение download к upload; '-r ip' -- задает ip адреса, с которых пользователю разрешено подключаться, также можно задавать целые подсети, используя CIDR маску; '-R ip' -- задает ip адреса, с которых пользователю запрещено подключаться; '-i ip' -- при нескольких интерфейсах на сервере позволяет указать ip адрес того интерфейса, на который данный пользователь может подключаться; '-I ip' -- при нескольких интерфейсах на сервере позволяет указать ip адрес того интерфейса, на который пользователь подключаться не может; '-y num' -- задает количество одновременных подключений для аккаунта; '-z hhmm-hhmm' -- задает временной промежуток, в течение которого пользователь может получать доступ к аккаунту, например '-z 1830-2240' задает временной промежуток для доступа к аккаунту с 18:30 до 22:40, причем если пользователь подключен к серверу во время истечения указанного значения, соединение не будет прервано. '-m' -- использовании этой опции совместно с остальными позволяет автоматически запустить 'pure-pw mkdb' и зафиксировать внесенные изменения в файле '/etc/pureftpd.pdb'. Работа с 'pure-pw mkdb' будет рассмотрена чуть позже. Таким образом, в простейшем случае добавление аккаунта осуществляется следующим образом: 'pure-pw useradd tester -u ftpusers -g ftpusers -d /home/ftpusers/tester'. После этой команды вы получите запрос на ввод пароля для tester. ----------------------------- Изменение параметров аккаунта ----------------------------- Изменение параметров аккаунта также осуществляется с помощью pure-pw: 'pure-pw usermod login [-f passwd file] attr value [attr value ...] [-m]' 'attr value' в данном случае -- это те же параметры, которые используются при добавлении нового аккаунта. Не забывайте использовать параметр '-f passwd file' в том случае, если список аккаунтов изначально создавался в файле, отличном от '/etc/pureftpd.passwd'. ---------------------------- Сброс установленных значений ---------------------------- Для сброса параметров конфигрурации pure-pw запускается со следующими опциями: 'pure-pw usermod login -n ''' -- сброс квот на количество файлов; 'pure-pw usermod login -N ''' -- сброс квот на размер файлов; 'pure-pw usermod login -q '' -Q ''' -- сброс соотношений download/upload; 'pure-pw usermod login -t ''' -- сброс ограничения скорорсти download; 'pure-pw usermod login -T ''' -- сброс ограничения скорости upload; 'pure-pw usermod login -i '' -I '' -r '' -R ''' -- сброс соответствующих ограничений по ip; 'pure-pw usermod login -z ''' -- сброс временных ограничений; 'pure-pw usermod login -y ''' -- сброс ограничений на количество подключений. ------------------ Удаление аккаунтов ------------------ Удаление аккаунта осуществляется следующим образом: 'pure-pw userdel login [-f passwd file] [-m]'. ---------------- Изменение пароля ---------------- Изменение пароля осуществляется следующим образом: 'pure-pw passwd login [-f passwd file] [-m]'. ---------------------- Фиксирование изменений ---------------------- После добавления (удаления, модификации) данных аккаунта изменения не вступят в силу, пока не будет обновлен файл '/etc/pureftpd.pdb'. Для создание нового файла 'pureftpd.pdb', используйте следующую команду: 'pure-pw mkdb'. В том случае, если вы используете имена файлов, отличныные от '/etc/pureftpd.passwd' и '/etc/pureftpd.pdb', файлы необходимо указать явно: 'pure-pw mkdb /path/to/file.pdb -f /path/to/files.passwd'. Чтобы избежать использования 'pure-pw mkdb' после каждого изменения данных, используйте опцию '-m' в командах модификации, например: 'pure-pw useradd andrew -u ftpusers -g ftpusers -d /home/ftpusers/andrew -m'. Таким образом изменения сразу же будут внесены в файл 'pureftpd.pdb'. --------------------------------- Получение информации об аккаунтах --------------------------------- Для просмотра данных аккаунта используется следующий синтаксис 'pure-pw': 'pure-pw show login [-f passwd file]'. -------------- Запуск сервера -------------- Как правило, сервер запускается со стандартными опциями, но с указанием файла с данными авторизации пользователей с помощью опции '-l': '/usr/local/sbin/pure-ftpd -14ABEH -p 33000:35000 -l puredb:/etc/pureftpd.pdb'.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Обсуждение [ RSS ]
  • 1, SlaXaS (?), 01:14, 13/08/2006 [ответить]  
  • +/
    Всё хорошо, но на мой взгляд целесообразние весь етот "комбайн" запускать с ключом -j. Так можно избезать ненужной паревы с созданием коталогов. [ /usr/local/sbin/pure-ftpd -14ABEH -j -p 33000:35000 -l puredb:/etc/pureftpd.pdb ]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру