web-dev-qa-db-fra.com

Centos 6 + LDAP + NFS. La propriété du fichier est bloquée sur "personne"

J'essaie d'obtenir l'authentification LDAP et NFS exporté des annuaires à domicile sur Centos 6 travaillant pendant quelques jours maintenant. Je suis arrivé au point que je puisse maintenant vous connecter à la machine cliente à l'aide du nom d'utilisateur et du mot de passe dans LDAP. Sur le client,/home and/opt sont montés dans le fstab sur NFS. Cependant, chaque fichier dans/opt et/home est appartenant à nobody:nobody (UID: 99, GID: 99) sur le client.

Cependant, mon UID et mon 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

authconfig sortie :

[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
11
jamieb

Résolu!

Je remarquerai cette ligne dans /var/log/messages Sur mon serveur NFS lorsque j'essayais de monter une exportation à partir du client distant:

Feb 28 15:54:02 storage1 rpc.idmapd[1651]: nss_getpwnam: name 'nobody' does not map into domain 'localdomain'

Cela m'a fait regarder les premières lignes de /etc/idmapd.conf:

[General]
#Verbosity = 0
# The following should be set to the local NFSv4 domain name
# The default is the Host's DNS domain name.
#Domain = local.domain.edu

J'ai ensuite ajouté Domain=subdomain.mycompany.com Sous la ligne "Domaine" commentée. Sauvé, sorti et ensuite couru /etc/init.d/rpcidmapd restart et /etc/init.d/nfs restart.

18
jamieb

Une note à ajouter à cette question pour les chercheurs de Google - nous avons eu le même problème dans lequel nous avons fait ce que nous avons fait, la monture NFS ne ferait pas la cartographie des ID utilisateur correctement.

Le problème était IDMAPD avait mis en cache les identifiants incorrects de la configuration défectueuse et aucune fixation de la configuration ne trier.

La commande sur Centos à résoudre ce problème était NFSIDMAP -C (CLEAR CACHE).

J'espère que cela aide un chercheur duparate ..

22
Sam

Le correctif pour moi est de vous assurer que l'enregistrement DNS existe pour la machine locale. Aide également si l'enregistrement de recherche inversé existe également. En conséquence, l'utilisateur et le groupe de personne n'ont été remplacés par root. Quelle est la simple chose?!? P.s. N'oubliez pas de redémarrer la machine locale une fois que les enregistrements DNS sont créés.

0
user242020

Votre serveur NFS est-il exécuté Centos/Rhel 5 par hasard?

Si oui, il exporte NFSV3. NFSV4 est maintenant la valeur par défaut pour Centos6 (et variantes d'Ubuntu récentes).

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

0
NcA

Tout est mappé sur "personne" sonne comme All_squash est allumé.

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 du serveur NFS/etc/exportation ne pilote pas involontairement les UID. "no_all_squash" est censé être par défaut, mais vous pouvez essayer de la définir explicitement et de voir ce qui se passe.

0
cjc