The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Настройка Pure-FTPd c авторизацией ..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Настройка Pure-FTPd c авторизацией ..."  +/
Сообщение от auto_tips (ok) on 12-Авг-09, 00:28 
Для Unix систем есть большое количество серверов ftp обладающих богатым функционалом,
каждый из которых обладает своими особенностями. Но в один прекрасный день мне потребовалось организовать
авторизацию с помощью скрипта, который в зависимости от IP адреса должен был пускать в разные домашние
директории. После недолгих поисков в интернете я обнаружил, что у Pure-FTPd авторизация по скрипту -
штатная возможность. Итак, приступим.

Скачиваем архив с актуальной на текущий момент версии (в момент написания этой статьи текущая версия 1.0.22)

   wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftp...

Распаковываем и простыми сочетаниями команд устанавливаем
   ./configure --with-rfc2640 --with-everything --prefix=/usr/local/pure-ftpd
   make
   sudo make install

--with-rfc2640 - необходима для перекодировки названий файлов на лету в разные кодировки
(в моем случае клиенты подсоединяются к серверу с кодировкой cp1251 а на сервере же кодировка UTF-8)

--with-everything - создание демона с поддержкой всех функций Pure-FTPd

--prefix=/usr/local/pure-ftpd - каталог, куда собственно демон устанавливать

Теперь когда сервер установлен переходим к базовой конфигурации. Копируем конфигурационный файл в /etc из каталога с исходниками

   cp configuration-file/pure-ftpd.conf /etc/pure-ftpd.conf

Добавляем следующие строки в конфигурационный файл:

   ExtAuth /var/run/ftpd.sock # Включаем авторизацию по скрипту
   UserBandwidth 100 # Ограничиваем полосу в  100 Kb/c для каждого пользователя,
                     # чтобы они не забивали весь канал
   MaxDiskUsage 90   # Установив это значение, мы запрещаем загрузку файлов на сервер,
                     # в случае если осталось всего 10% свободного места
   FileSystemCharset UTF-8 # Говорим что на сервере кодировка UTF-8
   ClientCharset CP1251    # А у пользователей CP1251

Создаем авторизующий скрипт /usr/local/pure-ftpd/sbin/ftp-auth-handler
Со следующим содержанием:

   if test "$AUTHD_REMOTE_IP" = "192.168.0.102"; then
      echo 'auth_ok:1'
      echo 'uid:69'
      echo 'gid:42'
      echo 'dir:/tmp'
   else
      echo 'auth_ok:0'
   fi
      echo 'end'

Этот скрипт успешно авторизует любого пользователя с IP 192.168.0.201

Кроме $AUTHD_REMOTE_IP в скрипте можно использовать следующие переменные:

   AUTHD_ACCOUNT
   AUTHD_PASSWORD
   AUTHD_LOCAL_IP
   AUTHD_LOCAL_PORT
   AUTHD_REMOTE_IP
   AUTHD_ENCRYPTED

В ответе скрипта можно передавать следующие параметры

   uid:xxx -  UID пользователя в системе
   gid:xxx - GID пользователя в системе
   dir:xxx -  Абсолютный путь  до домашней директории
   throttling_bandwidth_ul:xxx  -  Ширина канала  закачки на сервер
   throttling_bandwidth_dl:xxx - Ширина канала скачки с сервера
   user_quota_size:xxx  -  Дисковая квота пользователя в байтах
   user_quota_files:xxx  -  Максимальное количество файлов для пользователя
   per_user_max:xxx  - Максимальное количество одновременных сессий

После этого осталось запустить сам сервер.

Скопируем запускающий скрипт pure-config.pl из каталога с исходниками

   cp configuration-file/pure-config.pl /usr/local/pure-ftpd/sbin/

Для запуска сервера выполняем следующую команду:

   /usr/local/pure-ftpd/sbin/pure-config.pl /etc/pure-ftpd.conf

Для запуска демона авторизации выполняем это:
   /usr/local/pure-ftpd/sbin/pure-authd -s /var/run/ftpd.sock -r /usr/local/pure-ftpd/sbin/ftp-auth-handler &

