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.