Команды /etc/rc.local
запускаются su
по умолчанию?
Нужно ли sudo
указывать перед каждой командой или они будут выполняться su
независимо?
su
это не пользователь, это программа для запуска последующих команд / программ под другим идентификатором другого пользователя, чем тот, кто выполняет команду. Это очень похоже на sudo
это.
Если не указан другой пользователь, обе команды по умолчанию будут запускать команду под другим именем root
пользователя, суперпользователя / администратора.
Основное различие между su
и sudo
заключается в том, что:
su
требует, чтобы вы знали пароль этого альтернативного пользователя, гдеsudo
sudo
запросит пароль пользователя, выполняющего команду, и требует настройки, чтобы пользователю было разрешено запускать запрошенные команды / программы.(Когда 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
?