Запуск приложения с sudo при старте системы

Вопрос или проблема

Похоже на: Запуск исполняемого файла с sudo при старте – команда не найдена
Или:
Скрипт запуска с sudo в Ubuntu 16.10
Но ни один из них не работает! А файла rc.local нет в моей системе.

Пробовал запустить приложение: “re-Link” из Программы при старте. Требует привилегий root. Успешно выполнил:

x-terminal-emulator -e sudo re-link

Но это требует ввода пароля, очевидно. Можно ли избежать этого?

Пробовал добавить:

ALL ALL=(root) NOPASSWD: /usr/bin/re-link

В /etc/sudoers и /etc/sudoers.d/<file> с помощью visudo, но ничего не происходит. Все еще требует пароль или отказывается запускаться. В зависимости от того, есть ли sudo в команде или нет.

Использую: Ubuntu 24.04.1 LTS

Ответ или решение

Запуск приложения с правами sudo при старте системы требует тщательной настройки, особенно если ваша цель состоит в том, чтобы избежать запроса пароля. В данной статье мы подробно рассмотрим, как это сделать, основываясь на ваших требованиях и особенностях системы Ubuntu 24.04.1 LTS.

Проблема

Вы столкнулись с несколькими трудностями при запуске приложения "re-Link" с правами суперпользователя на старте системы. Использование sudo в команде запуска с криптографическим элементом "x-terminal-emulator" работает, однако требует ввода пароля, что делает этот подход непрактичным.

Решение

1. Настройка файла sudoers

Для того чтобы ваш скрипт запускался без запроса пароля, необходимо правильно настроить файл sudoers. Вы уже начали этот процесс, но давайте убедимся, что все сделано корректно:

  1. Откройте терминал и выполните команду:

    sudo visudo

    Это откроет редактор конфигурации, который безопасен для редактирования файла sudoers.

  2. Добавьте строку, которая разрешает запуск приложения без запроса пароля:

    ваш_пользователь ALL=(ALL) NOPASSWD: /usr/bin/re-link

    Не забудьте заменить ваш_пользователь на ваше текущее имя пользователя в системе.

  3. Сохраните изменения и выйдите из редактора.

2. Создание скрипта для запуска

Теперь создайте скрипт, который будет вызывать ваше приложение с нужными правами.

  1. Создайте новый файл скрипта:

    nano ~/start_relink.sh
  2. Вставьте в него следующий код:

    #!/bin/bash
    sudo /usr/bin/re-link
  3. Сделайте скрипт исполняемым:

    chmod +x ~/start_relink.sh

3. Настройка автозапуска

Для того чтобы этот скрипт запускался автоматически при старте системы, добавьте его в "Startup Applications":

  1. Откройте меню "Startup Applications" (Программы при запуске).
  2. Нажмите "Add" (Добавить).
  3. В поле "Name" (Имя) введите, например, Запуск re-Link.
  4. В поле "Command" (Команда) укажите путь к вашему скрипту:
    /home/ваш_пользователь/start_relink.sh

    Замените ваш_пользователь на ваше имя пользователя.

  5. Нажмите "Add" (Добавить) и закройте окно.

4. Проверка работоспособности

Перезагрузите систему и проверьте, запустится ли приложение "re-Link" без запроса пароля.

Заключение

Следуя указанным шагам, вы сможете запустить приложение "re-Link" с правами sudo при старте системы, избегая запроса пароля. Убедитесь в корректности настроек и их применении. Если возникнут дополнительные трудности, проверьте логи и возможные ограничения на уровне системы.

Этот подход позволит вам эффективно управлять запуском приложений и оптимизировать работу.

Оцените материал
Добавить комментарий

Капча загружается...