哪个用户运行/etc/rc.local 中定义的命令?

S-K*_*-K' 19 linux startup su sudo

默认情况下/etc/rc.local运行中的命令su吗?
我需要sudo在每个命令之前指定还是su不管它们都会被运行吗?

HBr*_*ijn 21

su不是用户,它的程序是在另一个用户的替代身份下运行后续命令/程序,而不是执行命令的用户。sudo在这方面,它非常相似。

除非指定了另一个用户,否则这两个命令都将默认以root用户的备用身份(超级用户/管理员)运行命令。

su和之间的主要区别在于sudo:

  • su 要求您知道该备用用户的密码,其中
  • sudo将提示输入运行sudo命令的用户的密码并需要设置,以便允许用户运行请求的命令/程序。

(root运行时需要密码su或sudo不需要密码。)


与任何 init 脚本一样,该/etc/rc.local脚本由root用户执行,您无需预先添加su或添加sudo到需要以 root 身份运行的命令/程序。

如果这些命令不需要作为另一个用户/服务帐户执行,您可能仍然需要在 init 脚本中使用su或...sudoroot

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


dmo*_*ati 11

是的,所有的脚本和程序都是root直接调用的。

该/etc/rc.local文件由 init 进程直接调用。