NFSv4 mit Kerberos: Permission Denied, Segmentation fault auf Server

Probleme mit Samba, NFS, FTP und Co.
Antworten
Standardb
Beiträge: 1
Registriert: 04.03.2022 12:06:25

NFSv4 mit Kerberos: Permission Denied, Segmentation fault auf Server

Beitrag von Standardb » 04.03.2022 12:29:24

Moin moin,

ich versuche eine NFSv4 Freigabe meines Server auf meinem Client zu mounten. (Die echten Namen sind im Folgenden abgeändert, bzw. IPs zensiert)
Das Ganze hat auch bereits ohne Kerberos geklappt, nun also mit - Keytabs sind bereits erstellt und ein manuelles kinit (Client als auch Server) funktioniert auch.

Hier aber zur Sicherheit die exports Datei:

Code: Alles auswählen

/srv/kerbnfs4 ****/255.255.255.0(rw,sec=krb5,sync,fsid=0,crossmnt,no_subtree_check,no_all_squash,insecure)
/srv/kerbnfs4/homes ****/255.255.255.0(rw,sec=krb5,sync,no_subtree_check,insecure)
Feuere ich meinen mount Befehl

Code: Alles auswählen

mount -t nfs4 -s -o sec=krb5,soft  server.example.de:/srv/kerbnfs4/homes /media/kerbhomes -vvvv
ab, bekomme ich nach einiger Zeit ein mount(2): Permission denied.

Nun habe ich folgende Logs von rpc.gssd auf dem Client (ich lasse dazu rpc.gssd im Vordergrund laufen):

Code: Alles auswählen

Success getting keytab entry for 'nfs/client.example.de@REALM.EXAMPLE.DE'
INFO: Credentials in CC 'FILE:/tmp/krb5ccmachine_REALM.EXAMPLE.DE' are good until 1646413205
INFO: Credentials in CC 'FILE:/tmp/krb5ccmachine_REALM.EXAMPLE.DE' are good until 1646413205
INFO: Credentials in CC 'FILE:/tmp/krb5ccmachine_REALM.EXAMPLE.DE' are good until 1646411991
creating tcp client for server server.example.de
DEBUG: port already set to 2049
creating context with server nfs@server.example.de
WARNING: Failed to create krb5 context for user with uid 0 for server nfs@server.example.de
WARNING: Failed to create machine krb5 context with cred cache FILE:/tmp/krb5ccmachine_REALM.EXAMPLE.DE for server server.example.de
creating tcp client for server server.example.de
DEBUG: port already set to 2049
creating context with server nfs@server.example.de
WARNING: Failed to create krb5 context for user with uid 0 for server nfs@server.example.de
WARNING: Failed to create machine krb5 context with cred cache FILE:/tmp/krb5ccmachine_REALM.EXAMPLE.DE for server server.example.de
ERROR: Failed to create machine krb5 context with any credentials cache for server server.example.de
doing error downcall
Ich gehe davon aus dass dieser Fehler wird vom Server produziert wird.
Hier gibt es den gleichen Fehler, da mag der Server nicht wegen falscher bzw. deprecated Crypto Typen.
Ich habe auf beiden Maschinen in der krb5.conf keine enctypes gesetzt, d.h. defaults werden verwendet.
Außerdem habe ich beim Erstellen der Keytabs unter Windows Server mittels ktpass -crypto auf all gesetzt, damit diese Fehlerquelle ausgeschlossen werden kann.

Nun aber der Log auf dem Server (Hier lasse ich rpc.svcgssd im Vordergrund laufen):

Code: Alles auswählen

root@server:# rpc.svcgssd -f -vvvv
entering poll
leaving poll
handling null request
svcgssd_limit_krb5_enctypes: Calling gss_set_allowable_enctypes with 6 enctypes from the kernel
Segmentation fault
root@server:#
Mehr bekomme ich nicht; wie man sieht, beendet sich rpc.svcgssd von selbst. Ich vermute hier also der Grund wieso das Mounten fehlschlägt.

In /var/log/syslog bekomme ich noch diese Meldungen:

Code: Alles auswählen

Mar  4 11:33:30 server kernel: [602915.770507] nfsd_dispatch: vers 4 proc 0
Mar  4 11:33:30 server kernel: [602915.776172] rpc.svcgssd[1122068]: segfault at a1 ip 00007f58f1fe4dde sp 00007ff
e61592a70 error 4 in libgssapi_krb5.so.2.2[7f58f1fd6000+35000]
Mar  4 11:33:30 server kernel: [602915.776180] Code: ff ff 41 89 c5 85 c0 0f 85 b7 00 00 00 48 8b 1d 88 76 03 00 4
d 85 e4 0f 84 df 00 00 00 48 85 db 0f 84 26 01 00 00 48 8b 43 28 <45> 8b 2c 24 4c 89 ed eb 2b 66 0f 1f 84 00 00 00 00
 00 48 8b 43 48
Mar  4 11:34:01 server kernel: [602946.502553] nfsd_dispatch: vers 4 proc 1
Mar  4 11:34:01 server kernel: [602946.502560] nfsd4_exchange_id rqstp=0000000064d2ff61 exid=00000000830e085c clna
me.len=25 clname.data=000000006c3a1cbb ip_addr=**** flags 101, spa_how 0
Mar  4 11:34:01 server kernel: [602946.502570] nfsd4_exchange_id seqid 0 flags 20001
Mar  4 11:34:01 server kernel: [602946.502910] nfsd_dispatch: vers 4 proc 1
Mar  4 11:34:01 server kernel: [602946.502913] nfsd4_exchange_id rqstp=0000000064d2ff61 exid=00000000830e085c clna
me.len=25 clname.data=000000006c3a1cbb ip_addr=**** flags 101, spa_how 0
Mar  4 11:34:01 server kernel: [602946.502929] nfsd4_exchange_id seqid 0 flags 20001
Mar  4 11:34:01 server kernel: [602946.503154] nfsd_dispatch: vers 4 proc 1
Mar  4 11:34:01 server kernel: [602946.503177] check_slot_seqid enter. seqid 1 slot_seqid 0
Mar  4 11:34:01 server kernel: [602946.503178] NFSD: move_to_confirm nfs4_client 00000000b3fb4c42
Mar  4 11:34:01 server kernel: [602946.503457] nfsd_dispatch: vers 4 proc 1
[...]
So, das sieht für mich nach einem Fehler "error 4 in libgssapi_krb5.so" aus.

Der Client läuft mit Debian 10, der Server mit Debian 11 mit Kernel 5.10.0-10-amd64.
Natürlich habe ich bereits apt update && apt upgrade ausgeführt.

Kann mir da jemand weiterhelfen? Liegt der Fehler wirklich bei rpc.svcgssd bzw. libgssapi_krb5?
Falls ich noch Infos/Logs vergessen habe, liefere ich diese gerne natürlich noch nach.

Vielen Dank für jeden Hilfe bereits im Voraus!

Antworten