![如何在不使用 su 或 sudo 的情况下以 root 权限运行程序](https://linux22.com/image/48263/%E5%A6%82%E4%BD%95%E5%9C%A8%E4%B8%8D%E4%BD%BF%E7%94%A8%20su%20%E6%88%96%20sudo%20%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E4%BB%A5%20root%20%E6%9D%83%E9%99%90%E8%BF%90%E8%A1%8C%E7%A8%8B%E5%BA%8F.png)
答案1
如果它不是 bash 脚本而是常规应用程序,您可以将其所有权授予 root 并在应用程序上设置 setuid 位。然后在执行时,应用程序运行的有效用户是 root。然而,出于安全考虑,这在许多系统中是禁止 shell 脚本执行的。这个问题unix.stackexchange.com 上确实处理了如何克服这个问题的方法。
答案2
使用须藤。如果您不想调用sudo /path/to/myscript
,请编写一个单行包装器exec sudo /path/to/myscript "$@"
。看允许在 shell 脚本上设置 setuid, 特别Maciej Piechotka 关于使用 sudo 的回答和我对 setuid 程序的更一般性讨论。