如何以特定用户身份从 inittab 启动进程?

如何以特定用户身份从 inittab 启动进程?

我想确保服务器重启后立即启动一个进程。我在文件中添加了以下行/etc/inittab

abc::boot:/xxxxxx/bin/startup.sh

但是我也需要这个来从某个用户开始wasadmin。我怎样才能将它添加到上面的行中?

答案1

su -csudo是两个以不同用户身份运行某些操作的常见命令。它们是有点不同主要的区别在于他们要求的密码是什么。

来自的条目/etc/inittab由 运行,并且在以 身份运行时root通常既不需要密码su也不需要密码,因此以下可能性几乎等效(选择一个):sudoroot

abc::boot:su -c '/xxxxxx/bin/startup.sh' wasadmin
abc::boot:sudo -u wasadmin /xxxxxx/bin/startup.sh

笔记:

  • 由于即使对于用户来说sudo,访问也可能受到限制(在/etc/sudoersroot(尽管我发现这种情况并不常见),所以使用的方法su似乎更好一些。
  • 您可能想要(需要?)使用完整路径su(或sudo)。

相关内容