Я устанавливаю собственное приложение на машине Ubuntu.
Мой путь установки приложения: -
/usr/local/myapp
Примечание: Мое приложение создаст некоторую папку и файлы под / tmp для обработки во время запуска приложения.
После того, как я вошел в систему Ubuntu, я хочу начать, как показано ниже, без использования sudo
service myapp start
Как я могу достичь этого?
Отредактируйте файл sudoers с помощью sudo visudo и добавьте строку
USER ALL = NOPASSWD: /usr/sbin/service /usr/local/myapp *
Тогда вам не нужно вводить пароль для этой конкретной команды.
Другая возможность: Создайте скрипт, который включает запуск службы, установите бит suid для скрипта и сделайте его принадлежащим root (sudo chown root /usr/local/bin/startMyappService).
Остерегайтесь подводных камней безопасности! У такого файла не должно быть прав на запись никому! Используйте абсолютные пути. Всегда думайте дважды, что вы делаете!
Отредактируйте файл sudoers с помощью sudo visudo и добавьте строку
USER ALL = NOPASSWD: /usr/sbin/service /usr/local/myapp *
Тогда вам не нужно вводить пароль для этой конкретной команды.
Другая возможность: Создайте скрипт, который включает запуск службы, установите бит suid для скрипта и сделайте его принадлежащим root (sudo chown root /usr/local/bin/startMyappService).
Остерегайтесь подводных камней безопасности! У такого файла не должно быть прав на запись никому! Используйте абсолютные пути. Всегда думайте дважды, что вы делаете!