Какой пользователь запускает команды, определенные в /etc/rc.local?


13

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

Ответы:


17

suэто не пользователь, это программа для запуска последующих команд / программ под другим идентификатором другого пользователя, чем тот, кто выполняет команду. Это очень похоже на sudoэто.

Если не указан другой пользователь, обе команды по умолчанию будут запускать команду под другим именем rootпользователя, суперпользователя / администратора.

Основное различие между suи sudoзаключается в том, что:

  • su требует, чтобы вы знали пароль этого альтернативного пользователя, где
  • sudosudoзапросит пароль пользователя, выполняющего команду, и требует настройки, чтобы пользователю было разрешено запускать запрошенные команды / программы.

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


Как и любой сценарий инициализации, то /etc/rc.localскрипт исполняется rootпользователем , и вам не нужно препендом либо suили sudoк командам / программ , которые нужно запускать с правами администратора.

Возможно, вам все еще придется использовать suили sudoв ваших сценариях инициализации, если эти команды должны выполняться не какroot другая учетная запись пользователя / службы ...

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


Что мне делать, если я помещаю su - user /path/to/script.sh в rc.local, и при поиске он запрашивает пароль пользователя (и впоследствии закрывает терминал). Как мне сделать так, чтобы он не спрашивал у меня пароль пользователя?
Алонсо с

10

Да, все скрипты и программы напрямую вызываются пользователем root.

/etc/rc.localФайл вызывается непосредственно в процессе инициализации.


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