Який користувач виконує команди, визначені в /etc/rc.local?


13

Чи /etc/rc.localвиконуються команди suза замовчуванням?
Чи потрібно мені конкретизувати sudoперед кожною командою чи вони будуть виконуватись suнезалежно?

Відповіді:


17

suне є користувачем , програма для запуску наступних команд / програм під іншою ідентифікацією іншого користувача, ніж той, що виконує команду. Це дуже схоже на sudoте, що стосується.

Якщо інший користувач не вказаний, обидві команди за замовчуванням виконують команду під альтернативною ідентифікацією rootкористувача, суперпользователя / адміністратора.

Основна відмінність suі sudoполягає в тому, що:

  • su вимагає, щоб ви знали пароль цього альтернативного користувача, де
  • sudoзапропонує sudoввести пароль користувача, який виконує команду, і вимагає налаштування, щоб користувач міг запускати запитувані команди / програми.

(Коли rootзапускається suабо sudoне потрібен пароль.)


Як і будь-який сценарій ініціалізації, то /etc/rc.localскрипт виповнюється rootкористувачем , і вам не потрібно препендом або suабо sudoдо команд / програм , які потрібно запускати з правами адміністратора.

Можливо, вам потрібно буде використовувати suабо sudoу своїх сценаріях init, якщо ці команди потрібно виконувати не якroot інший обліковий запис користувача / послуги ...

su -oracle/do/something/as/oracle/user


Що робити, якщо я вставлю su - user /path/to/script.sh в rc.local, і при пошуку його запрошує мене пароль користувача (і закриває термінал згодом). Як зробити так, щоб він не запитував мене про пароль користувача?
alonso s

10

Так, всі сценарії та програми безпосередньо викликаються коренем.

Викликається /etc/rc.localфайл безпосередньо методом init.


1
Тож нам не потрібно було додавати sudoперед командами /etc/rc.local?
Бенямін Джафарі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.