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


13

在命令/etc/rc.local通过RAN su默认?
我是否需要sudo在每个命令之前指定具体内容,还是su无论如何都要运行它们?

Answers:


17

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

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

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

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

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


像任何初始化脚本,该/etc/rc.local脚本由执行root用户,你不需要任何前置susudo到命令/程序,需要以root身份运行。

如果那些命令不是以另一个用户/服务帐户的身份执行,则可能仍需要使用init脚本susudo在init脚本中...root

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


如果我将su-用户/path/to/script.sh放在rc.local中,该怎么办,并且在采购时会提示我输入用户密码(然后关闭终端)。如何不要求我输入用户密码?
alonso s

10

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

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


1
因此,我们不需要sudo/etc/rc.local?中添加命令。
本雅明·贾法里
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.