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

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

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

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

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

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

  • В чем разница между «su -» и «su root»?
  • Как правильно включить sudo для пользователя в Fedora 20
  • Поиск пароля root
  • Начать Vim как мой пользователь с привилегиями root
  • Запретить изменение пароля root в ldap - debian
  • root может войти только в режиме ограничения доступа
  • Безопасны ли sudo и gksudo?
  • Понимание нескольких моментов в отношении прав root
  • 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 и изменить систему запуска службы.

    Interesting Posts

    Как сохранить файлы .d после компиляции ядра?

    Различные выходы на разные терминалы в Ubuntu

    проблема с 256-битными цветовыми кодами в командной строке bash

    Настройка пользователя для доступа sftp в подкаталог другого домашнего каталога пользователей

    не повлияет ли когда-либо изменение аффинности на потоки ядра Linux отрицательно на общую производительность?

    Что значит установить ядро?

    Проблема Systemd для запуска приложения

    Как подождать, пока все порожденные и фоновые процессы закончатся в сценарии bash

    Может сохранить историю команд стрелки для ох-my-zsh сузить историю по параметрам / параметрам, указанным в команде

    Чтение FreeBSD UFS отформатированного внешнего диска в Mac OS X

    Обнаружение шаблона в конце строки с помощью grep

    Получение лучшего разрешения с использованием X на OpenBSD с VMWare Fusion

    Случайно Цикл Различные обои на каждом мониторе

    Почему Centos apache httpd-2.2.3 rpm удаляет подключенный apr, apr-util, pcre?

    Как использовать VPN с групповой защитой и аппаратным токеном?

    Linux и Unix - лучшая ОС в мире.