我正在尝试使用 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 身份运行应用程序而不要求输入密码?