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