Вопрос или проблема
Похоже на: Запуск исполняемого файла с 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. Вы уже начали этот процесс, но давайте убедимся, что все сделано корректно:
-
Откройте терминал и выполните команду:
sudo visudo
Это откроет редактор конфигурации, который безопасен для редактирования файла sudoers.
-
Добавьте строку, которая разрешает запуск приложения без запроса пароля:
ваш_пользователь ALL=(ALL) NOPASSWD: /usr/bin/re-link
Не забудьте заменить
ваш_пользователь
на ваше текущее имя пользователя в системе. -
Сохраните изменения и выйдите из редактора.
2. Создание скрипта для запуска
Теперь создайте скрипт, который будет вызывать ваше приложение с нужными правами.
-
Создайте новый файл скрипта:
nano ~/start_relink.sh
-
Вставьте в него следующий код:
#!/bin/bash sudo /usr/bin/re-link
-
Сделайте скрипт исполняемым:
chmod +x ~/start_relink.sh
3. Настройка автозапуска
Для того чтобы этот скрипт запускался автоматически при старте системы, добавьте его в "Startup Applications":
- Откройте меню "Startup Applications" (Программы при запуске).
- Нажмите "Add" (Добавить).
- В поле "Name" (Имя) введите, например,
Запуск re-Link
. - В поле "Command" (Команда) укажите путь к вашему скрипту:
/home/ваш_пользователь/start_relink.sh
Замените
ваш_пользователь
на ваше имя пользователя. - Нажмите "Add" (Добавить) и закройте окно.
4. Проверка работоспособности
Перезагрузите систему и проверьте, запустится ли приложение "re-Link" без запроса пароля.
Заключение
Следуя указанным шагам, вы сможете запустить приложение "re-Link" с правами sudo при старте системы, избегая запроса пароля. Убедитесь в корректности настроек и их применении. Если возникнут дополнительные трудности, проверьте логи и возможные ограничения на уровне системы.
Этот подход позволит вам эффективно управлять запуском приложений и оптимизировать работу.