Выбор способа запуска софтины
Добрый день.
Есть прога ( конкретно - пакет sipwitch ).
Архитектурно представляет собой, помимо всяких утилит, 2 бинарника - в /usr/sbin лежит sipw, умеет запускаться демоном, и sipwich,
программа для управления сервером. Управляет через
nout sipwitch # ls -alh итого 1,0K drwxrwx--- 2 root root 96 Май 17 20:54 . drwxr-xr-x 21 root root 1,1K Май 17 18:58 .. prw-rw---- 1 root root 0 Май 17 20:54 control srwxrwx--- 1 root root 0 Май 17 20:54 events
Помимо этого есть различные приблуды для руления: на Qt, cgi (на сишке), etc. В общем кто может работать через control - того и слушаем.
Апстрим заложил возможность запуска в 2-х вариантах:
1) сервер - заводится инит скриптом, работает как системный демон.
2) в комплекте скрипт для нетворкманагера - (я юзал NM) подымаем сервак когда подымаем интерфейс.
Собственно вопросы:
1) не могу придумать для генты вменяемый способ запуска - у юзера есть доступ к контролю инит скрипта, т.е опенрц можно запутать на раз.
2) стоит ли пускать от рута демон, или делать юзера? (как пример - sendmail лежит в /usr/sbin, что не мешает юзать его юзеру)
- Для комментирования войдите или зарегистрируйтесь
1) Не понял вопроса,
1) Не понял вопроса, чесслово. Что значит "есть доступ к контролю инит-скрипта"? И почему нельзя просто в postup сделать /etc/init.d/sipw --quiet start, а в postdown /etc/init.d/sipw --quiet stop. Если они уже работают/стоят - то ничего плохого не произойдет. Если же пользователь может выключить/включить демон без init.d - вот это уже плохо.
2) А можно запускать от юзера (прав хватит?)? Если можно - то безусловно лучше от юзера, имхо.
Если же пользователь может
П.С собственно желающие попробовать могут поставить sipwich из риона
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Ну, это замечательно. И что
Ну, это замечательно. И что будет если от юзера сделать
sipwitch restart
? Довольно много демонов имеют подобное управление (включая, кстати, apache), но они обычно либо проверяют права пользователя от которого запускаются (должны - не может же обычный смертный выполнить любую команду на демоне - очевидно нет), либо тупо пытаются выполнить kill/unlink и вылетают с ошибкой доступа.P.S. И я не помню, что произойдет в openrc, если программа остановится сама с 0 кодом. Вроде crashed только для ошибочных кодов.