= Tickets asociados = - Soporte de homes de usuarios con NFSv4 (#723) - = Documentación = - NFS4 Howto: http://wiki.linux-nfs.org/wiki/index.php/Nfsv4_configuration - Configuring kerberos: https://www.centos.org/docs/5/html/CDS/ag/8.0/Introduction_to_SASL-Configuring_Kerberos.html - Configurando nfs4 usando AD: http://jurjenbokma.com/ApprenticesNotes/ad_nfs4.xhtml - Celerra extended ACL using NFSV4 (adjunto): attachment:NFSv4_ACLs_300-004-464_a01_elccnt_0.pdf - Configuring NFSv4 on EMC VNX Systems: https://www.emc.com/collateral/software/white-papers/h10949-configuring-nfsv4-vnx-wp.pdf = Update de packages = Con lo actual no podemos arrancar rpc.gssd, actualizo: - nfs-utils a 1.3.3 - libtirpc a 0.3.2 con este parche https://github.com/alpinelinux/aports/blob/master/main/libtirpc/musl-fixes.patch para habilitar las funciones ecb_crypt y cbc_crypt que no están en la glibc. Para aplicar el parche tengo que actualizar automake a 1.15 - Instalo librpcsecgss-0.19 y libgssglue-0.4 pero no creo que sean necesarios = Demonios implicados = - rpc.gssd. Lo arranco inicialmente con las opciones -v -M - rpc.idmapd Supongo que tendré que actualizar donde corresponda rpc.statd y demás (por ver aún) = Cambios en el filesystem = - Hay que montar rpc_pipefs usando esta configuración en el fstab: {{{ rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs defaults 0 0 }}} = Ficheros de configuración = - /etc/idmapd.conf. Comienzo con este: {{{ [General] Verbosity = 1 Domain = uco.es Local-Realms = UCO.ES [Mapping] Nobody-User = nobody Nobody-Group = nogroup [Translation] Method = umich_ldap,nsswitch GSS-Methods = umich_ldap,static [Static] johndoe@OTHER.DOMAIN.ORG = johnny [UMICH_SCHEMA] LDAP_server = ldp1.uco.es LDAP_base = dc=uco,dc=es }}} - /etc/krb5.conf: No tengo muy claro si esto es estrictamente necesario en el cliente, comienzo con esto: {{{ [libdefaults] default_realm = UCO.ES dns_lookup_realm = true dns_lookup_kdc = true [realms] UCO.ES = { kdc = sunsrv.uco.es admin_server = sunsrv.uco.es default_domain = uco.es } [domain_realm] uco.es = UCO.ES .uco.es = UCO.ES [logging] kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmin.log default = FILE:/var/log/krb5lib.log }}} = Crear un keytab = Sinceramente no tengo ni idea de lo que es, pero como al intentar montar: {{{ mount -t nfs -o vers=4 nfsvnx-172-16.priv.uco.es:/BORRAR_PRUEBAS_NFSV4 /mnt1 }}} se queda esperando teniendo en daemon.log lineas como estas: {{{ Nov 9 09:52:58 HPTONIN rpc.gssd[23712]: ERROR: No credentials found for connection to server nfsvnx-172-16.priv.uco.es Nov 9 09:52:58 HPTONIN rpc.gssd[23712]: doing error downcall Nov 9 09:53:20 HPTONIN rpc.gssd[23712]: handling gssd upcall (nfs/clnt44) Nov 9 09:53:20 HPTONIN rpc.gssd[23712]: handling krb5 upcall (nfs/clnt44) Nov 9 09:53:20 HPTONIN rpc.gssd[23712]: krb5_use_machine_creds: uid 0 tgtname (null) Nov 9 09:53:20 HPTONIN rpc.gssd[23712]: ERROR: Key table file '/etc/krb5.keytab' not found while beginning keytab scan for keytab 'FILE:/etc/krb5.keytab' Nov 9 09:53:20 HPTONIN rpc.gssd[23712]: ERROR: Key table file '/etc/krb5.keytab' not found while beginning keytab scan for keytab 'FILE:/etc/krb5.keytab' Nov 9 09:53:20 HPTONIN rpc.gssd[23712]: ERROR: Key table file '/etc/krb5.keytab' not found while beginning keytab scan for keytab 'FILE:/etc/krb5.keytab' Nov 9 09:53:20 HPTONIN rpc.gssd[23712]: ERROR: gssd_refresh_krb5_machine_credential: no usable keytab entry found in keytab /etc/krb5.keytab for connection with host nfsvnx-172-16.priv.uco.es }}} pues creo un keytab siguiendo las instrucciones de https://kb.iu.edu/d/aumh de esta forma invocando la utilidad ktutil: {{{ ktutil: addent -password -p root@UCO.ES -k 1 -e rc4-hmac Password for root@UCO.ES: ktutil: addent -password -p root@UCO.ES -k 1 -e aes256-cts Password for root@UCO.ES: ktutil: wkt root.keytab ktutil: quit }}} Esto me genera un fichero root.keytab. Si intento usarlo veo que si se entera de que la clave generada es para root, pero que root@UCO.ES no está en la BBDD de kerberos {{{ root@HPTONIN:~# kinit root@UCO.ES -k -t root.keytab kinit: Client 'root@UCO.ES' not found in Kerberos database while getting initial credentials root@HPTONIN:~# kinit paco@UCO.ES -k -t root.keytab kinit: Keytab contains no suitable keys for paco@UCO.ES while getting initial credentials }}}