【问题标题】:How to I securely request a required password from an AppleScript?如何安全地从 AppleScript 请求所需的密码?
【发布时间】:2012-07-13 14:29:59
【问题描述】:

我有一个运行 shell 脚本的简单 AppleScript(应用程序):

do shell script "sudo killall -TERM java"

失败并显示“sudo no tty present and no askpass program specified”。

此处所需的行为是拥有 OS X password dialog open(希望提供保存在钥匙串中以供将来使用),但是(我猜)我缺少一个告诉脚本启动的步骤必要的“询问者”(令人惊讶的是,默认情况下不会发生)。

我有tried

do shell script "ssh-askpass Sudo Password | sudo killall -TERM java"

但也会出错。

从 AppleScript 调用 OS X 密码拨号的正确方法是什么?

【问题讨论】:

  • see,一种方法是做do shell script ... with administrator privileges,但这似乎没有使用钥匙串(因此每次运行脚本时都需要密码)。

标签: macos applescript sudo


【解决方案1】:

首选的方法确实是:

do shell script "sudo killall -TERM java" with administrator privileges

正如您所说,这不会让您记住钥匙串中的密码。这是故意的 - 钥匙串旨在让您不必记住服务密码等,而不是破坏本地安全策略(这基本上是您想要做的。

您可以通过使用security 命令来存储和检索密码来伪造它(参见MacScripter 的讨论和示例代码)。您可以使用Tell application "System Events" to display dialog "Password:" default answer "" with hidden answer 提示输入密码,尽管我不知道添加“在钥匙串中记住”复选框的方法。这也引发了一些安全问题,因为我认为没有一种方法可以制定一种安全策略,允许您的脚本在不提示用户确认的情况下访问它,同时也不允许其他脚本进行类似的访问。

【讨论】:

    猜你喜欢
    • 2011-04-29
    • 2014-01-13
    • 1970-01-01
    • 1970-01-01
    • 2018-05-13
    • 2016-04-01
    • 1970-01-01
    • 2010-12-07
    • 2017-06-01
    相关资源
    最近更新 更多