集成 Kerberos 和 Keychain

集成 Kerberos 和 Keychain

可以让kinitKeychain 询问密码而不是我吗?

答案1

kinit现在,Mac OS X(从 10.9 开始,可能更早)已经内置支持通过参数将密码保存到钥匙串--keychain,完成与保罗的回答相同的事情。

使用 进行身份验证kinit --keychain;身份验证成功后密码将被保存:

kinit --keychain
# or
kinit --keychain [email protected]

后续kinit调用(不需要参数--keychain)将自动从钥匙串中获取保存的密码,而不是提示您输入密码。

答案2

其实是可以的。假设您在域“MY.REAL.COM”上有一个帐户“bob”,密码为“mypasswd”。然后在终端中输入一行

security add-generic-password -a "bob" -l "MY.REAL.COM (bob)" -s "MY.REALM.COM" -w "mypasswd" -c "aapl" -T "/usr/bin/kinit"

这将在您的默认钥匙串中创建一个名为“MY.REALM.COM (bob)”的项目,其中包含您的 Kerberos 凭据,并且 kinit 将被授权访问它。您可以-T "/fulpath/program"根据需要添加任意数量的开关,每个开关都将授予特定程序使用您的 kerberos 凭据的访问权限。例如,-T "/Applications/Mail.app/Contents/MacOS/Mail"将添加对 Mail.app 的访问权限。

更多详情请参阅man security

此后将不再提示您输入密码,而是从钥匙串中获取密码。kinit [email protected]

答案3

仅使用 kinit,这是不可能的。

您必须编写或让其他人编写一个单独的界面,使用 Keychain Services API 来存储和访问您的密码。

相关内容