1

TL; DR Я хочу заставить mount.cifs (или smbclient) использовать определенный тикет (например, cifs/server@DOMAIN2 вместо cifs/server@DOMAIN).

Длинная история

У меня есть два сервера smb (оба являются окнами): server-a и server-b . У меня нет проблем с подключением общего ресурса с server-a:

$ sudo mount -t cifs //server-a.domain-a/share /mnt/a -o "sec=krb5,cruid=$UID"
# uses cifs/server-a@DOMAIN-A

Однако попытка смонтировать общий ресурс с server-b приводит к ошибке (выделено мое после sudo smbclient...):

$ sudo mount -t cifs //server-b.domain-b/share /mnt/b -o "sec=krb5,cruid=$UID"
mount error(126): Required key not available
$ sudo dmesg|tail
[7267002.391319] CIFS VFS: Send error in SessSetup = -126
[7267002.391504] CIFS VFS: cifs_mount failed w/return code = -126
$ sudo smbclient //server-b.domain-b/share
ads_krb5_mk_req: smb_krb5_get_credentials failed for **cifs/server-b.domain-b@DOMAIN-A** (Server not found in Kerberos database) <- note wrong domain
cli_session_setup_kerberos: spnego_gen_krb5_negTokenInit failed: Server not found in Kerberos database
session setup failed: SUCCESS - 0
$ klist |grep "Default principal"
Default principal: user@DOMAIN-A

Мой диагноз

mount.cifs по ошибке использует DOMAIN-A (мой основной домен) вместо DOMAIN-B . Следовательно, я хочу заставить его использовать правильный билет.

  1. Могу ли я заставить mount.cifs или smbclient использовать определенный тикет? Если так, то как?
  2. Каковы правила выбора билетов в mount.cifs / smbclient?
  3. Как я могу проверить, какой билет используется для подключения?

0