я создал keytab
файл в домашнем каталоге пользователя $HOME/client.keytab
. Файл кэша проверки подлинности находится в папке по умолчанию /tmp/krb5cc_%U
(где %U-UID). Теперь у меня есть этот простой systemd
unit
файл для запуска сервиса и получения ключей аутентификации:
[Unit]
Description=Initializes, caches and renews Kerberos tickets for user
After=default.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/usr/bin/kdestroy -q -c /tmp/krb5cc_%U
ExecStart=/usr/bin/kinit -V -l 30d -r 365d -k -t %h/client.keytab -c /tmp/krb5cc_%U %i@EXAMPLE.COM
ExecStartPost=/usr/bin/krenew -b -K 60 -k /tmp/krb5cc_%U
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=KerberosTicketing
[Install]
WantedBy=default.target
это работает отлично, и создает и хранит билеты проверки подлинности Kerberos, если After
указывает на default.target
. Впрочем, почему default.target
? Это довольно поздно в процессе загрузки. Я бы предпочел она работала в multi-user.target
, так что я могу использовать сгенерированные билеты для монтирования удаленных файловых систем с серверов, которые не принимают публичную/частную аутентификацию.
EDIT: если After
ничего, кроме default.target
или позже, kinit
выдает ошибку kinit: Cannot find KDC for realm "EXAMPLE.COM" while getting initial credentials
.
я в основном пытаюсь сделать это:sshfs автоматически монтируется через FSTAB с помощью Kerberos (GSSAPI).