Ubuntu - запустіть команду під час запуску за допомогою “sudo”


91

Я хотів би запустити sudoкоманду під час запуску Ubuntu (до того, як хтось увійде в систему):

sudo searchd

Як би я це зробив?

Відповіді:


195

Ви можете додати команду в /etc/rc.localскрипт, яка виконується в кінці запуску.

Напишіть команду раніше exit 0. Все, що написано після exit 0, ніколи не буде виконано.


38
Раніше, точно. Все, що написано після exit 0, ніколи не буде виконано.
Didier Trosset

Привіт, у мене також є команда rvmsudo, яка буде виконана в тій же ситуації. команда зазвичай запитує пароль. Чи будуть якісь проблеми, якщо я розміщу команду безпосередньо в /etc/rc.local?
ravi1991

@fmonegaglia Це залежить. Якщо ви хочете, щоб команда була запущена, і сценарій чекає її закінчення, перш ніж переходити до наступної команди сценарію, тоді ні &. Якщо ви хочете, щоб була запущена наступна команда, навіть якщо поточна не завершена, додайте &.
Didier Trosset

@NoOne Перевірте права доступу до цього файлу для поточного користувача. Запуск команди редактора з sudo може зробити трюк.
Didier Trosset

1
Звичайно, це існує, і так, я встановив виконуваний біт. При спробі увімкнути послугу, я отримую лише The unit files have no installation config (WantedBy, RequiredBy, Also, Alias settings in the [Install] section, and DefaultInstance for template units) […].будь-яку пораду з цього приводу?
oarfish

9

Відредагуйте конфігурацію tty /etc/init/tty*.confза допомогою командної оболонки як параметра:

(...)
exec /sbin/getty -n -l  theInputScript.sh -8 38400 tty1
(...)

Це припускає, що ми редагуємо tty1, а сценарій, який читає введення, - це InputScript.sh.

Слово попередження, що цей скрипт запускається як root, тож, коли ви вводите в нього матеріали, у вас є root права. Також додайте шлях до місця розташування сценарію.

Важливо: сценарій, коли він закінчується, повинен викликати / sbin / login, інакше ви не зможете ввійти в термінал.


1
ця відповідь була для мене дуже корисною при
розробці

0

Приємні відповіді. Ви також можете встановити завдання (тобто команди) за допомогою " Crontab " для більшої гнучкості (що надає різні параметри для запуску сценаріїв, реєстрації виходів тощо), хоча для розуміння та правильного встановлення потрібно більше часу:

За допомогою '@reboot' ви можете запустити команду один раз під час запуску.

Загортання : біжи$ sudo crontab -e -u root

І додайте рядок у кінці файлу за допомогою своєї команди наступним чином:

@reboot sudo searchd
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.