Я пытаюсь сделать пользовательское подключение NFSv4 ноутбука (spigot, 21.10) к серверу (двойка, 20.04 LTS) с помощью Kerberos и по какой-то причине rpc.gssd
не может видеть мой кеш учетных данных. Обратите внимание, что это на 100% проблема на стороне клиента, поскольку сервер NFS уже отлично работает с клиентом Mac.
В моем /etc/fstab
на ноуте у меня есть следующее:
deuce:/home/dorian /net/dorian nfs4 sec=krb5p,soft,user,noauto 0 0
Когда я пытаюсь устанавливать
что как я:
dorian@spigot:~$ mount -t nfs4 -vvvv двойка:/home/dorian
mount.nfs4: тайм-аут установлен на сб 18 декабря 10:41:06 2021
mount.nfs4: попытка текстовых параметров «sec=krb5p,soft,vers=4.2,addr=172.16.0.254,clientaddr=172.16.0.19»
mount.nfs4: mount(2): Отказано в доступе
mount.nfs4: доступ запрещен сервером при монтировании deuce:/home/dorian
rpc.gssd -f -vvv
выдает следующее:
handle_gssd_upcall: 'mech=krb5 uid=0 service=* enctypes=18,17,16,3,1,2' (nfs/clnt12)
krb5_use_machine_creds: uid 0 tgtname (нулевой)
Полное имя хоста для «deuce.office.srs.biz» — «deuce.office.srs.biz».
Полное имя хоста для «spigot» — «spigot».
Файл таблицы ключей «/etc/krb5.keytab» не найден при получении записи keytab для «[email protected]»
Файл таблицы ключей «/etc/krb5.keytab» не найден при получении записи таблицы ключей для «[email protected]»
Файл таблицы ключей «/etc/krb5.keytab» не найден при получении записи keytab для «root/[email protected]»
Файл таблицы ключей «/etc/krb5.keytab» не найден при получении записи keytab для «nfs/[email protected]»
Файл таблицы ключей «/etc/krb5.keytab» не найден при получении записи keytab для «host/[email protected]»
ОШИБКА: файл таблицы ключей «/etc/krb5.keytab» не найден при запуске сканирования таблицы ключей для «ФАЙЛ: /etc/krb5.keytab»
ОШИБКА: файл таблицы ключей «/etc/krb5.keytab» не найден при запуске сканирования таблицы ключей для «ФАЙЛ: /etc/krb5.keytab»
ОШИБКА: файл таблицы ключей «/etc/krb5.keytab» не найден при запуске сканирования таблицы ключей для «ФАЙЛ: /etc/krb5.keytab»
Файл таблицы ключей «/etc/krb5.keytab» не найден при получении записи keytab для «SPIGOT$@»
Файл таблицы ключей «/etc/krb5.keytab» не найден при получении записи keytab для «root/spigot@»
Файл таблицы ключей «/etc/krb5.keytab» не найден при получении записи keytab для «nfs/spigot@»
Файл таблицы ключей «/etc/krb5.keytab» не найден при получении записи keytab для «host/spigot@»
ОШИБКА: файл таблицы ключей «/etc/krb5.keytab» не найден при запуске сканирования таблицы ключей для поиска «ФАЙЛ: /etc/krb5.keytab»
ОШИБКА: файл таблицы ключей «/etc/krb5.keytab» не найден при запуске сканирования таблицы ключей для поиска «ФАЙЛ: /etc/krb5.keytab»
ОШИБКА: файл таблицы ключей «/etc/krb5.keytab» не найден при запуске сканирования таблицы ключей для поиска «ФАЙЛ: /etc/krb5.keytab»
ОШИБКА: gssd_refresh_krb5_machine_credential: в таблице ключей /etc/krb5.keytab не найдено пригодной для использования записи таблицы ключей для соединения с хостом deuce.office.srs.biz
ОШИБКА: Не найдены учетные данные для подключения к серверу deuce.office.srs.biz
делать сброс ошибок
(В основном это нытье об отсутствии keytab; если бы keytab присутствовал, вместо этого он ныл бы о том, что в нем нет принципалов.)
Другими словами, это даже не пытаться для чтения кэша Kerberos. Действительно, это говорит идентификатор пользователя = 0
что имеет смысл, потому что rpc.gssd
действительно запускается от имени root. Но источник gssd_proc.c
предполагает, что это должно передать вызывающему пользователю перед попыткой поиска кэша учетных данных. Однако это не похоже на то, что он действительно делает это. Скорее предполагается получить uid из волшебного файла в том странном rpc_pipefs
смонтировать, и если я strace rpc.gssd -f -vvv
я вижу, что значение в этом файле voodoo RPC равно мех = krb5 uid = 0 сервис = * ¦
, так что все, что должно было установить это для uid моего пользователя, этого не делает.
(Стоит отметить, что на основе источника, что попытка использования субъекта-службы инициируется комбинацией сервис=
присутствует в этом файле pipefs вместе с идентификатор пользователя = 0
.)
Итак, мой вопрос: что отвечает за настройку содержимого этого файла (/run/rpc_pipefs/nfs/$CLIENT/krb5
), и какое заклинание мне нужно произнести, чтобы оно говорило правильно?