@MrMiller

Как перезапустить службу без ввода пароля?

Есть служба:
[Unit]
Description=Example .NET Web API App running on Ubuntu

[Service]
WorkingDirectory=<Путь к приложению>
ExecStart=/usr/bin/dotnet <Путь к приложению><Название>.dll
Restart=always
# Restart service after 10 seconds if the dotnet service crashes:
RestartSec=10
SyslogIdentifier=dotnet-example
User=<Пользователь>
Environment=ASPNETCORE_ENVIRONMENT=Production
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false

[Install]
WantedBy=multi-user.target

я залогинен в системе под этим же пользователем, но тварь все равно требует пароль, как это можно обойти в bash скрипте?
  • Вопрос задан
  • 2608 просмотров
Решения вопроса 2
chupasaurus
@chupasaurus
Сею рефлекторное, злое, временное
Раз уж Алексей Черемисин не сподобился.
В /etc/sudoers добавить строчку:
<username> ALL=(ALL) NOPASSWD: /bin/systemctl restart <service_name>
Ответ написан
Комментировать
leahch
@leahch Куратор тега Linux
3D специалист. Dолго, Dорого, Dерьмово.
Через sudo. Конкретному пользователю разрешаете конкретные команды без ввода ралоля... Если дождетесь, через пол часика даже скину понфиг. Скидываю..
Добавляем в /etc/sudoers следующие строки
jenkins ALL=(ALL) NOPASSWD: /bin/systemctl * myapp-backend-dev
jenkins ALL=(ALL) NOPASSWD: /bin/systemctl * myapp-frontend-dev

Где jenkins - наш пользователь, а /bin/systemctl * myapp-backend-dev -команды которые ему можно без пароля вводить, звездочка означает все что угодно.
Соответственно, теперь пользователь jenkins может остановить и запустить бекэнд и фронтэнд, выдав команду типа sudo /bin/systemctl restart myapp-backend-dev
PS... chupasaurus, я таки доехал до работы, извиняйте.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы