Личный кабинет    
Назад К началу Вперед Карта сайта Телефонные коды стран и городов Мира Анализатор тарифов Служб IP-Телефонии и Рейтинг

Разделы
Введение
Литература
Операторы
Оборудование
Анализатор
Сотрудничество
Печать карт
Новости
Опросник
Коды
Справка
Работа
Каталог
Хостинг
Личный кабинет

Реклама

Perl для IP-Телефонии (38 – сервер с правами суперпользователя, часть 1)

предыдущая часть ««»» следующая часть

Работа психотерапевтического сервера  с правами суперпользователя

В приведенном ниже примере использования прав суперпользователя в сетевом демоне психотерапевтический сервер выполняет следующие операции, которые требуют доступа с правами суперпользователя.  Вместо создания файла PID в каталоге, доступ для записи к которому имеют все пользователи, сервер запишет свой идентификатор процесса в файл, положенный в каталоге /var/run, запись в котором в большинстве систем может выполнять только суперпользователь.

По умолчанию сервер теперь будет пытаться открыть сокет, привязанный к порту 1002, который находится в диапазоне привилегированных номеров сокетов. После открытия сокета и файла PID сервер установит для себя значения EUIB и GID непривилегированного пользователя, которые по умолчанию соответствуют пользователю nobody и группе nogroup. После приема входящего запроса на установление соединения, например, запрос к странице предлагающей билеты на елку в Кремле и выполнения ветвления, но перед обработкой любых входящих данных, сервер навсегда откажется от привилегий суперпользователя, установив свой реальный UID взамен действующему UID.

Этот проект требует добавления новой подпрограммы к модулю Daemon и внесения нескольких небольших изменений по всему коду. Вот эти изменения.

Строки 1-12. Подпрограмма init_server (). Эта подпрограмма изменена так, что теперь она принимает три необязательных параметра: имя файла PID, имя пользователя и имя груп­пы, под которыми она работает. Создается файл RID, инициализируется запись в журнал и выполняется, как прежде, переход в фоновый режим. Если вызывающей процедурой были указаны и имя пользователя, и имя группы, вызывается новая подпрограмма change_privileges р. Затем, как и перед этим, выполняется возврат нового PID. Изменяется также константа pidpath для записи файла PID в привилегированный каталог /var/run, а не каталог /usr/tmp, в котором могут выполнять запись все пользователи.



2014-11-01 13:21:35

предыдущая часть ««»» следующая часть


ДОКУМЕНТАЦИЯ VoIP


НОВОСТИ СВЯЗИ


РЕКОМЕНДУЕМ

 
[ стандарты | обзор | оборудование | анализатор | коды | новости | карта | партнерам | Мы ВКонтаке ]
Запрещается копировать материалы сайта без уведомления авторов.
С вопросами и предложениями обращайтесь со страницы контактов
Copyright c 1999-2024 IPTop.Net
 
IP-Телефония, Интернет Телефония, Компьютерная телефония