Cela fait quelques jours que j'essaie d'obtenir l'authentification LDAP et les répertoires de départ exportés NFS sur CentOS 6. J'en suis arrivé au point que je peux maintenant me connecter à la machine cliente en utilisant le nom d'utilisateur et le mot de passe dans LDAP. Sur le client, / home et / opt sont montés dans le fstab sur NFS. Cependant, chaque fichier dans / opt et / home appartient à nobody:nobody
(uid: 99, gid: 99) sur le client.
Cependant, mon uid et gid semblent être correctement définis:
-bash-4.1$ id
uid=3000(myusername) gid=3000(employees) groups=3000(employees)
Que puis-je vérifier d'autre? Voici quelques fichiers de configuration sur mon client:
/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
sortie 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
Réponses:
Une note à ajouter à cela pour les chercheurs Google - nous avons eu le même problème où, quoi que nous ayons fait, le montage nfs ne mapperait pas correctement les identifiants utilisateur.
Le problème était que idmapd avait mis en cache les identifiants incorrects de la configuration défectueuse, et aucune correction de la configuration ne le trierait.
La commande sur centos pour résoudre ce problème était nfsidmap -c (vider le cache).
J'espère que cela aide un chercheur désespéré ..
la source
Résolu!
J'ai remarqué cette ligne
/var/log/messages
sur mon serveur NFS lorsque j'essayais de monter une exportation à partir du client distant:Cela m'a amené à regarder les premières lignes de
/etc/idmapd.conf
:J'ai ensuite ajouté
Domain=subdomain.mycompany.com
sous la ligne commentée "Domaine". Enregistré, sorti puis couru/etc/init.d/rpcidmapd restart
et/etc/init.d/nfs restart
.la source
J'ai trouvé un article de blog qui pourrait résoudre votre problème: http://whacked.net/2006/07/26/nfsv4nfs-mapid-nobody-domain/ que j'ai trouvé dans le message de forum suivant: https: //www.centos. org / modules / newbb / viewtopic.php? topic_id = 32977
la source
Votre serveur NFS exécute-t-il Centos / RHEL 5 par hasard?
Si c'est le cas, il exporte NFSv3. NFSv4 est maintenant la valeur par défaut pour Centos6 (et les variantes récentes d'Ubuntu).
La solution rapide consiste à ajouter "vers = 3" dans les options de montage dans / etc / fstab.
par exemple
//10.0.0.1:/home / home nfs par défaut, vers = 3, rw, noatime 0 0
la source
Tout ce qui est mappé sur "personne" sonne comme si all_squash était activé.
Jeter un coup d'œil à:
http://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-nfs-server-config-exports.html
et vérifiez que le fichier / etc / exports du serveur NFS n'écrase pas involontairement les UID. "no_all_squash" est censé être par défaut, mais vous pouvez essayer de le définir explicitement et de voir ce qui se passe.
la source
mount storage1:/nas/opt /mnt/test
sur le client autonome me donne toujours le problème "personne", pourtant la même commande sur le serveur NFS fonctionne sans problème. Je souhaite savoir si c'était un problème NFS ou SSSD / NSS.La solution pour moi est de s'assurer que l'enregistrement DNS existe pour la machine locale. Aide également si l'enregistrement de recherche inversée existe également. En conséquence, l'utilisateur et le groupe nobody ont été remplacés par root. Est-ce simple?!? PS n'oubliez pas de redémarrer la machine locale une fois les enregistrements DNS créés.
la source