Пусть пользователи создают свои собственные демоны

Как разрешить пользователям сервера создавать собственные демоны? Они должны автоматически запускаться при загрузке, иначе они будут вести себя как обычные демоны, но с более низкими привилегиями.

Я помню, что видел инструмент, который позволяет пользователю создать файл в формате, подобном crontab, с его пожеланиями. Инструмент гарантировал, что программы из файла будут работать в любое время . Но теперь просто не мог найти его имя.

nohup ./app & just does not cut, потому что он не будет автозапуском, и приложение не перезапустится автоматически. То же, что @reboot в crontab пользователя.

Дело в том, что я не хочу изобретать велосипед. Если есть что-то, что делает то, что я хочу в полном объеме, я бы использовал его. И только если ничего не будет, я вернусь к ручному подходу.

(Я использую стабилизатор Debian, поэтому, насколько я понимаю, у меня пока нет системы.)

2 Solutions collect form web for “Пусть пользователи создают свои собственные демоны”

Убедитесь, что домашние каталоги для пользователей доступны раньше (до начала cron) и сделайте запись в crontab:

 @reboot /home/username/bin/start_at_boot 

Это стандартная функция демона cron, который должен находиться в вашей системе Debian.

Сценарий start_at_boot script может запускать демоны пользователей напрямую или запускать инструмент, который управляет и наблюдает за демонами пользователей (конфигурация которых может находиться под контролем отдельного пользователя). Я использовал несколько пакетов для этого, например, для компилятора, который поставляется с mongrel2 . Но теперь, как правило, используют супервизор (находясь в python, это упрощает понимание и расширяется, когда возникает необходимость в этом).

Для другого планирования (или ношения дремлющего демона в действие) пользователи могут делать обычные записи в своем собственном crontab.

Если вы находитесь на systemd, это тривиально, потому что systemd не требует формализма fork / exec / pidfile. Вы просто создаете файл службы, и системаd заботится о запуске процесса, перезапуске аварийного экземпляра и так далее. Вы также можете легко разрешить пользователям создавать свои собственные служебные файлы (или даже запускать их не как root, а как их собственный пользователь – если это так или иначе полезно).

В системных V-скриптах наиболее стандартным способом является их запуск в /etc/rc.local . Автоматический перезапуск обычно не работает даже для системных демонов! Однако вы могли написать оболочку оболочки, которая запускает процесс в цикле (возможно, со сном 1, чтобы избежать проблем с постоянно провальными процессами). Однако в этой системе у вас очень мало контроля над отдельными демонами.

Вы также можете просто создать initscripts и поместить их в специальный доступный пользователю каталог в rc.d и изменить систему запуска службы.

  • Сканирование Bluetooth LE как non root?
  • Как правильно включить sudo для пользователя в Fedora 20
  • Как работает sudo?
  • Программное обеспечение, такое как Iceweasel и LibreOffice, не будет работать без root / sudo
  • Получение привилегий root в ШОС
  • debian 8.2 больше не может su root
  • Как написать скрипт bash, который отправляет графическое уведомление всем X-дисплеям пользователей?
  • Предотвращать запуск определенных строк скрипта как root
  • Скрипт для временного удаления прав администратора
  • / Библиотека: операция не разрешена при входе в систему как пользователь root
  • Можно ли создать стандартного пользователя, который не может получить доступ к корню NO?
  • Не удается войти в систему с помощью пользователя root в Kali 2.0 Sana после обновления
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.