集成 kerberos 和钥匙串

tig*_*tig 23 mac kerberos

是否可以kinit向 Keychain 询问密码而不是我?

Mil*_*les 24

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

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

kinit --keychain
# or
kinit --keychain bob@MY.REAL.COM
Run Code Online (Sandbox Code Playgroud)

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


小智 15

实际上这是可能的。假设您在域“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"

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

更多细节与man security.

之后kinit bob@MY.REAL.COM不会提示您输入密码,而是会从钥匙串中获取密码。


sur*_*asb -2

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

您必须编写或让其他人编写一个单独的接口,使用钥匙串服务 API 来存储和访问您的密码。