macos - 绕过图形管理员密码打开 OSX 应用程序命令行解决方案

标签 macos bash applescript automator

我制作了一个自动化应用程序,它运行几个脚本(并且不使用任何 GUI,但由于我使用 with administrator privileges ,它正在打开一个 GUI 以获取管理员密码)。主脚本使用

启动

do shell script (quoted form of myCommand) with administrator privileges

因此,在执行应用程序时,会出现图形化的管理员密码提示。

我试图在通过 bash 安装后自动执行该应用程序,并且想知道如何绕过 GUI 密码提示;我正在寻找一种通过 bash 执行应用程序并以静默方式运行它的方法(无 GUI,无密码提示)。

因为with administrator privileges所有常见的

sudo open -a /Application/appname.app &

sudo osascript -e 'tell app id "com.app.bundleid"' -e activate -e end

即使以 root 身份运行,仍然会出现 GUI 密码提示。

有什么方法可以打开一个通过 OSX 的 bash 提供 GUI 密码提示的应用程序吗?或者有没有更好的方法我应该执行主脚本而不是 do shell script (quoted form of myCommand) with administrator privileges

最佳答案

如果已启用对辅助设备的访问,您可以使用 GUI 脚本与密码对话框交互:

tell application "System Events" to tell process "SecurityAgent"
    set value of text field 2 of scroll area 1 of group 1 of window 1 to "pa55word"
    click button 2 of group 2 of window 1
end tell
osascript -e 'do shell script "ls ~root" with administrator privileges' &
sleep 1
osascript -e 'tell application "System Events" to tell process "SecurityAgent"
    set value of text field 2 of scroll area 1 of group 1 of window 1 to "pa55word"
    click button 2 of group 2 of window 1
end tell'

通常,例如 sudo open -a Finder 不会以 root 身份打开 Finder,但 sudo/System/Library/CoreServices/Finder.app/Contents/MacOS/Finder 是的。

关于macos - 绕过图形管理员密码打开 OSX 应用程序命令行解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18621015/

相关文章:

java - 类 JavaLaunchHelper 在两个地方实现

macos - Brew 无法链接 postgresql OSX Yosemite

c - 获取网络接口(interface)索引

bash - 针对数组的每个元素测试字符串

bash - LIBTOOL 尝试编译 GMP 时失败

firefox - 通过 Applescript 在 Firefox 中的当前选项卡中打开 URL

swift - CIImage内存未释放

javascript - 在 AppleScript 和 JavaScript 中循环列表

swift - 通过 NSAppleScript 编写 iTunes 脚本的沙盒权限

bash - 为什么对 REST 服务的 bash/CURL 调用会给出与参数不一致的结果?