使用 Apple Script 以 root 身份运行应用程序?

使用 Apple Script 以 root 身份运行应用程序?

我正在尝试使用 Apple Script 以 root 身份运行应用程序,而无需始终要求输入密码。我使用了以下 Apple Script 代码:

do shell script "/Applications/MyApp.app" user name "<username>" password "<password>" with administrator privileges

这虽然有效,但会使 Apple Script 继续运行而不关闭。不仅如此,使用此 Apple Script 运行的应用程序会卡住,除非重新启动 macOS,否则无法关闭。即使强制退出也不起作用。

我也尝试过这个方法,

我创建了另一个脚本,可以允许应用程序以 root 身份运行而无需输入密码。代码如下,

set sudoersFilePath to "/etc/sudoers"
set newEntry to "username ALL=(ALL) NOPASSWD: /Applications/MyApp.app"

do shell script "echo " & quoted form of newEntry & " | sudo tee -a " & sudoersFilePath with administrator privileges

上述脚本在文件中添加了一行sudoers。你可以使用以下命令从终端访问此文件,

sudo visudo

这将列出列表中所有不需要始终输入密码的文件。在sudoers文件中,它添加了一行以授予 macOS 用户完全 root 访问权限。此文件包含所需的应用程序,但它未以 root 身份运行。

那么,如何使用 Apple Script 或任何其他方法以 root 身份运行应用程序而不要求输入密码?

相关内容