Answers:
如果它不是bash脚本而是常规应用程序,则应将其所有权授予root用户并在应用程序上设置setuid位。然后,在执行时,应用程序在其下运行的有效用户是root。但是出于安全考虑,在许多系统中,shell脚本均禁止这样做。unix.stackexchange.com上的此问题确实解决了克服此问题的方法。
使用sudo。如果您不想打电话sudo /path/to/myscript
,写一个单行包装器exec sudo /path/to/myscript "$@"
。请参阅在shell脚本上允许setuid,特别是Maciej Piechotka关于使用sudo的答案以及我对setuid程序的更一般的讨论。
sudo
。