Осталось внести последние две строчки в автозагрузку, и на этом базовая настройка сервера закончена.


URL: http://tips.compuserv.biz/index.php/component/content/articl...
Обсуждается: http://www.opennet.dev/tips/info/2137.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Настройка Pure-FTPd c авторизацией по скрипту"  +/
Сообщение от тигар (ok) on 12-Авг-09, 00:28 
стесняюсь спросить... а в Вашем дистрибутиве есть "пакетный менеджер" ? или wget+configure+make дает что-то архикошерное?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Настройка Pure-FTPd c авторизацией по скрипту"  +/
Сообщение от Аноним (??) on 12-Авг-09, 01:51 
В пакетах может оказаться что-то без чего-то.
Например, без поддержки rfc2640.
И еще, совет мог быть для debian, а людям подавай freebsd.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Настройка Pure-FTPd c авторизацией по скрипту"  +/
Сообщение от FrBrGeorge (ok) on 12-Авг-09, 10:44 
> В пакетах может оказаться что-то без чего-то.

"Может оказаться"? Тогда это -- не Ваш дистрибутив :).

> людям подавай freebsd

Там rfc2640 по умолчанию выключен, но включается он способом. не похожим на описаный выше.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Настройка Pure-FTPd c авторизацией по скрипту"  –1 +/
Сообщение от Sw00p aka Jerom email on 12-Авг-09, 10:40 
А чем вас не устраивает wget+configure+make ????

./configure --help

более гибко и кустомизированно не то что дефолт (по дефолту это тока в винде)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Настройка Pure-FTPd c авторизацией по скрипту"  +2 +/
Сообщение от тигар (ok) on 12-Авг-09, 11:01 
тем что установленный таким образом софт не будет виден среди установленных пакетов. что есть говно (ящитаю).
хотя если у Вас шлакварь или убунту это простительно;-)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Настройка Pure-FTPd c авторизацией по скрипту"  +1 +/
Сообщение от FrBrGeorge (ok) on 13-Авг-09, 00:19 
>А чем вас не устраивает wget+configure+make ????
>
>./configure --help
>
>более гибко и кустомизированно не то что дефолт (по дефолту это тока
>в винде)

Бессмысленным расходом собственного времени на сопровождение получившейся инсталляции. Вам знакомо понятие "хранилище обновлений по безопасности"? Или "portaudit"? А на дюжине серверов?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Настройка Pure-FTPd c авторизацией по скрипту"  –1 +/
Сообщение от re on 12-Авг-09, 13:43 
а какая проблема в том что он не будет виден среди установленных пакетов?
убонтовод? потерялся сразу?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Настройка Pure-FTPd c авторизацией по скрипту"  +1 +/
Сообщение от тигар (ok) on 12-Авг-09, 14:36 
>а какая проблема в том что он не будет виден среди установленных
>пакетов?
>убонтовод? потерялся сразу?

а проблема одна. я получая машину после таких "админов" громко матом разговариваю. ибо вывод например sockstat -4l и pkg_info говорит о разных вещах. а теперь вопрос знатоку: откуда эти команды? из убунты?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Настройка Pure-FTPd c авторизацией по скрипту"  +/
Сообщение от o.k. on 14-Авг-09, 02:55 
+миллион
та же хрень.. недавно отказался от администрирования подобного веб сервера.
нормальный админ всегда соберет пакет.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Настройка Pure-FTPd c авторизацией по скрипту"  +/
Сообщение от FrBrGeorge (ok) on 13-Авг-09, 00:16 
>а какая проблема в том что он не будет виден среди установленных
>пакетов?

Если у вас один сервер и одна собранная вручную установка ПО -- проблем нет. Но такие ситуации в бою уже не встречаются, только в учении остались.
>убонтовод? потерялся сразу?

Фи. Как не стыдно.

