Я создал файл 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
, чтобы я мог использовать сгенерированные заявки для монтирования удаленных файловых систем с серверов, которые не принимают публичную / частную аутентификацию.
РЕДАКТИРОВАТЬ: Если значение « After
отличается от default.target
или более поздней, kinit
завершается с ошибкой kinit: Cannot find KDC for realm "EXAMPLE.COM" while getting initial credentials
.
Я в основном пытаюсь сделать это: SSHFS автомонтирование через FSTAB с использованием Kerberos (GSSAPI).