Можно ли заставить kinit
запрашивать пароль у Keychain, а не у меня?
3 ответа
kinit
в Mac OS X теперь (начиная с 10.9, возможно, ранее) имеет встроенную поддержку сохранения пароля в цепочке для ключей через аргумент --keychain
, выполняя то же самое, что и ответ Павла .
Аутентифицировать используя kinit --keychain
; пароль будет сохранен после успешной аутентификации:
kinit --keychain
# or
kinit --keychain bob@MY.REAL.COM
Последующие kinit
вызовы (которые не требует --keychain
аргумента) автоматически получат сохраненный пароль от брелки вместо предлагающего ввести его.
На самом деле это возможно. Допустим, у вас есть учетная запись "bob" в области «MY.REAL.COM» с паролем "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 bob@MY.REAL.COM
не будет запрашивать пароль, а получит его из цепочки для ключей.
Только с кинитом это невозможно.
Вам придется написать или попросить кого-то написать отдельный интерфейс, который использует API-интерфейс Keychain Services для хранения и доступа к вашим паролям.