He estado tratando de lograr que la autenticación LDAP y los directorios principales exportados por NFS en CentOS 6 funcionen durante unos días. Llegué al punto de que ahora puedo iniciar sesión en la máquina cliente usando el nombre de usuario y la contraseña en LDAP. En el cliente, / home y / opt están montados en el fstab sobre NFS. Sin embargo, cada archivo en / opt y / home es propiedad de nobody:nobody
(uid: 99, gid: 99) en el cliente.
Sin embargo, mi uid y gid parecen estar configurados correctamente:
-bash-4.1$ id
uid=3000(myusername) gid=3000(employees) groups=3000(employees)
¿Qué más puedo consultar? Aquí hay algunos archivos de configuración en mi cliente:
/etc/nsswitch.conf
passwd: files sss
shadow: files sss
group: files sss
hosts: files dns
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files
netgroup: files sss
publickey: nisplus
automount: files ldap
aliases: files nisplus
/etc/sssd/sssd.conf
[sssd]
config_file_version = 2
services = nss, pam
domains = default
[nss]
[pam]
[domain/default]
auth_provider = ldap
ldap_id_use_start_tls = True
chpass_provider = ldap
cache_credentials = True
krb5_realm = EXAMPLE.COM
ldap_search_base = dc=mycompany,dc=com
id_provider = ldap
ldap_uri = ldaps://server.subdomain.mycompany.com
krb5_kdcip = kerberos.example.com
ldap_tls_cacertdir = /etc/openldap/cacerts
# Configure client certificate auth.
ldap_tls_cert = /etc/openldap/cacerts/client.pem
ldap_tls_key = /etc/openldap/cacerts/client.pem
ldap_tls_reqcert = demand
/ etc / fstab
/dev/mapper/vg_main-lv_root / ext4 defaults 1 1
UUID=4e43a15d-4dc0-4836-8fa6-c3445fde756c /boot ext4 defaults 1 2
/dev/mapper/vg_main-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
storage1:/nas/home /home nfs soft,intr,rsize=8192,wsize=8192
storage1:/nas/opt /opt nfs soft,intr,rsize=8192,wsize=8192
Salida authconfig:
[root@test1 ~]# authconfig --test
caching is disabled
nss_files is always enabled
nss_compat is disabled
nss_db is disabled
nss_hesiod is disabled
hesiod LHS = ""
hesiod RHS = ""
nss_ldap is enabled
LDAP+TLS is enabled
LDAP server = "ldaps://server.subdomain.mycompany.com"
LDAP base DN = "dc=mycompany,dc=com"
nss_nis is disabled
NIS server = ""
NIS domain = ""
nss_nisplus is disabled
nss_winbind is disabled
SMB workgroup = ""
SMB servers = ""
SMB security = "user"
SMB realm = ""
Winbind template shell = "/bin/false"
SMB idmap uid = "16777216-33554431"
SMB idmap gid = "16777216-33554431"
nss_sss is disabled by default
nss_wins is disabled
nss_mdns4_minimal is disabled
DNS preference over NSS or WINS is disabled
pam_unix is always enabled
shadow passwords are enabled
password hashing algorithm is sha512
pam_krb5 is disabled
krb5 realm = "EXAMPLE.COM"
krb5 realm via dns is disabled
krb5 kdc = "kerberos.example.com"
krb5 kdc via dns is disabled
krb5 admin server = "kerberos.example.com"
pam_ldap is enabled
LDAP+TLS is enabled
LDAP server = "ldaps://server.subdomain.mycompany.com"
LDAP base DN = "dc=mycompany,dc=com"
LDAP schema = "rfc2307"
pam_pkcs11 is disabled
use only smartcard for login is disabled
smartcard module = ""
smartcard removal action = ""
pam_fprintd is enabled
pam_winbind is disabled
SMB workgroup = ""
SMB servers = ""
SMB security = "user"
SMB realm = ""
pam_sss is disabled by default
credential caching in SSSD is enabled
SSSD use instead of legacy services if possible is enabled
pam_cracklib is enabled (try_first_pass retry=3 type=)
pam_passwdqc is disabled ()
pam_access is disabled ()
pam_mkhomedir or pam_oddjob_mkhomedir is enabled ()
Always authorize local users is enabled ()
Authenticate system accounts against network services is disabled
Respuestas:
Una nota para agregar a esto para los buscadores de Google: tuvimos el mismo problema en el que, sin importar lo que hicimos, el montaje nfs no mapearía los identificadores de usuario correctamente.
El problema era que idmapd había almacenado en caché los identificadores incorrectos de la configuración defectuosa, y ninguna reparación de la configuración lo solucionaría.
El comando en centos para solucionar esto fue nfsidmap -c (borrar caché).
Esperemos que esto ayude a algún buscador desesperado.
fuente
Resuelto!
Noté esta línea en
/var/log/messages
mi servidor NFS cuando intentaba montar una exportación desde el cliente remoto:Esto me hizo mirar las primeras líneas de
/etc/idmapd.conf
:Luego agregué
Domain=subdomain.mycompany.com
debajo de la línea comentada "Dominio". Salvó, salió y luego corrió/etc/init.d/rpcidmapd restart
y/etc/init.d/nfs restart
.fuente
Encontré una publicación de blog que podría resolver su problema: http://whacked.net/2006/07/26/nfsv4nfs-mapid-nobody-domain/ que encontré en la siguiente publicación del foro: https: //www.centos. org / modules / newbb / viewtopic.php? topic_id = 32977
fuente
¿Su servidor NFS ejecuta Centos / RHEL 5 por casualidad?
Si es así, está exportando NFSv3. NFSv4 ahora es el valor predeterminado para Centos6 (y las variantes recientes de Ubuntu).
La solución rápida es agregar "vers = 3" en las opciones de montaje en / etc / fstab.
p.ej
//10.0.0.1:/home / home nfs defaults, vers = 3, rw, noatime 0 0
fuente
Todo lo que se asigna a "nadie" suena como que all_squash está activado.
Echa un vistazo a:
http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-nfs-server-config-exports.html
y verifique que el archivo / etc / exports del servidor NFS no aplaste involuntariamente los UID. Se supone que "no_all_squash" es el predeterminado, pero puede intentar configurarlo explícitamente y ver qué sucede.
fuente
mount storage1:/nas/opt /mnt/test
en el cliente independiente todavía me da el problema de "nadie", sin embargo, el mismo comando en el servidor NFS funciona sin problemas. Desearía saber si esto fue un problema de NFS o SSSD / NSS.La solución para mí es asegurarme de que el registro DNS existe para la máquina local. También ayuda si el registro de búsqueda inversa también existe. Como resultado, el usuario y el grupo de nadie fue reemplazado por root. ¿Qué tan simple es eso? PD: recuerde reiniciar la máquina local una vez que se crean los registros DNS.
fuente