Можете (как неубунтовод?) предложить разумную ручную реализацию того, что делает portaudit или обновление из update-хранилищ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Настройка Pure-FTPd c авторизацией по скрипту"  +/
Сообщение от Анонимус. on 13-Авг-09, 15:54 
>[оверквотинг удален]
>
>Если у вас один сервер и одна собранная вручную установка ПО --
>проблем нет. Но такие ситуации в бою уже не встречаются, только
>в учении остались.
>>убонтовод? потерялся сразу?
>
>Фи. Как не стыдно.
>
>Можете (как неубунтовод?) предложить разумную ручную реализацию того, что делает portaudit или
>обновление из update-хранилищ?

Он смог и написал статью. А половина сраных тем от убунтоводов и дебьянщиков нахер не нужны.

Забыл что такое команда which и locate ,,? быдло сборки пакетов не нужны.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Настройка Pure-FTPd c авторизацией по скрипту"  +/
Сообщение от o.k. on 14-Авг-09, 02:57 
>[оверквотинг удален]
>>Фи. Как не стыдно.
>>
>>Можете (как неубунтовод?) предложить разумную ручную реализацию того, что делает portaudit или
>>обновление из update-хранилищ?
>
>Он смог и написал статью. А половина сраных тем от убунтоводов и
>дебьянщиков нахер не нужны.
>
>Забыл что такое команда which и locate ,,? быдло сборки пакетов не
>нужны.

Вы просто не умеете собирать пакеты.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Настройка Pure-FTPd c авторизацией по скрипту"  +/
Сообщение от Анонимус. on 14-Авг-09, 12:04 
Умею. Но я вижу очень часто , вопли по поводу сборок так называемых в ковычках.

Вы видимо кроме opennet.ru ни на какие форумы не заходите.

http://www.linuxquestions.org/

welcome ./

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Настройка Pure-FTPd c авторизацией по скрипту"  +/
Сообщение от FrBrGeorge (ok) on 16-Авг-09, 15:44 
>>Можете (как неубунтовод?) предложить разумную ручную реализацию того, что делает portaudit или обновление из update-хранилищ?
>Он смог и написал статью.

Пруфлинк? Ой, извиняюсь... Вас не спрашивали?
>Забыл что такое команда which и locate ,,?

Готов поверить. Иначе бы не намекали, что они обладают свойствами portaudit.

Вообще, если бы не анонимность, вы здорово опустили бы себя подобным комментарием.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "Настройка Pure-FTPd c авторизацией по скрипту"  +/
Сообщение от Анонимус. on 18-Авг-09, 15:12 
Вопрос про аналог portaudit задавался не мне. Читай внимательно.

А тебе не наплевать про анонимность?

Я тебе могу накидать  вагон ссылок где нубы тыкаются если что то в пакете не собрано.

Мне срать как то , у меня все конфиги штатно лежат . А вот некоторые пакеты приходится

пересобирать руками. Да и какая тебе нахрен разника где бинарник?

Конфиги по дефолту. Если нет пиз..ы админу.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "Настройка Pure-FTPd c авторизацией по скрипту"  +/
Сообщение от FrBrGeorge (ok) on 19-Авг-09, 16:15 
>>Пруфлинк? Ой, извиняюсь... Вас не спрашивали?
>Вопрос про аналог portaudit задавался не мне.

Вы меня правильно поняли :)

>Я тебе могу накидать  вагон ссылок где нубы тыкаются если что-то в пакете не собрано.

Ну, это уже по совсем другой теме, хотя она здесь тоже возникала: если вы всё ещё "тыкаетесь", значит, это пока что не ваш дистрибутив.

>Мне срать как то , у меня все конфиги штатно лежат .

Это в /etc, /usr/local/etc, /opt/*/etc, /val/lib/*/etc и /home/*/*/etc? Или вы патчите софт на предмет складывания конфигов не туда, куда upstream их суёт, а в какое-то "штатное" место?

>А вот некоторые пакеты приходится пересобирать руками. Да и какая тебе нахрен разника где бинарник?

Где -- разницы никакой. Главное, чтобы обновление N пакетов на M площадках не "приходилось собирать руками" N*M раз. Хотя бы свести этот гемор к M операциям обновления. Но лучше к нулю. Это если вы доверяете тому хранилищу, откуда обновляетесь автоматически.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




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

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