Objective c 在OSX密钥链中存储管理员密码,以实现某些流程的自动化?

Objective c 在OSX密钥链中存储管理员密码,以实现某些流程的自动化?,objective-c,cocoa,security,macos,keychain,Objective C,Cocoa,Security,Macos,Keychain,我有一系列需要在登录时运行的命令,其中许多命令需要root权限。因此,为了节省一些步骤,我将它们全部放在一个苹果脚本中,这样我就不必打开终端了 但是,我仍然希望能够在不输入密码的情况下完成这项工作(我喜欢在睡觉的时候早点启动我的机器)。所以我想,为什么不将我的管理员密码存储在密钥链中,让脚本访问该密钥呢 但这感觉不对,将管理员密码存储在keychain中 那么,你的想法是什么?这是给予我的程序许可的一种可接受的方法吗?如果applescript不够安全,我可以用一个简单的cocoa应用程序轻松做

我有一系列需要在登录时运行的命令,其中许多命令需要root权限。因此,为了节省一些步骤,我将它们全部放在一个苹果脚本中,这样我就不必打开终端了

但是,我仍然希望能够在不输入密码的情况下完成这项工作(我喜欢在睡觉的时候早点启动我的机器)。所以我想,为什么不将我的管理员密码存储在密钥链中,让脚本访问该密钥呢

但这感觉不对,将管理员密码存储在keychain中


那么,你的想法是什么?这是给予我的程序许可的一种可接受的方法吗?如果applescript不够安全,我可以用一个简单的cocoa应用程序轻松做到这一点

这是我自己做的。我存储其他计算机的管理员密码,以便使用applescript脚本在局域网上自动装载共享。在我看来,如果钥匙链足够安全,可以保存任何密码,那么它必须足够安全,可以保存所有密码。密码永远不会显示在clear中,因此我看不出有问题


当然,当有人直接访问您的计算机时,总是存在安全风险。如果他们知道存储密码的密钥的名称,并且他们正在从您的管理员帐户访问密钥链,他们可以运行applescript将您的密码从密钥链中提取出来。但是,如果有人有那么多访问权限,那么您的计算机无论如何都是不安全的。

我想这就是为什么我认为键链脚本可能是一个可接受的解决方案。对于某些任务需要root访问权限的应用程序,它们会存储这些权限吗?我当然相信我自己,但我不愿意为第三方应用程序输入密码。