Mount.cifs mit krb5 schlägt fehl, während smbclient mit demselben krb5-Ticket funktioniert

Mount.cifs mit krb5 schlägt fehl, während smbclient mit demselben krb5-Ticket funktioniert

Wir müssen imitierte krb5-Tickets (TGS) mithilfe der S4U2Proxy-Erweiterung generieren. Die Tickets werden erfolgreich erstellt und wir können sie beispielsweise problemlos mit smbclient verwenden. Tatsächlich müssen wir sie jedoch mit mount.cifs oder mount.nfs verwenden, was jedoch nicht funktioniert.

Beim Ausführen von Kinit (was bedeutet, ein TGT zu haben) funktioniert das Mounten ohne Probleme.

Erfordert mount oder die zugrunde liegenden Funktionen ein TGT? (Smbclient offensichtlich nicht). Und wenn nicht: Gibt es spezielle Anforderungen für ein von mount verwendetes krb5-Ticket?

Hier ist die Fehlermeldung:

mount error(126): Required key not available

Ich denke, dies ist die wichtigste Ausgabe von dmesg (siehe vollständige Ausgabe unten):

cifs_spnego.c: key description = ver=0x2;host=file.mydomain.local;ip4=10.211.55.28;sec=krb5;uid=0x0;creduid=0x3e8;user=jdoe;pid=0x289a

CIFS VFS: Send error in SessSetup = -126

Ubuntu 18.04, Kernelversion 4.15.0-66-generic

kListe:

Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: [email protected]

Valid starting     Expires            Service principal
11/10/19 06:23:34  11/10/19 16:23:34  cifs/[email protected]
    renew until 11/11/19 06:23:34

Verwendeter Mount-Befehl:

sudo mount -t cifs -o username=jdoe,domain=mydomain.local,sec=krb5,cruid=1000 //file.mydomain.local/share1 /mnt

Vollständige dmesg-Ausgabe:

connect.c: Username: jdoe
connect.c: file mode: 0x1ed  dir mode: 0x1ed
connect.c: CIFS VFS: in cifs_mount as Xid: 182 with uid: 0
connect.c: UNC: \\file.mydomain.local\share1
connect.c: Socket created
connect.c: sndbuf 16384 rcvbuf 87380 rcvtimeo 0x6d6
fscache.c: cifs_fscache_get_client_cookie: (0x00000000dabd1b06/0x00000000d1987345)
connect.c: CIFS VFS: in cifs_get_smb_ses as Xid: 183 with uid: 0
connect.c: Existing smb sess not found
smb2pdu.c: Negotiate protocol
transport.c: Sending smb: smb_len=106
connect.c: Demultiplex PID: 10396
connect.c: RFC1002 header 0xf8
smb2misc.c: smb2_check_message length: 0xfc, smb_buf_length: 0xf8
smb2misc.c: SMB2 data length 120 offset 128
smb2misc.c: SMB2 len 252
transport.c: cifs_sync_mid_result: cmd=0 mid=0 state=4
misc.c: Null buffer passed to cifs_small_buf_release
smb2pdu.c: mode 0x1
smb2pdu.c: negotiated smb3.02 dialect
asn1.c: OID len = 10 oid = 0x1 0x3 0x6 0x1
asn1.c: OID len = 7 oid = 0x1 0x2 0x348 0xbb92
asn1.c: OID len = 7 oid = 0x1 0x2 0x348 0x1bb92
asn1.c: OID len = 8 oid = 0x1 0x2 0x348 0x1bb92
asn1.c: OID len = 10 oid = 0x1 0x3 0x6 0x1
connect.c: Security Mode: 0x1 Capabilities: 0x300067 TimeAdjust: 0
smb2pdu.c: Session Setup
smb2pdu.c: sess setup type 5
cifs_spnego.c: key description = ver=0x2;host=file.mydomain.local;ip4=10.211.55.28;sec=krb5;uid=0x0;creduid=0x3e8;user=jdoe;pid=0x289a
CIFS VFS: Send error in SessSetup = -126
connect.c: CIFS VFS: leaving cifs_get_smb_ses (xid = 183) rc = -126
fscache.c: cifs_fscache_release_client_cookie: (0x00000000dabd1b06/0x00000000d1987345)
connect.c: CIFS VFS: leaving cifs_mount (xid = 182) rc = -126

Antwort1

Ja, Keyutils sind installiert. Mittlerweile haben wir herausgefunden, dass "mount" einen entsprechenden Eintrag in der Keytab-Datei benötigt, der auf Kerberos verweist.

verwandte Informationen