Ответы:
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
Да, все скрипты и программы напрямую вызываются пользователем root.
/etc/rc.localФайл вызывается непосредственно в процессе инициализации.
sudoперед командами в /etc/rc.local?