InetPowerServer
InetPowerServer HTTP/FTP/SMTP/POP3 server Автор: Terje Flaarønning Сайт: www.inetpowerserver.com Usergroup: Yahoo! group |
InetPowerServer (www.inetpowerserver.com) — сервер, реализующий протоколы HTTP, FTP, SMTP и POP3 (планируется поддержка IMAP4). Существуют версии IPS для OS/2 и Windows NT/2k/XP (виндовая версия требует установки Regina REXX).
Настройку IPS нельзя назвать самоочевидной, поэтому ниже я постараюсь осветить основные моменты, связанные с установкой IPS и настройкой FTPD/SMTPD-компонентов.
Установка IPS
Загрузите последнюю версию IPS с www.inetpowerserver.com/filedownloads.html, распакуйте её в соответствующий каталог и запустите ips2.exe (ips32.exe в случае установки под Windows). Программа создаст нужные каталоги и дефолтные файлы конфигурации, после чего сервер начнёт работать. Немедленно остановите его клавишами Alt-X.Все файлы, относящиеся к конфигурации сервера, размещены в каталоге config. Базовый файл конфигурации config\ips.cfg редактировать не нужно, если у вас нет твёрдого убеждения в необходимости внесения изменений. Займёмся настройкой вашего основного (и единственного после установки) сайта main (файл config\main\main.cfg).
Директивой ServiceSections в секции [GLOBAL] задайте те сервисы, которые вам нужны. Пример:
В секции [ACCESS] исправьте строчку
В каталоге config\main\users отредактируйте файлы admin и user,
изменив дефолтные пароли на свои. Пример:
Теперь можно приступать к настройке отдельных компонентов IPS.
Настройка FTPD
Базовая настройка состоит в том, что надо (1) определиться с каталогами, к которым вы будете предоставлять доступ по FTP, (2) завести пользователей и (3) раздать им нужные права на эти каталоги. Всё это делается на юниксный манер, и в этих операциях довольно легко запутаться, поэтому ниже я покажу пример создания профиля пользователя (user account), который можно взять за основу.Итак, задача: создать пользователя 'Petya' с паролем 'DerParole' и дать ему право читать каталог F:\Archives и право читать и писать в каталог D:\temp\uploads. Petya имеет право обращаться к FTP из локальной сети 192.168.16.0 или с домашнего адреса 212.85.0.6.
Для начала надо определиться с каталогами.
1. Виртуальная файловая система (VFS)
Виртуальная файловая система (VFS) позволяет организовать для каждого пользователя дерево виртуальных каталогов, к которым он будет иметь доступ. Из-за отсутствия симлинков в OS/2 приходится сначала создавать каталоги внутри config\main\vfs, а затем привязывать эти каталоги к реальным каталогам на вашем диске в секции [VFS] конфигурационного файла config\main\main.cfg.Создадим для юзера 'Petya' два виртуальных каталога: incoming, куда он сможет писать, и pub, который он сможет только читать. Для этого каталоге config\main\vfs создадим подкаталог users, а в нём, в свою очередь, подкаталог Petya. Внутри config\main\vfs\users\Petya создадим подкаталоги incoming и pub.
Теперь привяжем эти виртуальные каталоги к реальным. В конец секции [VFS] конфигурационного файла config\main\main.cfg добавим следующие строки:
/users/Petya/incoming=D:\temp\uploads /users/Petya/pub=F:\ArchivesNote: для того, чтобы изменения в этом конфигурационном файле вступили в силу, требуется перезапуск IPS.
2. Создание профиля пользователя
Профили пользователей живут в каталоге config\main\users. Перейдите в этот каталог и скопируйте файл user в файл Petya. Теперь следует отредактировать этот файл. Изменённые строки подсвечены зелёным, добавленные — голубым.Директивы Username и Fullname понятны без объяснений. Директива Password позволяет задать пароль пользователя, при этом есть одна тонкость. IPS по соображениям безопасности не пользуется незашифрованными паролями. Если вы задаёте пароль в незашифрованном виде, как в обсуждаемом случае, поставьте перед паролем знак минуса (-). При первом обращении пользователя к FTPD пароль будет зашифрован. Директива ChangePassword запрещает пользователю менять пароль.# USER ACCOUNT FILE __________________________________________________________ # ____________________________________________________________________________ [USER] Username=Petya Fullname=Петя Мокин, юзер для примера MemberOfGroups=users Password=-DerParole Secret=6387AD58 ChangePassword=0 APOPSecret=password RootDirectory=/users/Petya ClientAddress=192.168.16.* 212.85.0.6 # ____________________________________________________________________________ [ACCESS] # Дать право юзеру читать его RootDirectory .\config\main\vfs\users\Petya\*;Petya;users;500;177 # Задать права на доступные ему каталоги D:\temp\uploads\*;Petya;users;700;177 F:\Archives\*;Petya;users;500;177 [--END--] # END ________________________________________________________________________
Директива RoorDirectory задаёт виртуальный каталог в config\main\vfs, который увидит пользователь при логине (в обсуждаемом случае он увидит каталоги incoming и pub, лежащие в config\main\vfs\users\Petya). Директива ClientAddress задаёт адреса, с которых данному пользователю разрешён логин. Полный список директив и их описание смотрите в документации.
Строки в секции [ACCESS] задают права доступа данного пользователя к реальным каталогам на диске.
3. Права доступа
Необходимое примечание: IPS позволяет оперировать как пользователями, так и группами. Это верный способ усложнить себе жизнь, если у вас много разнородных пользователей; кроме того, у вас не юникс, где от понятий owner и group и их прав на все объекты файловой системы никуда не деться. Поэтому я препочитаю несколько более тупой и прямолинейный способ: все юзера, кроме admin и anonymous, относятся к группе users, и права раздаются каждому из пользователей отдельно в его профиле.Итак, права доступа к определённому каталогу задаются следующим образом:
<маска пути>;<владелец>;<группа>;<права>;<ограничения>;Права и ограничения задаются на юниксный манер трёхзначным восьмеричным числом (750, 532, etc.). Первая цифра задаёт права владельца (owner), в данном контексте — самого пользователя, вторая цифра — права группы, третья — права всех остальных. Точно так же задаются и ограничения. Ниже даны две таблицы с расшифровкой прав и ограничений.
|
|
Вернёмся к правам нашего пользователя.
Petya имеет права 7 (rwx) на содержимое D:\temp\uploads, т.е. может читать файлы из этого каталога, писать файлы в этот каталог и просматривать его. Для него предусмотрено ограничение 1 (--d), т.е. он не может стирать файлы в этом каталоге. На содержимое F:\Archives Petya имеет права 5 (r-x), т.е. может читать файлы из этого каталога и просматривать его, и так же не имеет права стирать файлы в этом каталоге.D:\temp\uploads\*;Petya;users;700;177 F:\Archives\*;Petya;users;500;177
Группа users, к которой принадлежит Petya, и все прочие юзеры имеют права 0 (---) на этот каталог, т.е. не имеют прав вообще. На самом деле неважно, какие права вы дадите группе и прочим — всё, что прописано в профиле пользователя, влияет только на него самого.
Изменения, вносимые в профиль пользователя, не требуют перезапуска IPS.
Настройка SMTPD
Пример настройки для хоста smtp.domain.ru в подсети 192.168.16.0:С помощью скрипта endmail Алекса Саморукова (Samm) можно рассылать почту через IPS из командной строки. Для того, чтобы использовать endmail в PHP, отредактируйте php.ini:[SMTP-1] Protocol=smtpd Address=192.168.16.170 ClientAddress=192.168.16.* 127.0.0.1 Host=smtp ForwardAddress=192.168.16.* 127.0.0.1 QueueDirectory=.\queue\mail LocalDomain=domain.ru LocalDomains=@localhost
sendmail_path = X:/ips/endmail/endmail.cmd
Прочее
Здесь не рассмотрены вопросы более "продвинутой" настройки — удалённое администрирование, использование IPS в качестве мультидоменной почтовой системы, написание скриптов и т.п. Может быть, эти вопросы будут освещены позже.Dmitry Ban
IRC nick: banshee
Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