如何在Apple Script中运行admin shell脚本时覆盖要求身份验证?

use*_*356 4 terminal applescript administrator

我想制作一个简单的程序,每次在UI后面登录时运行.在我的AppleScript中,我正在运行一个需要管理员身份验证的sudo命令.有没有办法在每次运行时覆盖身份验证的需要?每次登录后运行此脚本时,我都不想输入用户名和密码.任何帮助?(而且非常简单,因为我是新手.)非常感谢!

reg*_*633 6

您可以将您的用户名和密码放在applescript命令中,这样它就不会要求提供这些凭据.但请注意,这些项目以明文形式存储在AppleScript中,因此其他人可以查看它们.这不是很安全,但由您来决定它是否安全.注意:您不再需要命令中的"sudo".

do shell script "whatever" user name "username" password "password" with administrator privileges
Run Code Online (Sandbox Code Playgroud)

有一些方法可以将密码存储在Keychain中,并从AppleScript中检索,从而使其安全.如果您想这样做,那么您可以按如下方式创建密码项.

打开Keychain Access应用程序,然后在左栏中选择钥匙串.然后单击文件>新密码项...,为其命名,将您的帐户短名称放入帐户,然后输入密码.在密码列表中突出显示它并获取有关它的信息.在"属性"按钮下,输入其类型作为通用键.之所以选择它是因为它们并不多,搜索速度也快得多.您提供给它的名称必须放在"您的密码名称"下面的代码中.

现在从applescript你可以像这样使用它...

set myPass to getPW()

do shell script "whatever" user name "username" password myPass with administrator privileges

on getPW()
    do shell script "security 2>&1 >/dev/null find-generic-password -gl \"Your Password Name\" | awk '{print $2}'"
    return (text 2 thru -2 of result)
end getPW
Run Code Online (Sandbox Code Playgroud)

祝好运!

  • 您的方案假定一个人已经登录到计算机并且为此他必须已经拥有密码. (2认同)