Выбор способа запуска софтины

Добрый день.

Есть прога ( конкретно - пакет 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) А можно запускать от юзера (прав хватит?)? Если можно - то безусловно лучше от юзера, имхо.

Если же пользователь может

Если же пользователь может выключить/включить демон без init.d - вот это уже плохо.
slep@nout /var/run $ id
uid=1000(slep) gid=1000(slep) группы=1000(slep),7(lp),10(wheel),16(cron),18(audio),19(cdrom),20(dialout),27(video),35(games),100(users),101(haldaemon),102(polkituser),105(netdev),106(lpadmin),120(messagebus),121(kvm),122(crontab),250(portage),997(vboxusers),998(qemu),999(plugdev)
slep@nout /var/run $ sipwitch
usage: sipwitch command
Commands:
  abort                    Force daemon abort
  activate <ext> <ipaddr>  Assign registration
  address <ipaddr>         Set public ip address
  calls                    List active calls on server
  check                    Server deadlock check
  concurrency <level>      Server concurrency level
  digest id [realm [type]] Compute a digest
  down                     Shut down server
  drop <user|callid>       Drop an active call
  dump                     Dump server configuration
  events                   Display server events
  history [bufsize]        Set buffer or dump error log
  ifup <iface>             Notify interface came up
  ifdown <iface>           Notify interface went down
  message <ext> <text>     Send text message to extension
  period <interval>        Collect periodic statistics
  pstats                   Dump periodic statistics
  realm [text [digest]]    Show or set new server realm
  registry                 Dump registry
  release <ext>            Release registration
  reload                   Reload configuration
  restart                  Server restart
  siplog                   Dump sip log when tracing
  snapshot                 Server snapshot
  stats                    Dump server statistics
  state <selection>        Change server state
  status                   Dump status string
  trace <on|off|clear>     Set sip message tracing
  verbose <level>          Server verbose logging level
Report bugs to 

П.С собственно желающие попробовать могут поставить 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 только для ошибочных кодов.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".