https://github.com/gssapi/gssproxy/blob/main/docs/NFS.md
apt install nfs-kernel-server
Der Server braucht NUR gssproxy. 24-nfs-server in /etc/gssproxy stellt beim Start von gssproxy.service sicher, dass der Kernel immer nach gssproxy für auth fragt.
Da gssproxy pro Service unterschiedliche Keytabs erlaubt ist das Service-Principal völlig egal, am besten nur für nfs/ ein keytab anlegen:
root@server:/etc/gssproxy# cat 24-nfs-server.conf
[service/nfs-server]
mechs = krb5
socket = /run/gssproxy.sock
# das kann man auch einfach auf krb5.keytab lassen, das kann mehrere principals speichern
cred_store = keytab:/etc/krb5.keytab.nfs
trusted = yes
kernel_nfsd = yes
euid = 0
debug_level = 1
und nur für nfs ein principal erstellen:
kadmin.local: addprinc -randkey nfs/servername.domain.tld@DOMAIN.TLD
kadmin.local: ktadd -k /etc/krb5.keytab.nfs nfs/servername.domain.tld@DOMAIN.TLD
Diese Principals sollten dann auch im LDAP auftauchen.
@NOTE ausprobieren ob auch nfs/service.domain.tld@DOMAIN.TLD jetzt funktioniert (?? 2026 keine Ahnung was ich da 2025 wollte)
/etc/exports
# root-fs - hier einfach Ordner anlegen, können direkt als Share gemounted werden
# fsid=0 --> root export, hier müssen die andern exports drunterliegen
# verkürzt den export-pfad von /srv/nfs/ auf /
/srv/nfs 10.126.0.0/255.255.0.0(fsid=0,crossmnt,rw,sync,root_squash,no_all_squash,no_subtree_check,sec=krb5)
# Home-FS ohne Crossmnt
/srv/nfs/homes 10.126.0.0/255.255.0.0(fsid=1,rw,sync,root_squash,no_all_squash,no_subtree_check,sec=krb5)
Der NFS-Server braucht kein use_gssproxy für rpc-gssd
/etc/nfs.conf
[nfsd]
vers3=n
vers4=y
vers4.0=n
vers4.1=n
vers4.2=y
Braucht man nicht für NFS4
systemctl disable rpcbind.target
systemctl disable rpcbind.socket
systemctl disable rpcbind.service
systemctl stop rpcbind.target
systemctl stop rpcbind.socket
systemctl stop rpcbind.service
Wer hier kein SSSD installieren will nur um die User aus LDAP und Kerberos zu sehen kann