* Autmount issue @ 2015-05-21 2:42 Sohnaeo 2015-05-21 6:41 ` Ian Kent 0 siblings, 1 reply; 12+ messages in thread From: Sohnaeo @ 2015-05-21 2:42 UTC (permalink / raw) To: autofs Hello Guys, I am having an issue with the autofs/automount on Cent OS 7, below is the detail LDAP Server Solaris 10 Sun Directory Server 6.2 LDAP Client CentOS 7 OpenLdap I issued the below command to enable LDAP authetication. LDAP users can successfully authenticated now on CentOs authconfig --enableldap --enableldapauth --ldapserver=x.x.x.x --ldapbasedn=dc=drivess,dc=rtta --disablemkhomedir --update But somehow users home directories can't be mounted through autofs. Below is my autofs.conf file autofs master_map_name = ldap://xxxxx/automountMapName=auto_master,dc=drivess,dc=rtaa mount_nfs_default_protocol = 3 logging = debug ldap_uri = "ldap://x.x.x.x" search_base = "automountMapName=auto_master,dc=drivess,dc=rtaa" map_object_class = automountMap entry_object_class = automount map_attribute = automountMapName entry_attribute = automountKey value_attribute= automountInformation auth_conf_file = /etc/autofs_ldap_auth.conf map_type = ldap When I run the below command , it throws an error automount -m get_query_dn: lookup(ldap): found query dn automountMapName=auto_master,dc=drivess,dc=rtaa lookup_read_master: lookup(ldap): searching for "(objectclass=automount)" under "automountMapName=auto_master,dc=drivess,dc=rtaa" lookup_read_master: lookup(ldap): examining entries syntax error in map near ahmedf nfs-cluster: Below is ldapsearch command result ldapsearch -x -b 'automountMapName=auto_master,dc=drivess,dc=rtaa' "(objectClass=automountMap)" dn: automountMapName=auto_master,dc=drivess,dc=rtaa automountMapName: auto_master objectClass: top objectClass: automountMap ldapsearch -x -b 'automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa automountInformation: nfs-cluster:/san/users/cmes/ahmedf automountKey: ahmedf objectClass: automount objectClass: top In short, automountInformation is nfs-cluster:/san/users/cmes/ahmedf but somehow autmount is complaining "syntax error in map near [ ahmedf nfs-cluster: ]" Any ideas? ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Autmount issue 2015-05-21 2:42 Autmount issue Sohnaeo @ 2015-05-21 6:41 ` Ian Kent 2015-05-26 6:31 ` Sohnaeo 0 siblings, 1 reply; 12+ messages in thread From: Ian Kent @ 2015-05-21 6:41 UTC (permalink / raw) To: Sohnaeo; +Cc: autofs On Thu, 2015-05-21 at 12:42 +1000, Sohnaeo wrote: > Hello Guys, > > I am having an issue with the autofs/automount on Cent OS 7, below is the detail > > LDAP Server > > > Solaris 10 > Sun Directory Server 6.2 > > > LDAP Client > > > CentOS 7 > > OpenLdap > > > I issued the below command to enable LDAP authetication. LDAP users > can successfully authenticated now on CentOs > > authconfig --enableldap --enableldapauth --ldapserver=x.x.x.x > --ldapbasedn=dc=drivess,dc=rtta --disablemkhomedir --update > > But somehow users home directories can't be mounted through autofs. > Below is my autofs.conf file > > autofs > master_map_name = ldap://xxxxx/automountMapName=auto_master,dc=drivess,dc=rtaa > mount_nfs_default_protocol = 3 > logging = debug > ldap_uri = "ldap://x.x.x.x" > search_base = "automountMapName=auto_master,dc=drivess,dc=rtaa" > map_object_class = automountMap > entry_object_class = automount > map_attribute = automountMapName > entry_attribute = automountKey > value_attribute= automountInformation > auth_conf_file = /etc/autofs_ldap_auth.conf > map_type = ldap > > When I run the below command , it throws an error > > automount -m > get_query_dn: lookup(ldap): found query dn > automountMapName=auto_master,dc=drivess,dc=rtaa > lookup_read_master: lookup(ldap): searching for > "(objectclass=automount)" under > "automountMapName=auto_master,dc=drivess,dc=rtaa" > lookup_read_master: lookup(ldap): examining entries > syntax error in map near ahmedf nfs-cluster: > > Below is ldapsearch command result > ldapsearch -x -b 'automountMapName=auto_master,dc=drivess,dc=rtaa' > "(objectClass=automountMap)" > > dn: automountMapName=auto_master,dc=drivess,dc=rtaa > automountMapName: auto_master > objectClass: top > objectClass: automountMap > > ldapsearch -x -b > 'automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > automountInformation: nfs-cluster:/san/users/cmes/ahmedf > automountKey: ahmedf > objectClass: automount > objectClass: top > > In short, automountInformation is nfs-cluster:/san/users/cmes/ahmedf > but somehow autmount is complaining "syntax error in map near [ ahmedf > nfs-cluster: ]" That's telling you that your master map is not right. > > > Any ideas? Have a look at the example in /usr/share/doc/autofs: ldap-automount-rfc2307-bis-auto.master ldap-automount-rfc2307-bis-auto.indirect ldap-automount-rfc2307-bis-auto.direct For the indirect mount case above you need master map ldap entries that contain an entry that specifies the indirect mount mount point and the map where the entries for that mount point are stored. Ian ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Autmount issue 2015-05-21 6:41 ` Ian Kent @ 2015-05-26 6:31 ` Sohnaeo 2015-05-27 2:07 ` Ian Kent 0 siblings, 1 reply; 12+ messages in thread From: Sohnaeo @ 2015-05-26 6:31 UTC (permalink / raw) To: Ian Kent; +Cc: autofs Hello Ian, Thank you very much for looking into this. Solaris clients didn't have any issue with the existing master map. In my environment, I do have 99% Solaris clients and I don't want to change master map for few Linux clients. below is the auto_master map on Sun Directory Server dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa automountinformation: nfs-cluster:/san/users/cmes/ahmedf automountkey: ahmedf objectclass: top objectclass: automount I am clueless. On Thu, May 21, 2015 at 4:41 PM, Ian Kent <raven@themaw.net> wrote: > On Thu, 2015-05-21 at 12:42 +1000, Sohnaeo wrote: >> Hello Guys, >> >> I am having an issue with the autofs/automount on Cent OS 7, below is the detail >> >> LDAP Server >> >> >> Solaris 10 >> Sun Directory Server 6.2 >> >> >> LDAP Client >> >> >> CentOS 7 >> >> OpenLdap >> >> >> I issued the below command to enable LDAP authetication. LDAP users >> can successfully authenticated now on CentOs >> >> authconfig --enableldap --enableldapauth --ldapserver=x.x.x.x >> --ldapbasedn=dc=drivess,dc=rtta --disablemkhomedir --update >> >> But somehow users home directories can't be mounted through autofs. >> Below is my autofs.conf file >> >> autofs >> master_map_name = ldap://xxxxx/automountMapName=auto_master,dc=drivess,dc=rtaa >> mount_nfs_default_protocol = 3 >> logging = debug >> ldap_uri = "ldap://x.x.x.x" >> search_base = "automountMapName=auto_master,dc=drivess,dc=rtaa" >> map_object_class = automountMap >> entry_object_class = automount >> map_attribute = automountMapName >> entry_attribute = automountKey >> value_attribute= automountInformation >> auth_conf_file = /etc/autofs_ldap_auth.conf >> map_type = ldap >> >> When I run the below command , it throws an error >> >> automount -m >> get_query_dn: lookup(ldap): found query dn >> automountMapName=auto_master,dc=drivess,dc=rtaa >> lookup_read_master: lookup(ldap): searching for >> "(objectclass=automount)" under >> "automountMapName=auto_master,dc=drivess,dc=rtaa" >> lookup_read_master: lookup(ldap): examining entries >> syntax error in map near ahmedf nfs-cluster: >> >> Below is ldapsearch command result >> ldapsearch -x -b 'automountMapName=auto_master,dc=drivess,dc=rtaa' >> "(objectClass=automountMap)" >> >> dn: automountMapName=auto_master,dc=drivess,dc=rtaa >> automountMapName: auto_master >> objectClass: top >> objectClass: automountMap >> >> ldapsearch -x -b >> 'automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa >> dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa >> automountInformation: nfs-cluster:/san/users/cmes/ahmedf >> automountKey: ahmedf >> objectClass: automount >> objectClass: top >> >> In short, automountInformation is nfs-cluster:/san/users/cmes/ahmedf >> but somehow autmount is complaining "syntax error in map near [ ahmedf >> nfs-cluster: ]" > > That's telling you that your master map is not right. > >> >> >> Any ideas? > > Have a look at the example in /usr/share/doc/autofs: > ldap-automount-rfc2307-bis-auto.master > ldap-automount-rfc2307-bis-auto.indirect > ldap-automount-rfc2307-bis-auto.direct > > For the indirect mount case above you need master map ldap entries that > contain an entry that specifies the indirect mount mount point and the > map where the entries for that mount point are stored. > > Ian > > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Autmount issue 2015-05-26 6:31 ` Sohnaeo @ 2015-05-27 2:07 ` Ian Kent 2015-05-27 3:55 ` Ian Kent 0 siblings, 1 reply; 12+ messages in thread From: Ian Kent @ 2015-05-27 2:07 UTC (permalink / raw) To: Sohnaeo; +Cc: autofs On Tue, 2015-05-26 at 16:31 +1000, Sohnaeo wrote: > Hello Ian, > > Thank you very much for looking into this. Solaris clients didn't have > any issue with the existing master map. In my environment, I do have > 99% Solaris clients and I don't want to change master map for few > Linux clients. below is the auto_master map on Sun Directory Server > > dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > automountinformation: nfs-cluster:/san/users/cmes/ahmedf > automountkey: ahmedf > objectclass: top > objectclass: automount I don't see how that could work, it's not a master map entry, it's a map entry. The problem with this entry is it doesn't provide the information about what indirect mount this key belongs to? You'll need to give me more info about what's in ldap and what the mounts look like after automount is started on Solaris. Start autofs on an idle system, do nothing else, and post the contents of /etc/mnttab (assuming that hasn't changed over the years since I worked on Solaris systems). If there are obvious things you don't want people to see in it then delete those lines but don't delete autofs related lines. If you want you could log a bug at bugzilla.redhat.com and have it made private to so the information isn't available to people not included on the cc list or allowed groups. > > > I am clueless. > > On Thu, May 21, 2015 at 4:41 PM, Ian Kent <raven@themaw.net> wrote: > > On Thu, 2015-05-21 at 12:42 +1000, Sohnaeo wrote: > >> Hello Guys, > >> > >> I am having an issue with the autofs/automount on Cent OS 7, below is the detail > >> > >> LDAP Server > >> > >> > >> Solaris 10 > >> Sun Directory Server 6.2 > >> > >> > >> LDAP Client > >> > >> > >> CentOS 7 > >> > >> OpenLdap > >> > >> > >> I issued the below command to enable LDAP authetication. LDAP users > >> can successfully authenticated now on CentOs > >> > >> authconfig --enableldap --enableldapauth --ldapserver=x.x.x.x > >> --ldapbasedn=dc=drivess,dc=rtta --disablemkhomedir --update > >> > >> But somehow users home directories can't be mounted through autofs. > >> Below is my autofs.conf file > >> > >> autofs > >> master_map_name = ldap://xxxxx/automountMapName=auto_master,dc=drivess,dc=rtaa > >> mount_nfs_default_protocol = 3 > >> logging = debug > >> ldap_uri = "ldap://x.x.x.x" > >> search_base = "automountMapName=auto_master,dc=drivess,dc=rtaa" > >> map_object_class = automountMap > >> entry_object_class = automount > >> map_attribute = automountMapName > >> entry_attribute = automountKey > >> value_attribute= automountInformation > >> auth_conf_file = /etc/autofs_ldap_auth.conf > >> map_type = ldap > >> > >> When I run the below command , it throws an error > >> > >> automount -m > >> get_query_dn: lookup(ldap): found query dn > >> automountMapName=auto_master,dc=drivess,dc=rtaa > >> lookup_read_master: lookup(ldap): searching for > >> "(objectclass=automount)" under > >> "automountMapName=auto_master,dc=drivess,dc=rtaa" > >> lookup_read_master: lookup(ldap): examining entries > >> syntax error in map near ahmedf nfs-cluster: > >> > >> Below is ldapsearch command result > >> ldapsearch -x -b 'automountMapName=auto_master,dc=drivess,dc=rtaa' > >> "(objectClass=automountMap)" > >> > >> dn: automountMapName=auto_master,dc=drivess,dc=rtaa > >> automountMapName: auto_master > >> objectClass: top > >> objectClass: automountMap > >> > >> ldapsearch -x -b > >> 'automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > >> dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > >> automountInformation: nfs-cluster:/san/users/cmes/ahmedf > >> automountKey: ahmedf > >> objectClass: automount > >> objectClass: top > >> > >> In short, automountInformation is nfs-cluster:/san/users/cmes/ahmedf > >> but somehow autmount is complaining "syntax error in map near [ ahmedf > >> nfs-cluster: ]" > > > > That's telling you that your master map is not right. > > > >> > >> > >> Any ideas? > > > > Have a look at the example in /usr/share/doc/autofs: > > ldap-automount-rfc2307-bis-auto.master > > ldap-automount-rfc2307-bis-auto.indirect > > ldap-automount-rfc2307-bis-auto.direct > > > > For the indirect mount case above you need master map ldap entries that > > contain an entry that specifies the indirect mount mount point and the > > map where the entries for that mount point are stored. > > > > Ian > > > > > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Autmount issue 2015-05-27 2:07 ` Ian Kent @ 2015-05-27 3:55 ` Ian Kent 2015-05-27 7:38 ` Sohnaeo 0 siblings, 1 reply; 12+ messages in thread From: Ian Kent @ 2015-05-27 3:55 UTC (permalink / raw) To: Sohnaeo; +Cc: autofs On Wed, 2015-05-27 at 10:07 +0800, Ian Kent wrote: > On Tue, 2015-05-26 at 16:31 +1000, Sohnaeo wrote: > > Hello Ian, > > > > Thank you very much for looking into this. Solaris clients didn't have > > any issue with the existing master map. In my environment, I do have > > 99% Solaris clients and I don't want to change master map for few > > Linux clients. below is the auto_master map on Sun Directory Server > > > > dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > > automountinformation: nfs-cluster:/san/users/cmes/ahmedf > > automountkey: ahmedf > > objectclass: top > > objectclass: automount > > I don't see how that could work, it's not a master map entry, it's a map > entry. > > The problem with this entry is it doesn't provide the information about > what indirect mount this key belongs to? > > You'll need to give me more info about what's in ldap and what the > mounts look like after automount is started on Solaris. > > Start autofs on an idle system, do nothing else, and post the contents > of /etc/mnttab (assuming that hasn't changed over the years since I > worked on Solaris systems). If there are obvious things you don't want > people to see in it then delete those lines but don't delete autofs > related lines. And what path do you use to cause this entry to mount? > > If you want you could log a bug at bugzilla.redhat.com and have it made > private to so the information isn't available to people not included on > the cc list or allowed groups. > > > > > > > I am clueless. > > > > On Thu, May 21, 2015 at 4:41 PM, Ian Kent <raven@themaw.net> wrote: > > > On Thu, 2015-05-21 at 12:42 +1000, Sohnaeo wrote: > > >> Hello Guys, > > >> > > >> I am having an issue with the autofs/automount on Cent OS 7, below is the detail > > >> > > >> LDAP Server > > >> > > >> > > >> Solaris 10 > > >> Sun Directory Server 6.2 > > >> > > >> > > >> LDAP Client > > >> > > >> > > >> CentOS 7 > > >> > > >> OpenLdap > > >> > > >> > > >> I issued the below command to enable LDAP authetication. LDAP users > > >> can successfully authenticated now on CentOs > > >> > > >> authconfig --enableldap --enableldapauth --ldapserver=x.x.x.x > > >> --ldapbasedn=dc=drivess,dc=rtta --disablemkhomedir --update > > >> > > >> But somehow users home directories can't be mounted through autofs. > > >> Below is my autofs.conf file > > >> > > >> autofs > > >> master_map_name = ldap://xxxxx/automountMapName=auto_master,dc=drivess,dc=rtaa > > >> mount_nfs_default_protocol = 3 > > >> logging = debug > > >> ldap_uri = "ldap://x.x.x.x" > > >> search_base = "automountMapName=auto_master,dc=drivess,dc=rtaa" > > >> map_object_class = automountMap > > >> entry_object_class = automount > > >> map_attribute = automountMapName > > >> entry_attribute = automountKey > > >> value_attribute= automountInformation > > >> auth_conf_file = /etc/autofs_ldap_auth.conf > > >> map_type = ldap > > >> > > >> When I run the below command , it throws an error > > >> > > >> automount -m > > >> get_query_dn: lookup(ldap): found query dn > > >> automountMapName=auto_master,dc=drivess,dc=rtaa > > >> lookup_read_master: lookup(ldap): searching for > > >> "(objectclass=automount)" under > > >> "automountMapName=auto_master,dc=drivess,dc=rtaa" > > >> lookup_read_master: lookup(ldap): examining entries > > >> syntax error in map near ahmedf nfs-cluster: > > >> > > >> Below is ldapsearch command result > > >> ldapsearch -x -b 'automountMapName=auto_master,dc=drivess,dc=rtaa' > > >> "(objectClass=automountMap)" > > >> > > >> dn: automountMapName=auto_master,dc=drivess,dc=rtaa > > >> automountMapName: auto_master > > >> objectClass: top > > >> objectClass: automountMap > > >> > > >> ldapsearch -x -b > > >> 'automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > > >> dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > > >> automountInformation: nfs-cluster:/san/users/cmes/ahmedf > > >> automountKey: ahmedf > > >> objectClass: automount > > >> objectClass: top > > >> > > >> In short, automountInformation is nfs-cluster:/san/users/cmes/ahmedf > > >> but somehow autmount is complaining "syntax error in map near [ ahmedf > > >> nfs-cluster: ]" > > > > > > That's telling you that your master map is not right. > > > > > >> > > >> > > >> Any ideas? > > > > > > Have a look at the example in /usr/share/doc/autofs: > > > ldap-automount-rfc2307-bis-auto.master > > > ldap-automount-rfc2307-bis-auto.indirect > > > ldap-automount-rfc2307-bis-auto.direct > > > > > > For the indirect mount case above you need master map ldap entries that > > > contain an entry that specifies the indirect mount mount point and the > > > map where the entries for that mount point are stored. > > > > > > Ian > > > > > > > > > > > > -- > To unsubscribe from this list: send the line "unsubscribe autofs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Autmount issue 2015-05-27 3:55 ` Ian Kent @ 2015-05-27 7:38 ` Sohnaeo 2015-05-27 11:10 ` Ian Kent 0 siblings, 1 reply; 12+ messages in thread From: Sohnaeo @ 2015-05-27 7:38 UTC (permalink / raw) To: Ian Kent; +Cc: autofs Hi Ian, Here is the mnttab of Solaris client asqcsat:/ # cat /etc/mnttab |grep autofs -hosts /net autofs nosuid,indirect,ignore,nobrowse,zone=asqcsat,dev=5340047 1430995592 auto_home /home autofs nodevices,indirect,ignore,nobrowse,zone=asqcsat,dev=5340048 1430995592 -hosts /net/nfs-cluster/san autofs nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340061 1430995660 -hosts /net/nfs-cluster/san/sys autofs nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340062 1430995660 -hosts /net/nfs-cluster/san/www autofs nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340063 1430995660 -hosts /net/nfs-cluster/san/appl autofs nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340064 1430995660 -hosts /net/nfs-cluster/san/gen85 autofs nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340065 1430995660 -hosts /net/nfs-cluster/san/nottn autofs nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340066 1430995660 -hosts /net/nfs-cluster/san/model autofs nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340067 1430995660 -hosts /net/nfs-cluster/san/users autofs nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340068 1430995660 -hosts /net/nfs-cluster/san/project autofs nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340069 1430995660 -hosts /net/nfs-cluster/san/workdmp autofs nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=534006a 1430995660 -hosts /net/nfs-cluster/san/repository autofs nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=534006b 1430995660 Users home directories are on NFS, path is nfs-cluster:/san/users/ Regards, Farhan On Wed, May 27, 2015 at 1:55 PM, Ian Kent <raven@themaw.net> wrote: > On Wed, 2015-05-27 at 10:07 +0800, Ian Kent wrote: >> On Tue, 2015-05-26 at 16:31 +1000, Sohnaeo wrote: >> > Hello Ian, >> > >> > Thank you very much for looking into this. Solaris clients didn't have >> > any issue with the existing master map. In my environment, I do have >> > 99% Solaris clients and I don't want to change master map for few >> > Linux clients. below is the auto_master map on Sun Directory Server >> > >> > dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa >> > automountinformation: nfs-cluster:/san/users/cmes/ahmedf >> > automountkey: ahmedf >> > objectclass: top >> > objectclass: automount >> >> I don't see how that could work, it's not a master map entry, it's a map >> entry. >> >> The problem with this entry is it doesn't provide the information about >> what indirect mount this key belongs to? >> >> You'll need to give me more info about what's in ldap and what the >> mounts look like after automount is started on Solaris. >> >> Start autofs on an idle system, do nothing else, and post the contents >> of /etc/mnttab (assuming that hasn't changed over the years since I >> worked on Solaris systems). If there are obvious things you don't want >> people to see in it then delete those lines but don't delete autofs >> related lines. > > And what path do you use to cause this entry to mount? > >> >> If you want you could log a bug at bugzilla.redhat.com and have it made >> private to so the information isn't available to people not included on >> the cc list or allowed groups. >> >> > >> > >> > I am clueless. >> > >> > On Thu, May 21, 2015 at 4:41 PM, Ian Kent <raven@themaw.net> wrote: >> > > On Thu, 2015-05-21 at 12:42 +1000, Sohnaeo wrote: >> > >> Hello Guys, >> > >> >> > >> I am having an issue with the autofs/automount on Cent OS 7, below is the detail >> > >> >> > >> LDAP Server >> > >> >> > >> >> > >> Solaris 10 >> > >> Sun Directory Server 6.2 >> > >> >> > >> >> > >> LDAP Client >> > >> >> > >> >> > >> CentOS 7 >> > >> >> > >> OpenLdap >> > >> >> > >> >> > >> I issued the below command to enable LDAP authetication. LDAP users >> > >> can successfully authenticated now on CentOs >> > >> >> > >> authconfig --enableldap --enableldapauth --ldapserver=x.x.x.x >> > >> --ldapbasedn=dc=drivess,dc=rtta --disablemkhomedir --update >> > >> >> > >> But somehow users home directories can't be mounted through autofs. >> > >> Below is my autofs.conf file >> > >> >> > >> autofs >> > >> master_map_name = ldap://xxxxx/automountMapName=auto_master,dc=drivess,dc=rtaa >> > >> mount_nfs_default_protocol = 3 >> > >> logging = debug >> > >> ldap_uri = "ldap://x.x.x.x" >> > >> search_base = "automountMapName=auto_master,dc=drivess,dc=rtaa" >> > >> map_object_class = automountMap >> > >> entry_object_class = automount >> > >> map_attribute = automountMapName >> > >> entry_attribute = automountKey >> > >> value_attribute= automountInformation >> > >> auth_conf_file = /etc/autofs_ldap_auth.conf >> > >> map_type = ldap >> > >> >> > >> When I run the below command , it throws an error >> > >> >> > >> automount -m >> > >> get_query_dn: lookup(ldap): found query dn >> > >> automountMapName=auto_master,dc=drivess,dc=rtaa >> > >> lookup_read_master: lookup(ldap): searching for >> > >> "(objectclass=automount)" under >> > >> "automountMapName=auto_master,dc=drivess,dc=rtaa" >> > >> lookup_read_master: lookup(ldap): examining entries >> > >> syntax error in map near ahmedf nfs-cluster: >> > >> >> > >> Below is ldapsearch command result >> > >> ldapsearch -x -b 'automountMapName=auto_master,dc=drivess,dc=rtaa' >> > >> "(objectClass=automountMap)" >> > >> >> > >> dn: automountMapName=auto_master,dc=drivess,dc=rtaa >> > >> automountMapName: auto_master >> > >> objectClass: top >> > >> objectClass: automountMap >> > >> >> > >> ldapsearch -x -b >> > >> 'automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa >> > >> dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa >> > >> automountInformation: nfs-cluster:/san/users/cmes/ahmedf >> > >> automountKey: ahmedf >> > >> objectClass: automount >> > >> objectClass: top >> > >> >> > >> In short, automountInformation is nfs-cluster:/san/users/cmes/ahmedf >> > >> but somehow autmount is complaining "syntax error in map near [ ahmedf >> > >> nfs-cluster: ]" >> > > >> > > That's telling you that your master map is not right. >> > > >> > >> >> > >> >> > >> Any ideas? >> > > >> > > Have a look at the example in /usr/share/doc/autofs: >> > > ldap-automount-rfc2307-bis-auto.master >> > > ldap-automount-rfc2307-bis-auto.indirect >> > > ldap-automount-rfc2307-bis-auto.direct >> > > >> > > For the indirect mount case above you need master map ldap entries that >> > > contain an entry that specifies the indirect mount mount point and the >> > > map where the entries for that mount point are stored. >> > > >> > > Ian >> > > >> > > >> > > >> >> >> -- >> To unsubscribe from this list: send the line "unsubscribe autofs" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Autmount issue 2015-05-27 7:38 ` Sohnaeo @ 2015-05-27 11:10 ` Ian Kent 2015-05-28 0:00 ` Sohnaeo 0 siblings, 1 reply; 12+ messages in thread From: Ian Kent @ 2015-05-27 11:10 UTC (permalink / raw) To: Sohnaeo; +Cc: autofs On Wed, 2015-05-27 at 17:38 +1000, Sohnaeo wrote: > Hi Ian, > > Here is the mnttab of Solaris client > > asqcsat:/ # cat /etc/mnttab |grep autofs So there is no auto_master references here so why does your ldap entry say it belongs to auto_master? Perhaps you load the master map from a file, what's in /etc/auto_master? > > -hosts /net autofs > nosuid,indirect,ignore,nobrowse,zone=asqcsat,dev=5340047 > 1430995592 > auto_home /home autofs > nodevices,indirect,ignore,nobrowse,zone=asqcsat,dev=5340048 > 1430995592 I'd think the ldap entry you mentioned would belong to this indirect mount map, auto_home and not auto_master. > -hosts /net/nfs-cluster/san autofs > nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340061 1430995660 > -hosts /net/nfs-cluster/san/sys autofs > nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340062 1430995660 > -hosts /net/nfs-cluster/san/www autofs > nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340063 1430995660 > -hosts /net/nfs-cluster/san/appl autofs > nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340064 1430995660 > -hosts /net/nfs-cluster/san/gen85 autofs > nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340065 1430995660 > -hosts /net/nfs-cluster/san/nottn autofs > nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340066 1430995660 > -hosts /net/nfs-cluster/san/model autofs > nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340067 1430995660 > -hosts /net/nfs-cluster/san/users autofs > nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340068 1430995660 > -hosts /net/nfs-cluster/san/project autofs > nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340069 1430995660 > -hosts /net/nfs-cluster/san/workdmp autofs > nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=534006a 1430995660 > -hosts /net/nfs-cluster/san/repository autofs > nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=534006b 1430995660 Right, a few host map entries have been accessed by the look of it. > > Users home directories are on NFS, path is nfs-cluster:/san/users/ Yes but the ldap entry below doesn't quite match that either. >dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa So the automountMapName possibly should be auto_home but ... >automountinformation: nfs-cluster:/san/users/cmes/ahmedf the key should be cmes and not ahmedf or perhaps the automountInformation should be nfs-cluster:/san/users/ahmedf but I don't know what your trying to achieve and I don't know what else you have in ldap. >automountkey: ahmedf >objectclass: top >objectclass: automount What do you have in /etc/nsswitch.conf? Presumably it's "automount: files ldap" or "automount: ldap", I can't tell from this. In any case Linux autofs is not tolerant of configurations that aren't quite right and won't just ignore them as Solaris seems to do in some cases. Perhaps this is the source of the problem. Really, putting map entries in what should be the master map is the wrong thing to do and will lead to even more confusion later. For example, what if you have two distinct indirect maps that have some keys of the same name but point to different mount locations, how will the key lookup work out which key belongs to what map? Even if putting them in the master map ldap object works I recommend separating them to be under specific map object holders as is seen in the example I originally pointed you at. It will be much easier to maintain, especially if your maps grow over time (as most do). > > Regards, > > Farhan > > > On Wed, May 27, 2015 at 1:55 PM, Ian Kent <raven@themaw.net> wrote: > > On Wed, 2015-05-27 at 10:07 +0800, Ian Kent wrote: > >> On Tue, 2015-05-26 at 16:31 +1000, Sohnaeo wrote: > >> > Hello Ian, > >> > > >> > Thank you very much for looking into this. Solaris clients didn't have > >> > any issue with the existing master map. In my environment, I do have > >> > 99% Solaris clients and I don't want to change master map for few > >> > Linux clients. below is the auto_master map on Sun Directory Server > >> > > >> > dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > >> > automountinformation: nfs-cluster:/san/users/cmes/ahmedf > >> > automountkey: ahmedf > >> > objectclass: top > >> > objectclass: automount > >> > >> I don't see how that could work, it's not a master map entry, it's a map > >> entry. > >> > >> The problem with this entry is it doesn't provide the information about > >> what indirect mount this key belongs to? > >> > >> You'll need to give me more info about what's in ldap and what the > >> mounts look like after automount is started on Solaris. > >> > >> Start autofs on an idle system, do nothing else, and post the contents > >> of /etc/mnttab (assuming that hasn't changed over the years since I > >> worked on Solaris systems). If there are obvious things you don't want > >> people to see in it then delete those lines but don't delete autofs > >> related lines. > > > > And what path do you use to cause this entry to mount? > > > >> > >> If you want you could log a bug at bugzilla.redhat.com and have it made > >> private to so the information isn't available to people not included on > >> the cc list or allowed groups. > >> > >> > > >> > > >> > I am clueless. > >> > > >> > On Thu, May 21, 2015 at 4:41 PM, Ian Kent <raven@themaw.net> wrote: > >> > > On Thu, 2015-05-21 at 12:42 +1000, Sohnaeo wrote: > >> > >> Hello Guys, > >> > >> > >> > >> I am having an issue with the autofs/automount on Cent OS 7, below is the detail > >> > >> > >> > >> LDAP Server > >> > >> > >> > >> > >> > >> Solaris 10 > >> > >> Sun Directory Server 6.2 > >> > >> > >> > >> > >> > >> LDAP Client > >> > >> > >> > >> > >> > >> CentOS 7 > >> > >> > >> > >> OpenLdap > >> > >> > >> > >> > >> > >> I issued the below command to enable LDAP authetication. LDAP users > >> > >> can successfully authenticated now on CentOs > >> > >> > >> > >> authconfig --enableldap --enableldapauth --ldapserver=x.x.x.x > >> > >> --ldapbasedn=dc=drivess,dc=rtta --disablemkhomedir --update > >> > >> > >> > >> But somehow users home directories can't be mounted through autofs. > >> > >> Below is my autofs.conf file > >> > >> > >> > >> autofs > >> > >> master_map_name = ldap://xxxxx/automountMapName=auto_master,dc=drivess,dc=rtaa > >> > >> mount_nfs_default_protocol = 3 > >> > >> logging = debug > >> > >> ldap_uri = "ldap://x.x.x.x" > >> > >> search_base = "automountMapName=auto_master,dc=drivess,dc=rtaa" > >> > >> map_object_class = automountMap > >> > >> entry_object_class = automount > >> > >> map_attribute = automountMapName > >> > >> entry_attribute = automountKey > >> > >> value_attribute= automountInformation > >> > >> auth_conf_file = /etc/autofs_ldap_auth.conf > >> > >> map_type = ldap > >> > >> > >> > >> When I run the below command , it throws an error > >> > >> > >> > >> automount -m > >> > >> get_query_dn: lookup(ldap): found query dn > >> > >> automountMapName=auto_master,dc=drivess,dc=rtaa > >> > >> lookup_read_master: lookup(ldap): searching for > >> > >> "(objectclass=automount)" under > >> > >> "automountMapName=auto_master,dc=drivess,dc=rtaa" > >> > >> lookup_read_master: lookup(ldap): examining entries > >> > >> syntax error in map near ahmedf nfs-cluster: > >> > >> > >> > >> Below is ldapsearch command result > >> > >> ldapsearch -x -b 'automountMapName=auto_master,dc=drivess,dc=rtaa' > >> > >> "(objectClass=automountMap)" > >> > >> > >> > >> dn: automountMapName=auto_master,dc=drivess,dc=rtaa > >> > >> automountMapName: auto_master > >> > >> objectClass: top > >> > >> objectClass: automountMap > >> > >> > >> > >> ldapsearch -x -b > >> > >> 'automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > >> > >> dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > >> > >> automountInformation: nfs-cluster:/san/users/cmes/ahmedf > >> > >> automountKey: ahmedf > >> > >> objectClass: automount > >> > >> objectClass: top > >> > >> > >> > >> In short, automountInformation is nfs-cluster:/san/users/cmes/ahmedf > >> > >> but somehow autmount is complaining "syntax error in map near [ ahmedf > >> > >> nfs-cluster: ]" > >> > > > >> > > That's telling you that your master map is not right. > >> > > > >> > >> > >> > >> > >> > >> Any ideas? > >> > > > >> > > Have a look at the example in /usr/share/doc/autofs: > >> > > ldap-automount-rfc2307-bis-auto.master > >> > > ldap-automount-rfc2307-bis-auto.indirect > >> > > ldap-automount-rfc2307-bis-auto.direct > >> > > > >> > > For the indirect mount case above you need master map ldap entries that > >> > > contain an entry that specifies the indirect mount mount point and the > >> > > map where the entries for that mount point are stored. > >> > > > >> > > Ian > >> > > > >> > > > >> > > > >> > >> > >> -- > >> To unsubscribe from this list: send the line "unsubscribe autofs" in > >> the body of a message to majordomo@vger.kernel.org > >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Autmount issue 2015-05-27 11:10 ` Ian Kent @ 2015-05-28 0:00 ` Sohnaeo 2015-05-28 1:46 ` Ian Kent 0 siblings, 1 reply; 12+ messages in thread From: Sohnaeo @ 2015-05-28 0:00 UTC (permalink / raw) To: Ian Kent; +Cc: autofs Hi Ian, Thanks heaps looking further into this. We do have only one master map which is auto_home. You are right about auto_master, in fact in my LDAP server there was only auto_home but somehow Linux ldap client always looking for auto_master so I had to create auto_master and create a entry in it but then I hit syntax error. But anyways I reverted back to auto_home and fix things in autofs.conf and it looks much better now but still having syntax error. I try again to provide you as much as information as I can. LDAP Server: ----------------- dn: automountMapName=auto_home,dc=drivess,dc=rtaa aci: (target = ldap:///automountMapName=auto_home,dc=drivess,dc=rtaa) (targetscope = subtree) (targetattr="*") (version 3.0; acl "Adding automount"; allow (all, import, export, proxy) (userdn = "ldap:///all" or userdn = "ldap:///self" or userdn = "ldap:///cn=proxyagent,ou=profile,dc=drivess,dc=rtaa") ;) automountmapname: auto_home objectclass: top objectclass: automountMap dn: automountkey=ahmedf,automountMapName=auto_home,dc=drivess,dc=rtaa automountinformation: nfs-cluster:/san/users/cmes/ahmedf automountkey: ahmedf objectclass: top objectclass: automount Linux client ---------------- autofs.conf [ autofs ] master_map_name = "ldap://x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa" ldap_uri = "ldap://x.x.x.x" search_base = "automountMapName=auto_home,dc=drivess,dc=rtaa map_object_class = automountMap entry_object_class = automount map_attribute = automountMapName entry_attribute = automountKey value_attribute= automountInformation auth_conf_file = /etc/autofs_ldap_auth.conf normalize_slashes = "yes" ldap_base = "dc=drivess,dc=rtaa" ldap_base = "ldap://x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa" [ amd ] map_type = ldap [root@splunk-tst ~]# automount -m lookup_nss_read_master: reading master ldap //x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa parse_server_string: lookup(ldap): Attempting to parse LDAP information from string "ldap://x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa". parse_server_string: lookup(ldap): server "ldap://x.x.x.x/", base dn "automountMapName=auto_home,dc=drivess,dc=rtaa" parse_ldap_config: lookup(ldap): ldap authentication configured with the following options: parse_ldap_config: lookup(ldap): use_tls: 0, tls_required: 0, auth_required: 1, sasl_mech: (null) parse_ldap_config: lookup(ldap): user: (null), secret: unspecified, client principal: (null) credential cache: (null) parse_init: parse(sun): init gathered global options: (null) spawn_mount: mtab link detected, passing -n to mount spawn_umount: mtab link detected, passing -n to mount do_bind: lookup(ldap): auth_required: 1, sasl_mech (null) do_bind: lookup(ldap): ldap simple bind returned 0 get_query_dn: lookup(ldap): found query dn automountMapName=auto_home,dc=drivess,dc=rtaa lookup_read_master: lookup(ldap): searching for "(objectclass=automount)" under "automountMapName=auto_home,dc=drivess,dc=rtaa" lookup_read_master: lookup(ldap): examining entries syntax error in map near [ adels nfs-cluster: ] syntax error in map near [ san ] syntax error in map near [ users ] syntax error in map near [ ad ] syntax error in map near [ soma ] [root@splunk-tst ~]# more /etc/nsswitch.conf|grep autom automount: files ldap Working through auto.home on Linux clients =============================== [root@splunk-tst ~]# more /etc/autofs.conf |grep auto.master master_map_name = auto.master I can make it work through auto.master like below but I wanted to mount the users home directory via LDAP automount [root@splunk-tst ~]# more /etc/auto.master /home /etc/auto.home /net -hosts +auto.master [root@splunk-tst ~]# more /etc/auto.home * -fstype=nfs,rw nfs-cluster:/san/users/cmes/& \ nfs-cluster:/san/users/techdev/& \ nfs-cluster:/san/users/ad/& \ nfs-cluster:/san/users/systest/& [root@splunk-tst ~]# cat /etc/mtab |grep autofs systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=34,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0 /etc/auto.home /home autofs rw,relatime,fd=7,pgrp=10163,timeout=300,minproto=5,maxproto=5,indirect 0 0 -hosts /net autofs rw,relatime,fd=13,pgrp=10163,timeout=300,minproto=5,maxproto=5,indirect 0 0 Solaris Client -------- I can login as LDAP user and my home directory mounted in right way through automount asqcsat:/ # more /etc/auto_master +auto_master /net -hosts -nosuid,nobrowse,hard,intr /home auto_home -nobrowse,hard,intr asqcsat:/ # more /etc/auto_home +auto_home On Wed, May 27, 2015 at 9:10 PM, Ian Kent <raven@themaw.net> wrote: > On Wed, 2015-05-27 at 17:38 +1000, Sohnaeo wrote: >> Hi Ian, >> >> Here is the mnttab of Solaris client >> >> asqcsat:/ # cat /etc/mnttab |grep autofs > > So there is no auto_master references here so why does your ldap entry > say it belongs to auto_master? > > Perhaps you load the master map from a file, what's in /etc/auto_master? > >> >> -hosts /net autofs >> nosuid,indirect,ignore,nobrowse,zone=asqcsat,dev=5340047 >> 1430995592 >> auto_home /home autofs >> nodevices,indirect,ignore,nobrowse,zone=asqcsat,dev=5340048 >> 1430995592 > > I'd think the ldap entry you mentioned would belong to this indirect > mount map, auto_home and not auto_master. > >> -hosts /net/nfs-cluster/san autofs >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340061 1430995660 >> -hosts /net/nfs-cluster/san/sys autofs >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340062 1430995660 >> -hosts /net/nfs-cluster/san/www autofs >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340063 1430995660 >> -hosts /net/nfs-cluster/san/appl autofs >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340064 1430995660 >> -hosts /net/nfs-cluster/san/gen85 autofs >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340065 1430995660 >> -hosts /net/nfs-cluster/san/nottn autofs >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340066 1430995660 >> -hosts /net/nfs-cluster/san/model autofs >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340067 1430995660 >> -hosts /net/nfs-cluster/san/users autofs >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340068 1430995660 >> -hosts /net/nfs-cluster/san/project autofs >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340069 1430995660 >> -hosts /net/nfs-cluster/san/workdmp autofs >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=534006a 1430995660 >> -hosts /net/nfs-cluster/san/repository autofs >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=534006b 1430995660 > > Right, a few host map entries have been accessed by the look of it. > >> >> Users home directories are on NFS, path is nfs-cluster:/san/users/ > > Yes but the ldap entry below doesn't quite match that either. > >>dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > > So the automountMapName possibly should be auto_home but ... > >>automountinformation: nfs-cluster:/san/users/cmes/ahmedf > > the key should be cmes and not ahmedf or perhaps the > automountInformation should be nfs-cluster:/san/users/ahmedf > but I don't know what your trying to achieve and I don't know what else > you have in ldap. > >>automountkey: ahmedf >>objectclass: top >>objectclass: automount > > What do you have in /etc/nsswitch.conf? > Presumably it's "automount: files ldap" or "automount: ldap", I can't > tell from this. > > In any case Linux autofs is not tolerant of configurations that aren't > quite right and won't just ignore them as Solaris seems to do in some > cases. Perhaps this is the source of the problem. > > Really, putting map entries in what should be the master map is the > wrong thing to do and will lead to even more confusion later. For > example, what if you have two distinct indirect maps that have some keys > of the same name but point to different mount locations, how will the > key lookup work out which key belongs to what map? > > Even if putting them in the master map ldap object works I recommend > separating them to be under specific map object holders as is seen in > the example I originally pointed you at. It will be much easier to > maintain, especially if your maps grow over time (as most do). > >> >> Regards, >> >> Farhan >> >> >> On Wed, May 27, 2015 at 1:55 PM, Ian Kent <raven@themaw.net> wrote: >> > On Wed, 2015-05-27 at 10:07 +0800, Ian Kent wrote: >> >> On Tue, 2015-05-26 at 16:31 +1000, Sohnaeo wrote: >> >> > Hello Ian, >> >> > >> >> > Thank you very much for looking into this. Solaris clients didn't have >> >> > any issue with the existing master map. In my environment, I do have >> >> > 99% Solaris clients and I don't want to change master map for few >> >> > Linux clients. below is the auto_master map on Sun Directory Server >> >> > >> >> > dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa >> >> > automountinformation: nfs-cluster:/san/users/cmes/ahmedf >> >> > automountkey: ahmedf >> >> > objectclass: top >> >> > objectclass: automount >> >> >> >> I don't see how that could work, it's not a master map entry, it's a map >> >> entry. >> >> >> >> The problem with this entry is it doesn't provide the information about >> >> what indirect mount this key belongs to? >> >> >> >> You'll need to give me more info about what's in ldap and what the >> >> mounts look like after automount is started on Solaris. >> >> >> >> Start autofs on an idle system, do nothing else, and post the contents >> >> of /etc/mnttab (assuming that hasn't changed over the years since I >> >> worked on Solaris systems). If there are obvious things you don't want >> >> people to see in it then delete those lines but don't delete autofs >> >> related lines. >> > >> > And what path do you use to cause this entry to mount? >> > >> >> >> >> If you want you could log a bug at bugzilla.redhat.com and have it made >> >> private to so the information isn't available to people not included on >> >> the cc list or allowed groups. >> >> >> >> > >> >> > >> >> > I am clueless. >> >> > >> >> > On Thu, May 21, 2015 at 4:41 PM, Ian Kent <raven@themaw.net> wrote: >> >> > > On Thu, 2015-05-21 at 12:42 +1000, Sohnaeo wrote: >> >> > >> Hello Guys, >> >> > >> >> >> > >> I am having an issue with the autofs/automount on Cent OS 7, below is the detail >> >> > >> >> >> > >> LDAP Server >> >> > >> >> >> > >> >> >> > >> Solaris 10 >> >> > >> Sun Directory Server 6.2 >> >> > >> >> >> > >> >> >> > >> LDAP Client >> >> > >> >> >> > >> >> >> > >> CentOS 7 >> >> > >> >> >> > >> OpenLdap >> >> > >> >> >> > >> >> >> > >> I issued the below command to enable LDAP authetication. LDAP users >> >> > >> can successfully authenticated now on CentOs >> >> > >> >> >> > >> authconfig --enableldap --enableldapauth --ldapserver=x.x.x.x >> >> > >> --ldapbasedn=dc=drivess,dc=rtta --disablemkhomedir --update >> >> > >> >> >> > >> But somehow users home directories can't be mounted through autofs. >> >> > >> Below is my autofs.conf file >> >> > >> >> >> > >> autofs >> >> > >> master_map_name = ldap://xxxxx/automountMapName=auto_master,dc=drivess,dc=rtaa >> >> > >> mount_nfs_default_protocol = 3 >> >> > >> logging = debug >> >> > >> ldap_uri = "ldap://x.x.x.x" >> >> > >> search_base = "automountMapName=auto_master,dc=drivess,dc=rtaa" >> >> > >> map_object_class = automountMap >> >> > >> entry_object_class = automount >> >> > >> map_attribute = automountMapName >> >> > >> entry_attribute = automountKey >> >> > >> value_attribute= automountInformation >> >> > >> auth_conf_file = /etc/autofs_ldap_auth.conf >> >> > >> map_type = ldap >> >> > >> >> >> > >> When I run the below command , it throws an error >> >> > >> >> >> > >> automount -m >> >> > >> get_query_dn: lookup(ldap): found query dn >> >> > >> automountMapName=auto_master,dc=drivess,dc=rtaa >> >> > >> lookup_read_master: lookup(ldap): searching for >> >> > >> "(objectclass=automount)" under >> >> > >> "automountMapName=auto_master,dc=drivess,dc=rtaa" >> >> > >> lookup_read_master: lookup(ldap): examining entries >> >> > >> syntax error in map near ahmedf nfs-cluster: >> >> > >> >> >> > >> Below is ldapsearch command result >> >> > >> ldapsearch -x -b 'automountMapName=auto_master,dc=drivess,dc=rtaa' >> >> > >> "(objectClass=automountMap)" >> >> > >> >> >> > >> dn: automountMapName=auto_master,dc=drivess,dc=rtaa >> >> > >> automountMapName: auto_master >> >> > >> objectClass: top >> >> > >> objectClass: automountMap >> >> > >> >> >> > >> ldapsearch -x -b >> >> > >> 'automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa >> >> > >> dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa >> >> > >> automountInformation: nfs-cluster:/san/users/cmes/ahmedf >> >> > >> automountKey: ahmedf >> >> > >> objectClass: automount >> >> > >> objectClass: top >> >> > >> >> >> > >> In short, automountInformation is nfs-cluster:/san/users/cmes/ahmedf >> >> > >> but somehow autmount is complaining "syntax error in map near [ ahmedf >> >> > >> nfs-cluster: ]" >> >> > > >> >> > > That's telling you that your master map is not right. >> >> > > >> >> > >> >> >> > >> >> >> > >> Any ideas? >> >> > > >> >> > > Have a look at the example in /usr/share/doc/autofs: >> >> > > ldap-automount-rfc2307-bis-auto.master >> >> > > ldap-automount-rfc2307-bis-auto.indirect >> >> > > ldap-automount-rfc2307-bis-auto.direct >> >> > > >> >> > > For the indirect mount case above you need master map ldap entries that >> >> > > contain an entry that specifies the indirect mount mount point and the >> >> > > map where the entries for that mount point are stored. >> >> > > >> >> > > Ian >> >> > > >> >> > > >> >> > > >> >> >> >> >> >> -- >> >> To unsubscribe from this list: send the line "unsubscribe autofs" in >> >> the body of a message to majordomo@vger.kernel.org >> >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> > >> > > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Autmount issue 2015-05-28 0:00 ` Sohnaeo @ 2015-05-28 1:46 ` Ian Kent 2015-05-28 2:19 ` Ian Kent 0 siblings, 1 reply; 12+ messages in thread From: Ian Kent @ 2015-05-28 1:46 UTC (permalink / raw) To: Sohnaeo; +Cc: autofs On Thu, 2015-05-28 at 10:00 +1000, Sohnaeo wrote: > Hi Ian, > > Thanks heaps looking further into this. We do have only one master map > which is auto_home. You are right about auto_master, in fact in my > LDAP server there was only auto_home but somehow Linux ldap client > always looking for auto_master so I had to create auto_master and > create a entry in it but then I hit syntax error. But anyways I > reverted back to auto_home and fix things in autofs.conf and it looks > much better now but still having syntax error. I try again to provide > you as much as information as I can. I don't think you understand the difference between the master map and the maps that it refers to. You need to look at the example maps I mentioned in the beginning. The master map defines autofs managed mount points and specifies the map they use. There are other cases but I'm only going to describe a simple master map with one entry that refers to an indirect map with three entries. For example: Create an ldap object to contain master map entries (one ldap container entry is needed for each distinct map, a master map in this case): dn: automountMapName=auto_master,dc=themaw,dc=net objectClass: top objectClass: automountMap automountMapName: auto_master Create ldap objects for each master map entry (only one entry in this example): dn: description=/ldap, automountMapName=auto_master,dc=themaw,dc=net objectClass: top objectClass: automount automountKey: /ldap automountInformation: auto_indirect description: /ldap These entries are equivalent to this in a file based master map (such as /etc/auto_master): /ldap auto_indirect Note: the first field, the key, is always an absolute path in the master map (except for direct map entries, but I digress). Then create an ldap object to contain the map entries for each map referred to in the master map (only one in this example, auto_indirect): dn: automountMapName=auto_indirect,dc=themaw,dc=net objectClass: top objectClass: automountMap automountMapName: auto_indirect Create ldap objects for each entry in the given map (auto_indirect with three map entries in this case): dn: automountKey=bin,automountMapName=auto_indirect,dc=themaw,dc=net objectClass: top objectClass: automount automountKey: bin automountInformation: budgie:/usr/local/bin dn: automountKey=etc,automountMapName=auto_indirect,dc=themaw,dc=net objectClass: top objectClass: automount automountKey: etc automountInformation: budgie:/usr/local/etc dn: automountKey=lib,automountMapName=auto_indirect,dc=themaw,dc=net objectClass: top objectClass: automount automountKey: lib automountInformation: budgie:/usr/local/lib These entries are equivalent to this in a file based indirect map, /etc/auto_indirect: bin budgie:/usr/local/bin etc budgie:/usr/local/etc lib budgie:/usr/local/lib Note that the first field is a single path component only without any path component separators (again different for direct maps, but we aren't talking about them here). > > > LDAP Server: > ----------------- > > dn: automountMapName=auto_home,dc=drivess,dc=rtaa > aci: (target = ldap:///automountMapName=auto_home,dc=drivess,dc=rtaa) > (targetscope = subtree) (targetattr="*") (version 3.0; acl "Adding > automount"; allow (all, import, export, proxy) (userdn = "ldap:///all" > or userdn = "ldap:///self" or userdn = > "ldap:///cn=proxyagent,ou=profile,dc=drivess,dc=rtaa") ;) > automountmapname: auto_home > objectclass: top > bjectclass: automountMap Assuming "bjectclass" is a typo. Given the above description this is not a master map, it's a container for the map auto_home. > > > dn: automountkey=ahmedf,automountMapName=auto_home,dc=drivess,dc=rtaa > automountinformation: nfs-cluster:/san/users/cmes/ahmedf > automountkey: ahmedf > objectclass: top > objectclass: automount And this is a map entry belonging to auto_home. You've not provided any master map ldap objects so I have no idea how the above entries can be used but see below as it might become clear ... > > > Linux client > ---------------- Judging by the Solaris configuration below (and assuming it also has "automount: files ldap" in /etc/nsswitch.conf you might have more success with ... > > autofs.conf > > [ autofs ] > master_map_name = "ldap://x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa" Set this to auto_master and ensure /etc/auto_master exists so that the "files" nsswitch source is used for the master map. > ldap_uri = "ldap://x.x.x.x" > search_base = "automountMapName=auto_home,dc=drivess,dc=rtaa It's usually better to put the server address and ldap base in /etc/openldap/ldap.conf. In this case it should be: BASE dc=drivess,dc=rtaa URI ldap://x.x.x.x > map_object_class = automountMap > entry_object_class = automount > map_attribute = automountMapName > entry_attribute = automountKey > value_attribute= automountInformation If you create the ldap entries as described Linux should be able to work this out automatically and I believe Solaris should still function. > auth_conf_file = /etc/autofs_ldap_auth.conf > normalize_slashes = "yes" > ldap_base = "dc=drivess,dc=rtaa" > ldap_base = "ldap://x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa" There's no such configuration options as normalize_slashes or ldap_base in the [ autofs ] section of the configuration (ie. Sun format maps). They are only valid in the [ amd ] section (ie. for amd format maps). > [ amd ] > > map_type = ldap AFAICT you aren't using amd format maps so this is not used. Now create /etc/auto_master as: +auto_master /net -hosts -nosuid,nobrowse,hard,intr /home auto_home -nobrowse,hard,intr or as: /net -hosts -nosuid,nobrowse,hard,intr /home auto_home -nobrowse,hard,intr +auto_master depending on whether you want to be able to override the file based master map entries for /net or /home, in the former case, or override master map ldap entries (if they exist) for the later case. Ensure that /etc/auto_home does not exist so that the nsswitch.conf entry "automount: files ldap" will not find a local auto_home and will then look to ldap and should find the ldap auto_home map entries. This approach is I think common on Solaris installs since it fits easily with the default install. Note that IIUC there's no ldap auto_master in your case so the plus map inclusion of the master map ("+auto_master") will not find anything as the "files" nsswitch source is skipped because plus map inclusion is only allowed in file based maps. > > > [root@splunk-tst ~]# automount -m > lookup_nss_read_master: reading master ldap > //x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa > parse_server_string: lookup(ldap): Attempting to parse LDAP > information from string > "ldap://x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa". > parse_server_string: lookup(ldap): server "ldap://x.x.x.x/", base dn > "automountMapName=auto_home,dc=drivess,dc=rtaa" > parse_ldap_config: lookup(ldap): ldap authentication configured with > the following options: > parse_ldap_config: lookup(ldap): use_tls: 0, tls_required: 0, > auth_required: 1, sasl_mech: (null) > parse_ldap_config: lookup(ldap): user: (null), secret: unspecified, > client principal: (null) credential cache: (null) > parse_init: parse(sun): init gathered global options: (null) > spawn_mount: mtab link detected, passing -n to mount > spawn_umount: mtab link detected, passing -n to mount > do_bind: lookup(ldap): auth_required: 1, sasl_mech (null) > do_bind: lookup(ldap): ldap simple bind returned 0 > get_query_dn: lookup(ldap): found query dn > automountMapName=auto_home,dc=drivess,dc=rtaa > lookup_read_master: lookup(ldap): searching for > "(objectclass=automount)" under > "automountMapName=auto_home,dc=drivess,dc=rtaa" > lookup_read_master: lookup(ldap): examining entries > syntax error in map near [ adels nfs-cluster: ] > syntax error in map near [ san ] > syntax error in map near [ users ] > syntax error in map near [ ad ] > syntax error in map near [ soma ] > > > > [root@splunk-tst ~]# more /etc/nsswitch.conf|grep autom > automount: files ldap > > > > Working through auto.home on Linux clients > =============================== > > [root@splunk-tst ~]# more /etc/autofs.conf |grep auto.master > > master_map_name = auto.master > > > I can make it work through auto.master like below but I wanted to > mount the users home directory via LDAP automount > > [root@splunk-tst ~]# more /etc/auto.master > /home /etc/auto.home > /net -hosts > +auto.master > > [root@splunk-tst ~]# more /etc/auto.home > * -fstype=nfs,rw nfs-cluster:/san/users/cmes/& \ > nfs-cluster:/san/users/techdev/& \ > nfs-cluster:/san/users/ad/& \ > nfs-cluster:/san/users/systest/& > > > [root@splunk-tst ~]# cat /etc/mtab |grep autofs > systemd-1 /proc/sys/fs/binfmt_misc autofs > rw,relatime,fd=34,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0 > /etc/auto.home /home autofs > rw,relatime,fd=7,pgrp=10163,timeout=300,minproto=5,maxproto=5,indirect > 0 0 > -hosts /net autofs > rw,relatime,fd=13,pgrp=10163,timeout=300,minproto=5,maxproto=5,indirect > 0 0 > > > > Solaris Client > -------- > > I can login as LDAP user and my home directory mounted in right way > through automount > > asqcsat:/ # more /etc/auto_master > > +auto_master > /net -hosts -nosuid,nobrowse,hard,intr > /home auto_home -nobrowse,hard,intr > > asqcsat:/ # more /etc/auto_home > > +auto_home > > On Wed, May 27, 2015 at 9:10 PM, Ian Kent <raven@themaw.net> wrote: > > On Wed, 2015-05-27 at 17:38 +1000, Sohnaeo wrote: > >> Hi Ian, > >> > >> Here is the mnttab of Solaris client > >> > >> asqcsat:/ # cat /etc/mnttab |grep autofs > > > > So there is no auto_master references here so why does your ldap entry > > say it belongs to auto_master? > > > > Perhaps you load the master map from a file, what's in /etc/auto_master? > > > >> > >> -hosts /net autofs > >> nosuid,indirect,ignore,nobrowse,zone=asqcsat,dev=5340047 > >> 1430995592 > >> auto_home /home autofs > >> nodevices,indirect,ignore,nobrowse,zone=asqcsat,dev=5340048 > >> 1430995592 > > > > I'd think the ldap entry you mentioned would belong to this indirect > > mount map, auto_home and not auto_master. > > > >> -hosts /net/nfs-cluster/san autofs > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340061 1430995660 > >> -hosts /net/nfs-cluster/san/sys autofs > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340062 1430995660 > >> -hosts /net/nfs-cluster/san/www autofs > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340063 1430995660 > >> -hosts /net/nfs-cluster/san/appl autofs > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340064 1430995660 > >> -hosts /net/nfs-cluster/san/gen85 autofs > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340065 1430995660 > >> -hosts /net/nfs-cluster/san/nottn autofs > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340066 1430995660 > >> -hosts /net/nfs-cluster/san/model autofs > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340067 1430995660 > >> -hosts /net/nfs-cluster/san/users autofs > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340068 1430995660 > >> -hosts /net/nfs-cluster/san/project autofs > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340069 1430995660 > >> -hosts /net/nfs-cluster/san/workdmp autofs > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=534006a 1430995660 > >> -hosts /net/nfs-cluster/san/repository autofs > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=534006b 1430995660 > > > > Right, a few host map entries have been accessed by the look of it. > > > >> > >> Users home directories are on NFS, path is nfs-cluster:/san/users/ > > > > Yes but the ldap entry below doesn't quite match that either. > > > >>dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > > > > So the automountMapName possibly should be auto_home but ... > > > >>automountinformation: nfs-cluster:/san/users/cmes/ahmedf > > > > the key should be cmes and not ahmedf or perhaps the > > automountInformation should be nfs-cluster:/san/users/ahmedf > > but I don't know what your trying to achieve and I don't know what else > > you have in ldap. > > > >>automountkey: ahmedf > >>objectclass: top > >>objectclass: automount > > > > What do you have in /etc/nsswitch.conf? > > Presumably it's "automount: files ldap" or "automount: ldap", I can't > > tell from this. > > > > In any case Linux autofs is not tolerant of configurations that aren't > > quite right and won't just ignore them as Solaris seems to do in some > > cases. Perhaps this is the source of the problem. > > > > Really, putting map entries in what should be the master map is the > > wrong thing to do and will lead to even more confusion later. For > > example, what if you have two distinct indirect maps that have some keys > > of the same name but point to different mount locations, how will the > > key lookup work out which key belongs to what map? > > > > Even if putting them in the master map ldap object works I recommend > > separating them to be under specific map object holders as is seen in > > the example I originally pointed you at. It will be much easier to > > maintain, especially if your maps grow over time (as most do). > > > >> > >> Regards, > >> > >> Farhan > >> > >> > >> On Wed, May 27, 2015 at 1:55 PM, Ian Kent <raven@themaw.net> wrote: > >> > On Wed, 2015-05-27 at 10:07 +0800, Ian Kent wrote: > >> >> On Tue, 2015-05-26 at 16:31 +1000, Sohnaeo wrote: > >> >> > Hello Ian, > >> >> > > >> >> > Thank you very much for looking into this. Solaris clients didn't have > >> >> > any issue with the existing master map. In my environment, I do have > >> >> > 99% Solaris clients and I don't want to change master map for few > >> >> > Linux clients. below is the auto_master map on Sun Directory Server > >> >> > > >> >> > dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > >> >> > automountinformation: nfs-cluster:/san/users/cmes/ahmedf > >> >> > automountkey: ahmedf > >> >> > objectclass: top > >> >> > objectclass: automount > >> >> > >> >> I don't see how that could work, it's not a master map entry, it's a map > >> >> entry. > >> >> > >> >> The problem with this entry is it doesn't provide the information about > >> >> what indirect mount this key belongs to? > >> >> > >> >> You'll need to give me more info about what's in ldap and what the > >> >> mounts look like after automount is started on Solaris. > >> >> > >> >> Start autofs on an idle system, do nothing else, and post the contents > >> >> of /etc/mnttab (assuming that hasn't changed over the years since I > >> >> worked on Solaris systems). If there are obvious things you don't want > >> >> people to see in it then delete those lines but don't delete autofs > >> >> related lines. > >> > > >> > And what path do you use to cause this entry to mount? > >> > > >> >> > >> >> If you want you could log a bug at bugzilla.redhat.com and have it made > >> >> private to so the information isn't available to people not included on > >> >> the cc list or allowed groups. > >> >> > >> >> > > >> >> > > >> >> > I am clueless. > >> >> > > >> >> > On Thu, May 21, 2015 at 4:41 PM, Ian Kent <raven@themaw.net> wrote: > >> >> > > On Thu, 2015-05-21 at 12:42 +1000, Sohnaeo wrote: > >> >> > >> Hello Guys, > >> >> > >> > >> >> > >> I am having an issue with the autofs/automount on Cent OS 7, below is the detail > >> >> > >> > >> >> > >> LDAP Server > >> >> > >> > >> >> > >> > >> >> > >> Solaris 10 > >> >> > >> Sun Directory Server 6.2 > >> >> > >> > >> >> > >> > >> >> > >> LDAP Client > >> >> > >> > >> >> > >> > >> >> > >> CentOS 7 > >> >> > >> > >> >> > >> OpenLdap > >> >> > >> > >> >> > >> > >> >> > >> I issued the below command to enable LDAP authetication. LDAP users > >> >> > >> can successfully authenticated now on CentOs > >> >> > >> > >> >> > >> authconfig --enableldap --enableldapauth --ldapserver=x.x.x.x > >> >> > >> --ldapbasedn=dc=drivess,dc=rtta --disablemkhomedir --update > >> >> > >> > >> >> > >> But somehow users home directories can't be mounted through autofs. > >> >> > >> Below is my autofs.conf file > >> >> > >> > >> >> > >> autofs > >> >> > >> master_map_name = ldap://xxxxx/automountMapName=auto_master,dc=drivess,dc=rtaa > >> >> > >> mount_nfs_default_protocol = 3 > >> >> > >> logging = debug > >> >> > >> ldap_uri = "ldap://x.x.x.x" > >> >> > >> search_base = "automountMapName=auto_master,dc=drivess,dc=rtaa" > >> >> > >> map_object_class = automountMap > >> >> > >> entry_object_class = automount > >> >> > >> map_attribute = automountMapName > >> >> > >> entry_attribute = automountKey > >> >> > >> value_attribute= automountInformation > >> >> > >> auth_conf_file = /etc/autofs_ldap_auth.conf > >> >> > >> map_type = ldap > >> >> > >> > >> >> > >> When I run the below command , it throws an error > >> >> > >> > >> >> > >> automount -m > >> >> > >> get_query_dn: lookup(ldap): found query dn > >> >> > >> automountMapName=auto_master,dc=drivess,dc=rtaa > >> >> > >> lookup_read_master: lookup(ldap): searching for > >> >> > >> "(objectclass=automount)" under > >> >> > >> "automountMapName=auto_master,dc=drivess,dc=rtaa" > >> >> > >> lookup_read_master: lookup(ldap): examining entries > >> >> > >> syntax error in map near ahmedf nfs-cluster: > >> >> > >> > >> >> > >> Below is ldapsearch command result > >> >> > >> ldapsearch -x -b 'automountMapName=auto_master,dc=drivess,dc=rtaa' > >> >> > >> "(objectClass=automountMap)" > >> >> > >> > >> >> > >> dn: automountMapName=auto_master,dc=drivess,dc=rtaa > >> >> > >> automountMapName: auto_master > >> >> > >> objectClass: top > >> >> > >> objectClass: automountMap > >> >> > >> > >> >> > >> ldapsearch -x -b > >> >> > >> 'automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > >> >> > >> dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > >> >> > >> automountInformation: nfs-cluster:/san/users/cmes/ahmedf > >> >> > >> automountKey: ahmedf > >> >> > >> objectClass: automount > >> >> > >> objectClass: top > >> >> > >> > >> >> > >> In short, automountInformation is nfs-cluster:/san/users/cmes/ahmedf > >> >> > >> but somehow autmount is complaining "syntax error in map near [ ahmedf > >> >> > >> nfs-cluster: ]" > >> >> > > > >> >> > > That's telling you that your master map is not right. > >> >> > > > >> >> > >> > >> >> > >> > >> >> > >> Any ideas? > >> >> > > > >> >> > > Have a look at the example in /usr/share/doc/autofs: > >> >> > > ldap-automount-rfc2307-bis-auto.master > >> >> > > ldap-automount-rfc2307-bis-auto.indirect > >> >> > > ldap-automount-rfc2307-bis-auto.direct > >> >> > > > >> >> > > For the indirect mount case above you need master map ldap entries that > >> >> > > contain an entry that specifies the indirect mount mount point and the > >> >> > > map where the entries for that mount point are stored. > >> >> > > > >> >> > > Ian > >> >> > > > >> >> > > > >> >> > > > >> >> > >> >> > >> >> -- > >> >> To unsubscribe from this list: send the line "unsubscribe autofs" in > >> >> the body of a message to majordomo@vger.kernel.org > >> >> More majordomo info at http://vger.kernel.org/majordomo-info.html > >> > > >> > > > > > ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Autmount issue 2015-05-28 1:46 ` Ian Kent @ 2015-05-28 2:19 ` Ian Kent 2015-05-28 2:39 ` Ian Kent 0 siblings, 1 reply; 12+ messages in thread From: Ian Kent @ 2015-05-28 2:19 UTC (permalink / raw) To: Sohnaeo; +Cc: autofs On Thu, 2015-05-28 at 09:46 +0800, Ian Kent wrote: > On Thu, 2015-05-28 at 10:00 +1000, Sohnaeo wrote: > > Hi Ian, > > > > Thanks heaps looking further into this. We do have only one master map > > which is auto_home. You are right about auto_master, in fact in my > > LDAP server there was only auto_home but somehow Linux ldap client > > always looking for auto_master so I had to create auto_master and > > create a entry in it but then I hit syntax error. But anyways I > > reverted back to auto_home and fix things in autofs.conf and it looks > > much better now but still having syntax error. I try again to provide > > you as much as information as I can. > > I don't think you understand the difference between the master map and > the maps that it refers to. > > You need to look at the example maps I mentioned in the beginning. > > The master map defines autofs managed mount points and specifies the map > they use. > > There are other cases but I'm only going to describe a simple master map > with one entry that refers to an indirect map with three entries. > > For example: > > Create an ldap object to contain master map entries (one ldap container > entry is needed for each distinct map, a master map in this case): > > dn: automountMapName=auto_master,dc=themaw,dc=net > objectClass: top > objectClass: automountMap > automountMapName: auto_master > > Create ldap objects for each master map entry (only one entry in this > example): > > dn: description=/ldap, automountMapName=auto_master,dc=themaw,dc=net > objectClass: top > objectClass: automount > automountKey: /ldap > automountInformation: auto_indirect > description: /ldap > > These entries are equivalent to this in a file based master map (such > as /etc/auto_master): > > /ldap auto_indirect > > Note: the first field, the key, is always an absolute path in the master > map (except for direct map entries, but I digress). > > Then create an ldap object to contain the map entries for each map > referred to in the master map (only one in this example, > auto_indirect): > > dn: automountMapName=auto_indirect,dc=themaw,dc=net > objectClass: top > objectClass: automountMap > automountMapName: auto_indirect > > Create ldap objects for each entry in the given map (auto_indirect with > three map entries in this case): > > dn: automountKey=bin,automountMapName=auto_indirect,dc=themaw,dc=net > objectClass: top > objectClass: automount > automountKey: bin > automountInformation: budgie:/usr/local/bin > > dn: automountKey=etc,automountMapName=auto_indirect,dc=themaw,dc=net > objectClass: top > objectClass: automount > automountKey: etc > automountInformation: budgie:/usr/local/etc > > dn: automountKey=lib,automountMapName=auto_indirect,dc=themaw,dc=net > objectClass: top > objectClass: automount > automountKey: lib > automountInformation: budgie:/usr/local/lib > > These entries are equivalent to this in a file based indirect > map, /etc/auto_indirect: > > bin budgie:/usr/local/bin > etc budgie:/usr/local/etc > lib budgie:/usr/local/lib > > Note that the first field is a single path component only without any > path component separators (again different for direct maps, but we > aren't talking about them here). > > > > > > > LDAP Server: > > ----------------- > > > > dn: automountMapName=auto_home,dc=drivess,dc=rtaa > > aci: (target = ldap:///automountMapName=auto_home,dc=drivess,dc=rtaa) > > (targetscope = subtree) (targetattr="*") (version 3.0; acl "Adding > > automount"; allow (all, import, export, proxy) (userdn = "ldap:///all" > > or userdn = "ldap:///self" or userdn = > > "ldap:///cn=proxyagent,ou=profile,dc=drivess,dc=rtaa") ;) > > automountmapname: auto_home > > objectclass: top > > bjectclass: automountMap > > Assuming "bjectclass" is a typo. > > Given the above description this is not a master map, it's a container > for the map auto_home. > > > > > > > dn: automountkey=ahmedf,automountMapName=auto_home,dc=drivess,dc=rtaa > > automountinformation: nfs-cluster:/san/users/cmes/ahmedf > > automountkey: ahmedf > > objectclass: top > > objectclass: automount > > And this is a map entry belonging to auto_home. > > You've not provided any master map ldap objects so I have no idea how > the above entries can be used but see below as it might become clear ... > > > > > > > Linux client > > ---------------- > > Judging by the Solaris configuration below (and assuming it also has > "automount: files ldap" in /etc/nsswitch.conf you might have more > success with ... > > > > > autofs.conf > > > > [ autofs ] > > master_map_name = "ldap://x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa" > > Set this to auto_master and ensure /etc/auto_master exists so that the > "files" nsswitch source is used for the master map. > > > ldap_uri = "ldap://x.x.x.x" > > search_base = "automountMapName=auto_home,dc=drivess,dc=rtaa > > It's usually better to put the server address and ldap base > in /etc/openldap/ldap.conf. > > In this case it should be: > BASE dc=drivess,dc=rtaa > URI ldap://x.x.x.x > > > map_object_class = automountMap > > entry_object_class = automount > > map_attribute = automountMapName > > entry_attribute = automountKey > > value_attribute= automountInformation > > If you create the ldap entries as described Linux should be able to work > this out automatically and I believe Solaris should still function. > > > auth_conf_file = /etc/autofs_ldap_auth.conf > > > > normalize_slashes = "yes" > > ldap_base = "dc=drivess,dc=rtaa" > > ldap_base = "ldap://x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa" > > There's no such configuration options as normalize_slashes or ldap_base > in the [ autofs ] section of the configuration (ie. Sun format maps). > They are only valid in the [ amd ] section (ie. for amd format maps). > > > [ amd ] > > > > map_type = ldap > > AFAICT you aren't using amd format maps so this is not used. > > Now create /etc/auto_master as: > +auto_master > /net -hosts -nosuid,nobrowse,hard,intr > /home auto_home -nobrowse,hard,intr > > or as: > > /net -hosts -nosuid,nobrowse,hard,intr > /home auto_home -nobrowse,hard,intr > +auto_master > > depending on whether you want to be able to override the file based > master map entries for /net or /home, in the former case, or override > master map ldap entries (if they exist) for the later case. > > Ensure that /etc/auto_home does not exist so that the nsswitch.conf > entry "automount: files ldap" will not find a local auto_home and will > then look to ldap and should find the ldap auto_home map entries. > > This approach is I think common on Solaris installs since it fits easily > with the default install. > > Note that IIUC there's no ldap auto_master in your case so the plus map > inclusion of the master map ("+auto_master") will not find anything as > the "files" nsswitch source is skipped because plus map inclusion is > only allowed in file based maps. One more thing. I recommended setting master_map_name to auto_master in the Linux autofs configuration. That's is purely so that you can use the same map names everywhere, auto_master and auto_home in this case. If you later add master map entries to ldap for auto_master then you'll already have the same names on Solaris and Linux clients so all should work ok. Also all clients will be consistent so anyone looking around will be able to relate to the same names everywhere. > > > > > > > [root@splunk-tst ~]# automount -m > > lookup_nss_read_master: reading master ldap > > //x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa > > parse_server_string: lookup(ldap): Attempting to parse LDAP > > information from string > > "ldap://x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa". > > parse_server_string: lookup(ldap): server "ldap://x.x.x.x/", base dn > > "automountMapName=auto_home,dc=drivess,dc=rtaa" > > parse_ldap_config: lookup(ldap): ldap authentication configured with > > the following options: > > parse_ldap_config: lookup(ldap): use_tls: 0, tls_required: 0, > > auth_required: 1, sasl_mech: (null) > > parse_ldap_config: lookup(ldap): user: (null), secret: unspecified, > > client principal: (null) credential cache: (null) > > parse_init: parse(sun): init gathered global options: (null) > > spawn_mount: mtab link detected, passing -n to mount > > spawn_umount: mtab link detected, passing -n to mount > > do_bind: lookup(ldap): auth_required: 1, sasl_mech (null) > > do_bind: lookup(ldap): ldap simple bind returned 0 > > get_query_dn: lookup(ldap): found query dn > > automountMapName=auto_home,dc=drivess,dc=rtaa > > lookup_read_master: lookup(ldap): searching for > > "(objectclass=automount)" under > > "automountMapName=auto_home,dc=drivess,dc=rtaa" > > lookup_read_master: lookup(ldap): examining entries > > syntax error in map near [ adels nfs-cluster: ] > > syntax error in map near [ san ] > > syntax error in map near [ users ] > > syntax error in map near [ ad ] > > syntax error in map near [ soma ] > > > > > > > > [root@splunk-tst ~]# more /etc/nsswitch.conf|grep autom > > automount: files ldap > > > > > > > > Working through auto.home on Linux clients > > =============================== > > > > [root@splunk-tst ~]# more /etc/autofs.conf |grep auto.master > > > > master_map_name = auto.master > > > > > > I can make it work through auto.master like below but I wanted to > > mount the users home directory via LDAP automount > > > > [root@splunk-tst ~]# more /etc/auto.master > > /home /etc/auto.home > > /net -hosts > > +auto.master > > > > [root@splunk-tst ~]# more /etc/auto.home > > * -fstype=nfs,rw nfs-cluster:/san/users/cmes/& \ > > nfs-cluster:/san/users/techdev/& \ > > nfs-cluster:/san/users/ad/& \ > > nfs-cluster:/san/users/systest/& > > > > > > [root@splunk-tst ~]# cat /etc/mtab |grep autofs > > systemd-1 /proc/sys/fs/binfmt_misc autofs > > rw,relatime,fd=34,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0 > > /etc/auto.home /home autofs > > rw,relatime,fd=7,pgrp=10163,timeout=300,minproto=5,maxproto=5,indirect > > 0 0 > > -hosts /net autofs > > rw,relatime,fd=13,pgrp=10163,timeout=300,minproto=5,maxproto=5,indirect > > 0 0 > > > > > > > > Solaris Client > > -------- > > > > I can login as LDAP user and my home directory mounted in right way > > through automount > > > > asqcsat:/ # more /etc/auto_master > > > > +auto_master > > /net -hosts -nosuid,nobrowse,hard,intr > > /home auto_home -nobrowse,hard,intr > > > > asqcsat:/ # more /etc/auto_home > > > > +auto_home > > > > On Wed, May 27, 2015 at 9:10 PM, Ian Kent <raven@themaw.net> wrote: > > > On Wed, 2015-05-27 at 17:38 +1000, Sohnaeo wrote: > > >> Hi Ian, > > >> > > >> Here is the mnttab of Solaris client > > >> > > >> asqcsat:/ # cat /etc/mnttab |grep autofs > > > > > > So there is no auto_master references here so why does your ldap entry > > > say it belongs to auto_master? > > > > > > Perhaps you load the master map from a file, what's in /etc/auto_master? > > > > > >> > > >> -hosts /net autofs > > >> nosuid,indirect,ignore,nobrowse,zone=asqcsat,dev=5340047 > > >> 1430995592 > > >> auto_home /home autofs > > >> nodevices,indirect,ignore,nobrowse,zone=asqcsat,dev=5340048 > > >> 1430995592 > > > > > > I'd think the ldap entry you mentioned would belong to this indirect > > > mount map, auto_home and not auto_master. > > > > > >> -hosts /net/nfs-cluster/san autofs > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340061 1430995660 > > >> -hosts /net/nfs-cluster/san/sys autofs > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340062 1430995660 > > >> -hosts /net/nfs-cluster/san/www autofs > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340063 1430995660 > > >> -hosts /net/nfs-cluster/san/appl autofs > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340064 1430995660 > > >> -hosts /net/nfs-cluster/san/gen85 autofs > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340065 1430995660 > > >> -hosts /net/nfs-cluster/san/nottn autofs > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340066 1430995660 > > >> -hosts /net/nfs-cluster/san/model autofs > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340067 1430995660 > > >> -hosts /net/nfs-cluster/san/users autofs > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340068 1430995660 > > >> -hosts /net/nfs-cluster/san/project autofs > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340069 1430995660 > > >> -hosts /net/nfs-cluster/san/workdmp autofs > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=534006a 1430995660 > > >> -hosts /net/nfs-cluster/san/repository autofs > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=534006b 1430995660 > > > > > > Right, a few host map entries have been accessed by the look of it. > > > > > >> > > >> Users home directories are on NFS, path is nfs-cluster:/san/users/ > > > > > > Yes but the ldap entry below doesn't quite match that either. > > > > > >>dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > > > > > > So the automountMapName possibly should be auto_home but ... > > > > > >>automountinformation: nfs-cluster:/san/users/cmes/ahmedf > > > > > > the key should be cmes and not ahmedf or perhaps the > > > automountInformation should be nfs-cluster:/san/users/ahmedf > > > but I don't know what your trying to achieve and I don't know what else > > > you have in ldap. > > > > > >>automountkey: ahmedf > > >>objectclass: top > > >>objectclass: automount > > > > > > What do you have in /etc/nsswitch.conf? > > > Presumably it's "automount: files ldap" or "automount: ldap", I can't > > > tell from this. > > > > > > In any case Linux autofs is not tolerant of configurations that aren't > > > quite right and won't just ignore them as Solaris seems to do in some > > > cases. Perhaps this is the source of the problem. > > > > > > Really, putting map entries in what should be the master map is the > > > wrong thing to do and will lead to even more confusion later. For > > > example, what if you have two distinct indirect maps that have some keys > > > of the same name but point to different mount locations, how will the > > > key lookup work out which key belongs to what map? > > > > > > Even if putting them in the master map ldap object works I recommend > > > separating them to be under specific map object holders as is seen in > > > the example I originally pointed you at. It will be much easier to > > > maintain, especially if your maps grow over time (as most do). > > > > > >> > > >> Regards, > > >> > > >> Farhan > > >> > > >> > > >> On Wed, May 27, 2015 at 1:55 PM, Ian Kent <raven@themaw.net> wrote: > > >> > On Wed, 2015-05-27 at 10:07 +0800, Ian Kent wrote: > > >> >> On Tue, 2015-05-26 at 16:31 +1000, Sohnaeo wrote: > > >> >> > Hello Ian, > > >> >> > > > >> >> > Thank you very much for looking into this. Solaris clients didn't have > > >> >> > any issue with the existing master map. In my environment, I do have > > >> >> > 99% Solaris clients and I don't want to change master map for few > > >> >> > Linux clients. below is the auto_master map on Sun Directory Server > > >> >> > > > >> >> > dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > > >> >> > automountinformation: nfs-cluster:/san/users/cmes/ahmedf > > >> >> > automountkey: ahmedf > > >> >> > objectclass: top > > >> >> > objectclass: automount > > >> >> > > >> >> I don't see how that could work, it's not a master map entry, it's a map > > >> >> entry. > > >> >> > > >> >> The problem with this entry is it doesn't provide the information about > > >> >> what indirect mount this key belongs to? > > >> >> > > >> >> You'll need to give me more info about what's in ldap and what the > > >> >> mounts look like after automount is started on Solaris. > > >> >> > > >> >> Start autofs on an idle system, do nothing else, and post the contents > > >> >> of /etc/mnttab (assuming that hasn't changed over the years since I > > >> >> worked on Solaris systems). If there are obvious things you don't want > > >> >> people to see in it then delete those lines but don't delete autofs > > >> >> related lines. > > >> > > > >> > And what path do you use to cause this entry to mount? > > >> > > > >> >> > > >> >> If you want you could log a bug at bugzilla.redhat.com and have it made > > >> >> private to so the information isn't available to people not included on > > >> >> the cc list or allowed groups. > > >> >> > > >> >> > > > >> >> > > > >> >> > I am clueless. > > >> >> > > > >> >> > On Thu, May 21, 2015 at 4:41 PM, Ian Kent <raven@themaw.net> wrote: > > >> >> > > On Thu, 2015-05-21 at 12:42 +1000, Sohnaeo wrote: > > >> >> > >> Hello Guys, > > >> >> > >> > > >> >> > >> I am having an issue with the autofs/automount on Cent OS 7, below is the detail > > >> >> > >> > > >> >> > >> LDAP Server > > >> >> > >> > > >> >> > >> > > >> >> > >> Solaris 10 > > >> >> > >> Sun Directory Server 6.2 > > >> >> > >> > > >> >> > >> > > >> >> > >> LDAP Client > > >> >> > >> > > >> >> > >> > > >> >> > >> CentOS 7 > > >> >> > >> > > >> >> > >> OpenLdap > > >> >> > >> > > >> >> > >> > > >> >> > >> I issued the below command to enable LDAP authetication. LDAP users > > >> >> > >> can successfully authenticated now on CentOs > > >> >> > >> > > >> >> > >> authconfig --enableldap --enableldapauth --ldapserver=x.x.x.x > > >> >> > >> --ldapbasedn=dc=drivess,dc=rtta --disablemkhomedir --update > > >> >> > >> > > >> >> > >> But somehow users home directories can't be mounted through autofs. > > >> >> > >> Below is my autofs.conf file > > >> >> > >> > > >> >> > >> autofs > > >> >> > >> master_map_name = ldap://xxxxx/automountMapName=auto_master,dc=drivess,dc=rtaa > > >> >> > >> mount_nfs_default_protocol = 3 > > >> >> > >> logging = debug > > >> >> > >> ldap_uri = "ldap://x.x.x.x" > > >> >> > >> search_base = "automountMapName=auto_master,dc=drivess,dc=rtaa" > > >> >> > >> map_object_class = automountMap > > >> >> > >> entry_object_class = automount > > >> >> > >> map_attribute = automountMapName > > >> >> > >> entry_attribute = automountKey > > >> >> > >> value_attribute= automountInformation > > >> >> > >> auth_conf_file = /etc/autofs_ldap_auth.conf > > >> >> > >> map_type = ldap > > >> >> > >> > > >> >> > >> When I run the below command , it throws an error > > >> >> > >> > > >> >> > >> automount -m > > >> >> > >> get_query_dn: lookup(ldap): found query dn > > >> >> > >> automountMapName=auto_master,dc=drivess,dc=rtaa > > >> >> > >> lookup_read_master: lookup(ldap): searching for > > >> >> > >> "(objectclass=automount)" under > > >> >> > >> "automountMapName=auto_master,dc=drivess,dc=rtaa" > > >> >> > >> lookup_read_master: lookup(ldap): examining entries > > >> >> > >> syntax error in map near ahmedf nfs-cluster: > > >> >> > >> > > >> >> > >> Below is ldapsearch command result > > >> >> > >> ldapsearch -x -b 'automountMapName=auto_master,dc=drivess,dc=rtaa' > > >> >> > >> "(objectClass=automountMap)" > > >> >> > >> > > >> >> > >> dn: automountMapName=auto_master,dc=drivess,dc=rtaa > > >> >> > >> automountMapName: auto_master > > >> >> > >> objectClass: top > > >> >> > >> objectClass: automountMap > > >> >> > >> > > >> >> > >> ldapsearch -x -b > > >> >> > >> 'automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > > >> >> > >> dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > > >> >> > >> automountInformation: nfs-cluster:/san/users/cmes/ahmedf > > >> >> > >> automountKey: ahmedf > > >> >> > >> objectClass: automount > > >> >> > >> objectClass: top > > >> >> > >> > > >> >> > >> In short, automountInformation is nfs-cluster:/san/users/cmes/ahmedf > > >> >> > >> but somehow autmount is complaining "syntax error in map near [ ahmedf > > >> >> > >> nfs-cluster: ]" > > >> >> > > > > >> >> > > That's telling you that your master map is not right. > > >> >> > > > > >> >> > >> > > >> >> > >> > > >> >> > >> Any ideas? > > >> >> > > > > >> >> > > Have a look at the example in /usr/share/doc/autofs: > > >> >> > > ldap-automount-rfc2307-bis-auto.master > > >> >> > > ldap-automount-rfc2307-bis-auto.indirect > > >> >> > > ldap-automount-rfc2307-bis-auto.direct > > >> >> > > > > >> >> > > For the indirect mount case above you need master map ldap entries that > > >> >> > > contain an entry that specifies the indirect mount mount point and the > > >> >> > > map where the entries for that mount point are stored. > > >> >> > > > > >> >> > > Ian > > >> >> > > > > >> >> > > > > >> >> > > > > >> >> > > >> >> > > >> >> -- > > >> >> To unsubscribe from this list: send the line "unsubscribe autofs" in > > >> >> the body of a message to majordomo@vger.kernel.org > > >> >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > >> > > > >> > > > > > > > > > > -- > To unsubscribe from this list: send the line "unsubscribe autofs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Autmount issue 2015-05-28 2:19 ` Ian Kent @ 2015-05-28 2:39 ` Ian Kent 2015-05-28 3:28 ` Sohnaeo 0 siblings, 1 reply; 12+ messages in thread From: Ian Kent @ 2015-05-28 2:39 UTC (permalink / raw) To: Sohnaeo; +Cc: autofs On Thu, 2015-05-28 at 10:19 +0800, Ian Kent wrote: > On Thu, 2015-05-28 at 09:46 +0800, Ian Kent wrote: > > On Thu, 2015-05-28 at 10:00 +1000, Sohnaeo wrote: > > > Hi Ian, > > > > > > Thanks heaps looking further into this. We do have only one master map > > > which is auto_home. You are right about auto_master, in fact in my > > > LDAP server there was only auto_home but somehow Linux ldap client > > > always looking for auto_master so I had to create auto_master and > > > create a entry in it but then I hit syntax error. But anyways I > > > reverted back to auto_home and fix things in autofs.conf and it looks > > > much better now but still having syntax error. I try again to provide > > > you as much as information as I can. > > > > I don't think you understand the difference between the master map and > > the maps that it refers to. > > > > You need to look at the example maps I mentioned in the beginning. > > > > The master map defines autofs managed mount points and specifies the map > > they use. > > > > There are other cases but I'm only going to describe a simple master map > > with one entry that refers to an indirect map with three entries. > > > > For example: > > > > Create an ldap object to contain master map entries (one ldap container > > entry is needed for each distinct map, a master map in this case): > > > > dn: automountMapName=auto_master,dc=themaw,dc=net > > objectClass: top > > objectClass: automountMap > > automountMapName: auto_master > > > > Create ldap objects for each master map entry (only one entry in this > > example): > > > > dn: description=/ldap, automountMapName=auto_master,dc=themaw,dc=net > > objectClass: top > > objectClass: automount > > automountKey: /ldap > > automountInformation: auto_indirect > > description: /ldap > > > > These entries are equivalent to this in a file based master map (such > > as /etc/auto_master): > > > > /ldap auto_indirect > > > > Note: the first field, the key, is always an absolute path in the master > > map (except for direct map entries, but I digress). > > > > Then create an ldap object to contain the map entries for each map > > referred to in the master map (only one in this example, > > auto_indirect): > > > > dn: automountMapName=auto_indirect,dc=themaw,dc=net > > objectClass: top > > objectClass: automountMap > > automountMapName: auto_indirect > > > > Create ldap objects for each entry in the given map (auto_indirect with > > three map entries in this case): > > > > dn: automountKey=bin,automountMapName=auto_indirect,dc=themaw,dc=net > > objectClass: top > > objectClass: automount > > automountKey: bin > > automountInformation: budgie:/usr/local/bin > > > > dn: automountKey=etc,automountMapName=auto_indirect,dc=themaw,dc=net > > objectClass: top > > objectClass: automount > > automountKey: etc > > automountInformation: budgie:/usr/local/etc > > > > dn: automountKey=lib,automountMapName=auto_indirect,dc=themaw,dc=net > > objectClass: top > > objectClass: automount > > automountKey: lib > > automountInformation: budgie:/usr/local/lib > > > > These entries are equivalent to this in a file based indirect > > map, /etc/auto_indirect: > > > > bin budgie:/usr/local/bin > > etc budgie:/usr/local/etc > > lib budgie:/usr/local/lib > > > > Note that the first field is a single path component only without any > > path component separators (again different for direct maps, but we > > aren't talking about them here). > > > > > > > > > > > LDAP Server: > > > ----------------- > > > > > > dn: automountMapName=auto_home,dc=drivess,dc=rtaa > > > aci: (target = ldap:///automountMapName=auto_home,dc=drivess,dc=rtaa) > > > (targetscope = subtree) (targetattr="*") (version 3.0; acl "Adding > > > automount"; allow (all, import, export, proxy) (userdn = "ldap:///all" > > > or userdn = "ldap:///self" or userdn = > > > "ldap:///cn=proxyagent,ou=profile,dc=drivess,dc=rtaa") ;) > > > automountmapname: auto_home > > > objectclass: top > > > bjectclass: automountMap > > > > Assuming "bjectclass" is a typo. > > > > Given the above description this is not a master map, it's a container > > for the map auto_home. > > > > > > > > > > > dn: automountkey=ahmedf,automountMapName=auto_home,dc=drivess,dc=rtaa > > > automountinformation: nfs-cluster:/san/users/cmes/ahmedf > > > automountkey: ahmedf > > > objectclass: top > > > objectclass: automount > > > > And this is a map entry belonging to auto_home. > > > > You've not provided any master map ldap objects so I have no idea how > > the above entries can be used but see below as it might become clear ... > > > > > > > > > > > Linux client > > > ---------------- > > > > Judging by the Solaris configuration below (and assuming it also has > > "automount: files ldap" in /etc/nsswitch.conf you might have more > > success with ... > > > > > > > > autofs.conf > > > > > > [ autofs ] > > > master_map_name = "ldap://x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa" > > > > Set this to auto_master and ensure /etc/auto_master exists so that the > > "files" nsswitch source is used for the master map. > > > > > ldap_uri = "ldap://x.x.x.x" > > > search_base = "automountMapName=auto_home,dc=drivess,dc=rtaa > > > > It's usually better to put the server address and ldap base > > in /etc/openldap/ldap.conf. > > > > In this case it should be: > > BASE dc=drivess,dc=rtaa > > URI ldap://x.x.x.x > > > > > map_object_class = automountMap > > > entry_object_class = automount > > > map_attribute = automountMapName > > > entry_attribute = automountKey > > > value_attribute= automountInformation > > > > If you create the ldap entries as described Linux should be able to work > > this out automatically and I believe Solaris should still function. > > > > > auth_conf_file = /etc/autofs_ldap_auth.conf > > > > > > > normalize_slashes = "yes" > > > ldap_base = "dc=drivess,dc=rtaa" > > > ldap_base = "ldap://x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa" > > > > There's no such configuration options as normalize_slashes or ldap_base > > in the [ autofs ] section of the configuration (ie. Sun format maps). > > They are only valid in the [ amd ] section (ie. for amd format maps). > > > > > [ amd ] > > > > > > map_type = ldap > > > > AFAICT you aren't using amd format maps so this is not used. > > > > Now create /etc/auto_master as: > > +auto_master > > /net -hosts -nosuid,nobrowse,hard,intr > > /home auto_home -nobrowse,hard,intr > > > > or as: > > > > /net -hosts -nosuid,nobrowse,hard,intr > > /home auto_home -nobrowse,hard,intr > > +auto_master > > > > depending on whether you want to be able to override the file based > > master map entries for /net or /home, in the former case, or override > > master map ldap entries (if they exist) for the later case. > > > > Ensure that /etc/auto_home does not exist so that the nsswitch.conf > > entry "automount: files ldap" will not find a local auto_home and will > > then look to ldap and should find the ldap auto_home map entries. > > > > This approach is I think common on Solaris installs since it fits easily > > with the default install. > > > > Note that IIUC there's no ldap auto_master in your case so the plus map > > inclusion of the master map ("+auto_master") will not find anything as > > the "files" nsswitch source is skipped because plus map inclusion is > > only allowed in file based maps. > > One more thing. > > I recommended setting master_map_name to auto_master in the Linux autofs > configuration. That's is purely so that you can use the same map names > everywhere, auto_master and auto_home in this case. If you later add > master map entries to ldap for auto_master then you'll already have the > same names on Solaris and Linux clients so all should work ok. Also all > clients will be consistent so anyone looking around will be able to > relate to the same names everywhere. Agggh, I knew there were two additional things I wanted to mention but the second came back to me just as I sent the last reply. It's about the file based auto_home you use on the Solaris machines. You can use that on your Linux clients as well to be completely consistent if you wish. That is, on the Linux clients create /etc/auto_home as it is on the Solaris clients, with just this line: +auto_home and, although it's redundant in your current configuration, it should work as the Solaris clients do. That's because when the entry "+auto_home" is seen in /etc/auto_home autofs will skip the nsswitch "files" source and look to ldap and find auto_home map entries. The point of doing this is that you can override selected indirect map entries by adding them to /etc/auto_home. For example, if /etc/auto_home had: ahmed localhost:/users/ahmedf +auto_home autofs would use the local entry in /etc/auto_home for the map key ahmed but would look to ldap for other keys. So it's easy to add temporary or permanent overrides using local file based maps that look to ldap when a key isn't found. It's a little different to the override behaviour of the master map described above but the principle is the same. > > > > > > > > > > > > [root@splunk-tst ~]# automount -m > > > lookup_nss_read_master: reading master ldap > > > //x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa > > > parse_server_string: lookup(ldap): Attempting to parse LDAP > > > information from string > > > "ldap://x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa". > > > parse_server_string: lookup(ldap): server "ldap://x.x.x.x/", base dn > > > "automountMapName=auto_home,dc=drivess,dc=rtaa" > > > parse_ldap_config: lookup(ldap): ldap authentication configured with > > > the following options: > > > parse_ldap_config: lookup(ldap): use_tls: 0, tls_required: 0, > > > auth_required: 1, sasl_mech: (null) > > > parse_ldap_config: lookup(ldap): user: (null), secret: unspecified, > > > client principal: (null) credential cache: (null) > > > parse_init: parse(sun): init gathered global options: (null) > > > spawn_mount: mtab link detected, passing -n to mount > > > spawn_umount: mtab link detected, passing -n to mount > > > do_bind: lookup(ldap): auth_required: 1, sasl_mech (null) > > > do_bind: lookup(ldap): ldap simple bind returned 0 > > > get_query_dn: lookup(ldap): found query dn > > > automountMapName=auto_home,dc=drivess,dc=rtaa > > > lookup_read_master: lookup(ldap): searching for > > > "(objectclass=automount)" under > > > "automountMapName=auto_home,dc=drivess,dc=rtaa" > > > lookup_read_master: lookup(ldap): examining entries > > > syntax error in map near [ adels nfs-cluster: ] > > > syntax error in map near [ san ] > > > syntax error in map near [ users ] > > > syntax error in map near [ ad ] > > > syntax error in map near [ soma ] > > > > > > > > > > > > [root@splunk-tst ~]# more /etc/nsswitch.conf|grep autom > > > automount: files ldap > > > > > > > > > > > > Working through auto.home on Linux clients > > > =============================== > > > > > > [root@splunk-tst ~]# more /etc/autofs.conf |grep auto.master > > > > > > master_map_name = auto.master > > > > > > > > > I can make it work through auto.master like below but I wanted to > > > mount the users home directory via LDAP automount > > > > > > [root@splunk-tst ~]# more /etc/auto.master > > > /home /etc/auto.home > > > /net -hosts > > > +auto.master > > > > > > [root@splunk-tst ~]# more /etc/auto.home > > > * -fstype=nfs,rw nfs-cluster:/san/users/cmes/& \ > > > nfs-cluster:/san/users/techdev/& \ > > > nfs-cluster:/san/users/ad/& \ > > > nfs-cluster:/san/users/systest/& > > > > > > > > > [root@splunk-tst ~]# cat /etc/mtab |grep autofs > > > systemd-1 /proc/sys/fs/binfmt_misc autofs > > > rw,relatime,fd=34,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0 > > > /etc/auto.home /home autofs > > > rw,relatime,fd=7,pgrp=10163,timeout=300,minproto=5,maxproto=5,indirect > > > 0 0 > > > -hosts /net autofs > > > rw,relatime,fd=13,pgrp=10163,timeout=300,minproto=5,maxproto=5,indirect > > > 0 0 > > > > > > > > > > > > Solaris Client > > > -------- > > > > > > I can login as LDAP user and my home directory mounted in right way > > > through automount > > > > > > asqcsat:/ # more /etc/auto_master > > > > > > +auto_master > > > /net -hosts -nosuid,nobrowse,hard,intr > > > /home auto_home -nobrowse,hard,intr > > > > > > asqcsat:/ # more /etc/auto_home > > > > > > +auto_home > > > > > > On Wed, May 27, 2015 at 9:10 PM, Ian Kent <raven@themaw.net> wrote: > > > > On Wed, 2015-05-27 at 17:38 +1000, Sohnaeo wrote: > > > >> Hi Ian, > > > >> > > > >> Here is the mnttab of Solaris client > > > >> > > > >> asqcsat:/ # cat /etc/mnttab |grep autofs > > > > > > > > So there is no auto_master references here so why does your ldap entry > > > > say it belongs to auto_master? > > > > > > > > Perhaps you load the master map from a file, what's in /etc/auto_master? > > > > > > > >> > > > >> -hosts /net autofs > > > >> nosuid,indirect,ignore,nobrowse,zone=asqcsat,dev=5340047 > > > >> 1430995592 > > > >> auto_home /home autofs > > > >> nodevices,indirect,ignore,nobrowse,zone=asqcsat,dev=5340048 > > > >> 1430995592 > > > > > > > > I'd think the ldap entry you mentioned would belong to this indirect > > > > mount map, auto_home and not auto_master. > > > > > > > >> -hosts /net/nfs-cluster/san autofs > > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340061 1430995660 > > > >> -hosts /net/nfs-cluster/san/sys autofs > > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340062 1430995660 > > > >> -hosts /net/nfs-cluster/san/www autofs > > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340063 1430995660 > > > >> -hosts /net/nfs-cluster/san/appl autofs > > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340064 1430995660 > > > >> -hosts /net/nfs-cluster/san/gen85 autofs > > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340065 1430995660 > > > >> -hosts /net/nfs-cluster/san/nottn autofs > > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340066 1430995660 > > > >> -hosts /net/nfs-cluster/san/model autofs > > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340067 1430995660 > > > >> -hosts /net/nfs-cluster/san/users autofs > > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340068 1430995660 > > > >> -hosts /net/nfs-cluster/san/project autofs > > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340069 1430995660 > > > >> -hosts /net/nfs-cluster/san/workdmp autofs > > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=534006a 1430995660 > > > >> -hosts /net/nfs-cluster/san/repository autofs > > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=534006b 1430995660 > > > > > > > > Right, a few host map entries have been accessed by the look of it. > > > > > > > >> > > > >> Users home directories are on NFS, path is nfs-cluster:/san/users/ > > > > > > > > Yes but the ldap entry below doesn't quite match that either. > > > > > > > >>dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > > > > > > > > So the automountMapName possibly should be auto_home but ... > > > > > > > >>automountinformation: nfs-cluster:/san/users/cmes/ahmedf > > > > > > > > the key should be cmes and not ahmedf or perhaps the > > > > automountInformation should be nfs-cluster:/san/users/ahmedf > > > > but I don't know what your trying to achieve and I don't know what else > > > > you have in ldap. > > > > > > > >>automountkey: ahmedf > > > >>objectclass: top > > > >>objectclass: automount > > > > > > > > What do you have in /etc/nsswitch.conf? > > > > Presumably it's "automount: files ldap" or "automount: ldap", I can't > > > > tell from this. > > > > > > > > In any case Linux autofs is not tolerant of configurations that aren't > > > > quite right and won't just ignore them as Solaris seems to do in some > > > > cases. Perhaps this is the source of the problem. > > > > > > > > Really, putting map entries in what should be the master map is the > > > > wrong thing to do and will lead to even more confusion later. For > > > > example, what if you have two distinct indirect maps that have some keys > > > > of the same name but point to different mount locations, how will the > > > > key lookup work out which key belongs to what map? > > > > > > > > Even if putting them in the master map ldap object works I recommend > > > > separating them to be under specific map object holders as is seen in > > > > the example I originally pointed you at. It will be much easier to > > > > maintain, especially if your maps grow over time (as most do). > > > > > > > >> > > > >> Regards, > > > >> > > > >> Farhan > > > >> > > > >> > > > >> On Wed, May 27, 2015 at 1:55 PM, Ian Kent <raven@themaw.net> wrote: > > > >> > On Wed, 2015-05-27 at 10:07 +0800, Ian Kent wrote: > > > >> >> On Tue, 2015-05-26 at 16:31 +1000, Sohnaeo wrote: > > > >> >> > Hello Ian, > > > >> >> > > > > >> >> > Thank you very much for looking into this. Solaris clients didn't have > > > >> >> > any issue with the existing master map. In my environment, I do have > > > >> >> > 99% Solaris clients and I don't want to change master map for few > > > >> >> > Linux clients. below is the auto_master map on Sun Directory Server > > > >> >> > > > > >> >> > dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > > > >> >> > automountinformation: nfs-cluster:/san/users/cmes/ahmedf > > > >> >> > automountkey: ahmedf > > > >> >> > objectclass: top > > > >> >> > objectclass: automount > > > >> >> > > > >> >> I don't see how that could work, it's not a master map entry, it's a map > > > >> >> entry. > > > >> >> > > > >> >> The problem with this entry is it doesn't provide the information about > > > >> >> what indirect mount this key belongs to? > > > >> >> > > > >> >> You'll need to give me more info about what's in ldap and what the > > > >> >> mounts look like after automount is started on Solaris. > > > >> >> > > > >> >> Start autofs on an idle system, do nothing else, and post the contents > > > >> >> of /etc/mnttab (assuming that hasn't changed over the years since I > > > >> >> worked on Solaris systems). If there are obvious things you don't want > > > >> >> people to see in it then delete those lines but don't delete autofs > > > >> >> related lines. > > > >> > > > > >> > And what path do you use to cause this entry to mount? > > > >> > > > > >> >> > > > >> >> If you want you could log a bug at bugzilla.redhat.com and have it made > > > >> >> private to so the information isn't available to people not included on > > > >> >> the cc list or allowed groups. > > > >> >> > > > >> >> > > > > >> >> > > > > >> >> > I am clueless. > > > >> >> > > > > >> >> > On Thu, May 21, 2015 at 4:41 PM, Ian Kent <raven@themaw.net> wrote: > > > >> >> > > On Thu, 2015-05-21 at 12:42 +1000, Sohnaeo wrote: > > > >> >> > >> Hello Guys, > > > >> >> > >> > > > >> >> > >> I am having an issue with the autofs/automount on Cent OS 7, below is the detail > > > >> >> > >> > > > >> >> > >> LDAP Server > > > >> >> > >> > > > >> >> > >> > > > >> >> > >> Solaris 10 > > > >> >> > >> Sun Directory Server 6.2 > > > >> >> > >> > > > >> >> > >> > > > >> >> > >> LDAP Client > > > >> >> > >> > > > >> >> > >> > > > >> >> > >> CentOS 7 > > > >> >> > >> > > > >> >> > >> OpenLdap > > > >> >> > >> > > > >> >> > >> > > > >> >> > >> I issued the below command to enable LDAP authetication. LDAP users > > > >> >> > >> can successfully authenticated now on CentOs > > > >> >> > >> > > > >> >> > >> authconfig --enableldap --enableldapauth --ldapserver=x.x.x.x > > > >> >> > >> --ldapbasedn=dc=drivess,dc=rtta --disablemkhomedir --update > > > >> >> > >> > > > >> >> > >> But somehow users home directories can't be mounted through autofs. > > > >> >> > >> Below is my autofs.conf file > > > >> >> > >> > > > >> >> > >> autofs > > > >> >> > >> master_map_name = ldap://xxxxx/automountMapName=auto_master,dc=drivess,dc=rtaa > > > >> >> > >> mount_nfs_default_protocol = 3 > > > >> >> > >> logging = debug > > > >> >> > >> ldap_uri = "ldap://x.x.x.x" > > > >> >> > >> search_base = "automountMapName=auto_master,dc=drivess,dc=rtaa" > > > >> >> > >> map_object_class = automountMap > > > >> >> > >> entry_object_class = automount > > > >> >> > >> map_attribute = automountMapName > > > >> >> > >> entry_attribute = automountKey > > > >> >> > >> value_attribute= automountInformation > > > >> >> > >> auth_conf_file = /etc/autofs_ldap_auth.conf > > > >> >> > >> map_type = ldap > > > >> >> > >> > > > >> >> > >> When I run the below command , it throws an error > > > >> >> > >> > > > >> >> > >> automount -m > > > >> >> > >> get_query_dn: lookup(ldap): found query dn > > > >> >> > >> automountMapName=auto_master,dc=drivess,dc=rtaa > > > >> >> > >> lookup_read_master: lookup(ldap): searching for > > > >> >> > >> "(objectclass=automount)" under > > > >> >> > >> "automountMapName=auto_master,dc=drivess,dc=rtaa" > > > >> >> > >> lookup_read_master: lookup(ldap): examining entries > > > >> >> > >> syntax error in map near ahmedf nfs-cluster: > > > >> >> > >> > > > >> >> > >> Below is ldapsearch command result > > > >> >> > >> ldapsearch -x -b 'automountMapName=auto_master,dc=drivess,dc=rtaa' > > > >> >> > >> "(objectClass=automountMap)" > > > >> >> > >> > > > >> >> > >> dn: automountMapName=auto_master,dc=drivess,dc=rtaa > > > >> >> > >> automountMapName: auto_master > > > >> >> > >> objectClass: top > > > >> >> > >> objectClass: automountMap > > > >> >> > >> > > > >> >> > >> ldapsearch -x -b > > > >> >> > >> 'automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > > > >> >> > >> dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa > > > >> >> > >> automountInformation: nfs-cluster:/san/users/cmes/ahmedf > > > >> >> > >> automountKey: ahmedf > > > >> >> > >> objectClass: automount > > > >> >> > >> objectClass: top > > > >> >> > >> > > > >> >> > >> In short, automountInformation is nfs-cluster:/san/users/cmes/ahmedf > > > >> >> > >> but somehow autmount is complaining "syntax error in map near [ ahmedf > > > >> >> > >> nfs-cluster: ]" > > > >> >> > > > > > >> >> > > That's telling you that your master map is not right. > > > >> >> > > > > > >> >> > >> > > > >> >> > >> > > > >> >> > >> Any ideas? > > > >> >> > > > > > >> >> > > Have a look at the example in /usr/share/doc/autofs: > > > >> >> > > ldap-automount-rfc2307-bis-auto.master > > > >> >> > > ldap-automount-rfc2307-bis-auto.indirect > > > >> >> > > ldap-automount-rfc2307-bis-auto.direct > > > >> >> > > > > > >> >> > > For the indirect mount case above you need master map ldap entries that > > > >> >> > > contain an entry that specifies the indirect mount mount point and the > > > >> >> > > map where the entries for that mount point are stored. > > > >> >> > > > > > >> >> > > Ian > > > >> >> > > > > > >> >> > > > > > >> >> > > > > > >> >> > > > >> >> > > > >> >> -- > > > >> >> To unsubscribe from this list: send the line "unsubscribe autofs" in > > > >> >> the body of a message to majordomo@vger.kernel.org > > > >> >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > > >> > > > > >> > > > > > > > > > > > > > > > -- > > To unsubscribe from this list: send the line "unsubscribe autofs" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html > > > -- > To unsubscribe from this list: send the line "unsubscribe autofs" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: Autmount issue 2015-05-28 2:39 ` Ian Kent @ 2015-05-28 3:28 ` Sohnaeo 0 siblings, 0 replies; 12+ messages in thread From: Sohnaeo @ 2015-05-28 3:28 UTC (permalink / raw) To: Ian Kent; +Cc: autofs Hello, You are legend :) it worked like a charm, thank you very much pointing to me the right direction. In fact, I got confused between autofs.conf and auto.home file. Anyways thanks again. Regards, Farhan On Thu, May 28, 2015 at 12:39 PM, Ian Kent <raven@themaw.net> wrote: > On Thu, 2015-05-28 at 10:19 +0800, Ian Kent wrote: >> On Thu, 2015-05-28 at 09:46 +0800, Ian Kent wrote: >> > On Thu, 2015-05-28 at 10:00 +1000, Sohnaeo wrote: >> > > Hi Ian, >> > > >> > > Thanks heaps looking further into this. We do have only one master map >> > > which is auto_home. You are right about auto_master, in fact in my >> > > LDAP server there was only auto_home but somehow Linux ldap client >> > > always looking for auto_master so I had to create auto_master and >> > > create a entry in it but then I hit syntax error. But anyways I >> > > reverted back to auto_home and fix things in autofs.conf and it looks >> > > much better now but still having syntax error. I try again to provide >> > > you as much as information as I can. >> > >> > I don't think you understand the difference between the master map and >> > the maps that it refers to. >> > >> > You need to look at the example maps I mentioned in the beginning. >> > >> > The master map defines autofs managed mount points and specifies the map >> > they use. >> > >> > There are other cases but I'm only going to describe a simple master map >> > with one entry that refers to an indirect map with three entries. >> > >> > For example: >> > >> > Create an ldap object to contain master map entries (one ldap container >> > entry is needed for each distinct map, a master map in this case): >> > >> > dn: automountMapName=auto_master,dc=themaw,dc=net >> > objectClass: top >> > objectClass: automountMap >> > automountMapName: auto_master >> > >> > Create ldap objects for each master map entry (only one entry in this >> > example): >> > >> > dn: description=/ldap, automountMapName=auto_master,dc=themaw,dc=net >> > objectClass: top >> > objectClass: automount >> > automountKey: /ldap >> > automountInformation: auto_indirect >> > description: /ldap >> > >> > These entries are equivalent to this in a file based master map (such >> > as /etc/auto_master): >> > >> > /ldap auto_indirect >> > >> > Note: the first field, the key, is always an absolute path in the master >> > map (except for direct map entries, but I digress). >> > >> > Then create an ldap object to contain the map entries for each map >> > referred to in the master map (only one in this example, >> > auto_indirect): >> > >> > dn: automountMapName=auto_indirect,dc=themaw,dc=net >> > objectClass: top >> > objectClass: automountMap >> > automountMapName: auto_indirect >> > >> > Create ldap objects for each entry in the given map (auto_indirect with >> > three map entries in this case): >> > >> > dn: automountKey=bin,automountMapName=auto_indirect,dc=themaw,dc=net >> > objectClass: top >> > objectClass: automount >> > automountKey: bin >> > automountInformation: budgie:/usr/local/bin >> > >> > dn: automountKey=etc,automountMapName=auto_indirect,dc=themaw,dc=net >> > objectClass: top >> > objectClass: automount >> > automountKey: etc >> > automountInformation: budgie:/usr/local/etc >> > >> > dn: automountKey=lib,automountMapName=auto_indirect,dc=themaw,dc=net >> > objectClass: top >> > objectClass: automount >> > automountKey: lib >> > automountInformation: budgie:/usr/local/lib >> > >> > These entries are equivalent to this in a file based indirect >> > map, /etc/auto_indirect: >> > >> > bin budgie:/usr/local/bin >> > etc budgie:/usr/local/etc >> > lib budgie:/usr/local/lib >> > >> > Note that the first field is a single path component only without any >> > path component separators (again different for direct maps, but we >> > aren't talking about them here). >> > >> > > >> > > >> > > LDAP Server: >> > > ----------------- >> > > >> > > dn: automountMapName=auto_home,dc=drivess,dc=rtaa >> > > aci: (target = ldap:///automountMapName=auto_home,dc=drivess,dc=rtaa) >> > > (targetscope = subtree) (targetattr="*") (version 3.0; acl "Adding >> > > automount"; allow (all, import, export, proxy) (userdn = "ldap:///all" >> > > or userdn = "ldap:///self" or userdn = >> > > "ldap:///cn=proxyagent,ou=profile,dc=drivess,dc=rtaa") ;) >> > > automountmapname: auto_home >> > > objectclass: top >> > > bjectclass: automountMap >> > >> > Assuming "bjectclass" is a typo. >> > >> > Given the above description this is not a master map, it's a container >> > for the map auto_home. >> > >> > > >> > > >> > > dn: automountkey=ahmedf,automountMapName=auto_home,dc=drivess,dc=rtaa >> > > automountinformation: nfs-cluster:/san/users/cmes/ahmedf >> > > automountkey: ahmedf >> > > objectclass: top >> > > objectclass: automount >> > >> > And this is a map entry belonging to auto_home. >> > >> > You've not provided any master map ldap objects so I have no idea how >> > the above entries can be used but see below as it might become clear ... >> > >> > > >> > > >> > > Linux client >> > > ---------------- >> > >> > Judging by the Solaris configuration below (and assuming it also has >> > "automount: files ldap" in /etc/nsswitch.conf you might have more >> > success with ... >> > >> > > >> > > autofs.conf >> > > >> > > [ autofs ] >> > > master_map_name = "ldap://x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa" >> > >> > Set this to auto_master and ensure /etc/auto_master exists so that the >> > "files" nsswitch source is used for the master map. >> > >> > > ldap_uri = "ldap://x.x.x.x" >> > > search_base = "automountMapName=auto_home,dc=drivess,dc=rtaa >> > >> > It's usually better to put the server address and ldap base >> > in /etc/openldap/ldap.conf. >> > >> > In this case it should be: >> > BASE dc=drivess,dc=rtaa >> > URI ldap://x.x.x.x >> > >> > > map_object_class = automountMap >> > > entry_object_class = automount >> > > map_attribute = automountMapName >> > > entry_attribute = automountKey >> > > value_attribute= automountInformation >> > >> > If you create the ldap entries as described Linux should be able to work >> > this out automatically and I believe Solaris should still function. >> > >> > > auth_conf_file = /etc/autofs_ldap_auth.conf >> > >> > >> > > normalize_slashes = "yes" >> > > ldap_base = "dc=drivess,dc=rtaa" >> > > ldap_base = "ldap://x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa" >> > >> > There's no such configuration options as normalize_slashes or ldap_base >> > in the [ autofs ] section of the configuration (ie. Sun format maps). >> > They are only valid in the [ amd ] section (ie. for amd format maps). >> > >> > > [ amd ] >> > > >> > > map_type = ldap >> > >> > AFAICT you aren't using amd format maps so this is not used. >> > >> > Now create /etc/auto_master as: >> > +auto_master >> > /net -hosts -nosuid,nobrowse,hard,intr >> > /home auto_home -nobrowse,hard,intr >> > >> > or as: >> > >> > /net -hosts -nosuid,nobrowse,hard,intr >> > /home auto_home -nobrowse,hard,intr >> > +auto_master >> > >> > depending on whether you want to be able to override the file based >> > master map entries for /net or /home, in the former case, or override >> > master map ldap entries (if they exist) for the later case. >> > >> > Ensure that /etc/auto_home does not exist so that the nsswitch.conf >> > entry "automount: files ldap" will not find a local auto_home and will >> > then look to ldap and should find the ldap auto_home map entries. >> > >> > This approach is I think common on Solaris installs since it fits easily >> > with the default install. >> > >> > Note that IIUC there's no ldap auto_master in your case so the plus map >> > inclusion of the master map ("+auto_master") will not find anything as >> > the "files" nsswitch source is skipped because plus map inclusion is >> > only allowed in file based maps. >> >> One more thing. >> >> I recommended setting master_map_name to auto_master in the Linux autofs >> configuration. That's is purely so that you can use the same map names >> everywhere, auto_master and auto_home in this case. If you later add >> master map entries to ldap for auto_master then you'll already have the >> same names on Solaris and Linux clients so all should work ok. Also all >> clients will be consistent so anyone looking around will be able to >> relate to the same names everywhere. > > Agggh, I knew there were two additional things I wanted to mention but > the second came back to me just as I sent the last reply. > > It's about the file based auto_home you use on the Solaris machines. > > You can use that on your Linux clients as well to be completely > consistent if you wish. > > That is, on the Linux clients create /etc/auto_home as it is on the > Solaris clients, with just this line: > +auto_home > > and, although it's redundant in your current configuration, it should > work as the Solaris clients do. > > That's because when the entry "+auto_home" is seen in /etc/auto_home > autofs will skip the nsswitch "files" source and look to ldap and find > auto_home map entries. > > The point of doing this is that you can override selected indirect map > entries by adding them to /etc/auto_home. > > For example, if /etc/auto_home had: > ahmed localhost:/users/ahmedf > +auto_home > > autofs would use the local entry in /etc/auto_home for the map key ahmed > but would look to ldap for other keys. > > So it's easy to add temporary or permanent overrides using local file > based maps that look to ldap when a key isn't found. It's a little > different to the override behaviour of the master map described above > but the principle is the same. > >> >> > >> > > >> > > >> > > [root@splunk-tst ~]# automount -m >> > > lookup_nss_read_master: reading master ldap >> > > //x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa >> > > parse_server_string: lookup(ldap): Attempting to parse LDAP >> > > information from string >> > > "ldap://x.x.x.x/automountMapName=auto_home,dc=drivess,dc=rtaa". >> > > parse_server_string: lookup(ldap): server "ldap://x.x.x.x/", base dn >> > > "automountMapName=auto_home,dc=drivess,dc=rtaa" >> > > parse_ldap_config: lookup(ldap): ldap authentication configured with >> > > the following options: >> > > parse_ldap_config: lookup(ldap): use_tls: 0, tls_required: 0, >> > > auth_required: 1, sasl_mech: (null) >> > > parse_ldap_config: lookup(ldap): user: (null), secret: unspecified, >> > > client principal: (null) credential cache: (null) >> > > parse_init: parse(sun): init gathered global options: (null) >> > > spawn_mount: mtab link detected, passing -n to mount >> > > spawn_umount: mtab link detected, passing -n to mount >> > > do_bind: lookup(ldap): auth_required: 1, sasl_mech (null) >> > > do_bind: lookup(ldap): ldap simple bind returned 0 >> > > get_query_dn: lookup(ldap): found query dn >> > > automountMapName=auto_home,dc=drivess,dc=rtaa >> > > lookup_read_master: lookup(ldap): searching for >> > > "(objectclass=automount)" under >> > > "automountMapName=auto_home,dc=drivess,dc=rtaa" >> > > lookup_read_master: lookup(ldap): examining entries >> > > syntax error in map near [ adels nfs-cluster: ] >> > > syntax error in map near [ san ] >> > > syntax error in map near [ users ] >> > > syntax error in map near [ ad ] >> > > syntax error in map near [ soma ] >> > > >> > > >> > > >> > > [root@splunk-tst ~]# more /etc/nsswitch.conf|grep autom >> > > automount: files ldap >> > > >> > > >> > > >> > > Working through auto.home on Linux clients >> > > =============================== >> > > >> > > [root@splunk-tst ~]# more /etc/autofs.conf |grep auto.master >> > > >> > > master_map_name = auto.master >> > > >> > > >> > > I can make it work through auto.master like below but I wanted to >> > > mount the users home directory via LDAP automount >> > > >> > > [root@splunk-tst ~]# more /etc/auto.master >> > > /home /etc/auto.home >> > > /net -hosts >> > > +auto.master >> > > >> > > [root@splunk-tst ~]# more /etc/auto.home >> > > * -fstype=nfs,rw nfs-cluster:/san/users/cmes/& \ >> > > nfs-cluster:/san/users/techdev/& \ >> > > nfs-cluster:/san/users/ad/& \ >> > > nfs-cluster:/san/users/systest/& >> > > >> > > >> > > [root@splunk-tst ~]# cat /etc/mtab |grep autofs >> > > systemd-1 /proc/sys/fs/binfmt_misc autofs >> > > rw,relatime,fd=34,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0 >> > > /etc/auto.home /home autofs >> > > rw,relatime,fd=7,pgrp=10163,timeout=300,minproto=5,maxproto=5,indirect >> > > 0 0 >> > > -hosts /net autofs >> > > rw,relatime,fd=13,pgrp=10163,timeout=300,minproto=5,maxproto=5,indirect >> > > 0 0 >> > > >> > > >> > > >> > > Solaris Client >> > > -------- >> > > >> > > I can login as LDAP user and my home directory mounted in right way >> > > through automount >> > > >> > > asqcsat:/ # more /etc/auto_master >> > > >> > > +auto_master >> > > /net -hosts -nosuid,nobrowse,hard,intr >> > > /home auto_home -nobrowse,hard,intr >> > > >> > > asqcsat:/ # more /etc/auto_home >> > > >> > > +auto_home >> > > >> > > On Wed, May 27, 2015 at 9:10 PM, Ian Kent <raven@themaw.net> wrote: >> > > > On Wed, 2015-05-27 at 17:38 +1000, Sohnaeo wrote: >> > > >> Hi Ian, >> > > >> >> > > >> Here is the mnttab of Solaris client >> > > >> >> > > >> asqcsat:/ # cat /etc/mnttab |grep autofs >> > > > >> > > > So there is no auto_master references here so why does your ldap entry >> > > > say it belongs to auto_master? >> > > > >> > > > Perhaps you load the master map from a file, what's in /etc/auto_master? >> > > > >> > > >> >> > > >> -hosts /net autofs >> > > >> nosuid,indirect,ignore,nobrowse,zone=asqcsat,dev=5340047 >> > > >> 1430995592 >> > > >> auto_home /home autofs >> > > >> nodevices,indirect,ignore,nobrowse,zone=asqcsat,dev=5340048 >> > > >> 1430995592 >> > > > >> > > > I'd think the ldap entry you mentioned would belong to this indirect >> > > > mount map, auto_home and not auto_master. >> > > > >> > > >> -hosts /net/nfs-cluster/san autofs >> > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340061 1430995660 >> > > >> -hosts /net/nfs-cluster/san/sys autofs >> > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340062 1430995660 >> > > >> -hosts /net/nfs-cluster/san/www autofs >> > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340063 1430995660 >> > > >> -hosts /net/nfs-cluster/san/appl autofs >> > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340064 1430995660 >> > > >> -hosts /net/nfs-cluster/san/gen85 autofs >> > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340065 1430995660 >> > > >> -hosts /net/nfs-cluster/san/nottn autofs >> > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340066 1430995660 >> > > >> -hosts /net/nfs-cluster/san/model autofs >> > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340067 1430995660 >> > > >> -hosts /net/nfs-cluster/san/users autofs >> > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340068 1430995660 >> > > >> -hosts /net/nfs-cluster/san/project autofs >> > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=5340069 1430995660 >> > > >> -hosts /net/nfs-cluster/san/workdmp autofs >> > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=534006a 1430995660 >> > > >> -hosts /net/nfs-cluster/san/repository autofs >> > > >> nosuid,ignore,nest,nobrowse,zone=asqcsat,dev=534006b 1430995660 >> > > > >> > > > Right, a few host map entries have been accessed by the look of it. >> > > > >> > > >> >> > > >> Users home directories are on NFS, path is nfs-cluster:/san/users/ >> > > > >> > > > Yes but the ldap entry below doesn't quite match that either. >> > > > >> > > >>dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa >> > > > >> > > > So the automountMapName possibly should be auto_home but ... >> > > > >> > > >>automountinformation: nfs-cluster:/san/users/cmes/ahmedf >> > > > >> > > > the key should be cmes and not ahmedf or perhaps the >> > > > automountInformation should be nfs-cluster:/san/users/ahmedf >> > > > but I don't know what your trying to achieve and I don't know what else >> > > > you have in ldap. >> > > > >> > > >>automountkey: ahmedf >> > > >>objectclass: top >> > > >>objectclass: automount >> > > > >> > > > What do you have in /etc/nsswitch.conf? >> > > > Presumably it's "automount: files ldap" or "automount: ldap", I can't >> > > > tell from this. >> > > > >> > > > In any case Linux autofs is not tolerant of configurations that aren't >> > > > quite right and won't just ignore them as Solaris seems to do in some >> > > > cases. Perhaps this is the source of the problem. >> > > > >> > > > Really, putting map entries in what should be the master map is the >> > > > wrong thing to do and will lead to even more confusion later. For >> > > > example, what if you have two distinct indirect maps that have some keys >> > > > of the same name but point to different mount locations, how will the >> > > > key lookup work out which key belongs to what map? >> > > > >> > > > Even if putting them in the master map ldap object works I recommend >> > > > separating them to be under specific map object holders as is seen in >> > > > the example I originally pointed you at. It will be much easier to >> > > > maintain, especially if your maps grow over time (as most do). >> > > > >> > > >> >> > > >> Regards, >> > > >> >> > > >> Farhan >> > > >> >> > > >> >> > > >> On Wed, May 27, 2015 at 1:55 PM, Ian Kent <raven@themaw.net> wrote: >> > > >> > On Wed, 2015-05-27 at 10:07 +0800, Ian Kent wrote: >> > > >> >> On Tue, 2015-05-26 at 16:31 +1000, Sohnaeo wrote: >> > > >> >> > Hello Ian, >> > > >> >> > >> > > >> >> > Thank you very much for looking into this. Solaris clients didn't have >> > > >> >> > any issue with the existing master map. In my environment, I do have >> > > >> >> > 99% Solaris clients and I don't want to change master map for few >> > > >> >> > Linux clients. below is the auto_master map on Sun Directory Server >> > > >> >> > >> > > >> >> > dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa >> > > >> >> > automountinformation: nfs-cluster:/san/users/cmes/ahmedf >> > > >> >> > automountkey: ahmedf >> > > >> >> > objectclass: top >> > > >> >> > objectclass: automount >> > > >> >> >> > > >> >> I don't see how that could work, it's not a master map entry, it's a map >> > > >> >> entry. >> > > >> >> >> > > >> >> The problem with this entry is it doesn't provide the information about >> > > >> >> what indirect mount this key belongs to? >> > > >> >> >> > > >> >> You'll need to give me more info about what's in ldap and what the >> > > >> >> mounts look like after automount is started on Solaris. >> > > >> >> >> > > >> >> Start autofs on an idle system, do nothing else, and post the contents >> > > >> >> of /etc/mnttab (assuming that hasn't changed over the years since I >> > > >> >> worked on Solaris systems). If there are obvious things you don't want >> > > >> >> people to see in it then delete those lines but don't delete autofs >> > > >> >> related lines. >> > > >> > >> > > >> > And what path do you use to cause this entry to mount? >> > > >> > >> > > >> >> >> > > >> >> If you want you could log a bug at bugzilla.redhat.com and have it made >> > > >> >> private to so the information isn't available to people not included on >> > > >> >> the cc list or allowed groups. >> > > >> >> >> > > >> >> > >> > > >> >> > >> > > >> >> > I am clueless. >> > > >> >> > >> > > >> >> > On Thu, May 21, 2015 at 4:41 PM, Ian Kent <raven@themaw.net> wrote: >> > > >> >> > > On Thu, 2015-05-21 at 12:42 +1000, Sohnaeo wrote: >> > > >> >> > >> Hello Guys, >> > > >> >> > >> >> > > >> >> > >> I am having an issue with the autofs/automount on Cent OS 7, below is the detail >> > > >> >> > >> >> > > >> >> > >> LDAP Server >> > > >> >> > >> >> > > >> >> > >> >> > > >> >> > >> Solaris 10 >> > > >> >> > >> Sun Directory Server 6.2 >> > > >> >> > >> >> > > >> >> > >> >> > > >> >> > >> LDAP Client >> > > >> >> > >> >> > > >> >> > >> >> > > >> >> > >> CentOS 7 >> > > >> >> > >> >> > > >> >> > >> OpenLdap >> > > >> >> > >> >> > > >> >> > >> >> > > >> >> > >> I issued the below command to enable LDAP authetication. LDAP users >> > > >> >> > >> can successfully authenticated now on CentOs >> > > >> >> > >> >> > > >> >> > >> authconfig --enableldap --enableldapauth --ldapserver=x.x.x.x >> > > >> >> > >> --ldapbasedn=dc=drivess,dc=rtta --disablemkhomedir --update >> > > >> >> > >> >> > > >> >> > >> But somehow users home directories can't be mounted through autofs. >> > > >> >> > >> Below is my autofs.conf file >> > > >> >> > >> >> > > >> >> > >> autofs >> > > >> >> > >> master_map_name = ldap://xxxxx/automountMapName=auto_master,dc=drivess,dc=rtaa >> > > >> >> > >> mount_nfs_default_protocol = 3 >> > > >> >> > >> logging = debug >> > > >> >> > >> ldap_uri = "ldap://x.x.x.x" >> > > >> >> > >> search_base = "automountMapName=auto_master,dc=drivess,dc=rtaa" >> > > >> >> > >> map_object_class = automountMap >> > > >> >> > >> entry_object_class = automount >> > > >> >> > >> map_attribute = automountMapName >> > > >> >> > >> entry_attribute = automountKey >> > > >> >> > >> value_attribute= automountInformation >> > > >> >> > >> auth_conf_file = /etc/autofs_ldap_auth.conf >> > > >> >> > >> map_type = ldap >> > > >> >> > >> >> > > >> >> > >> When I run the below command , it throws an error >> > > >> >> > >> >> > > >> >> > >> automount -m >> > > >> >> > >> get_query_dn: lookup(ldap): found query dn >> > > >> >> > >> automountMapName=auto_master,dc=drivess,dc=rtaa >> > > >> >> > >> lookup_read_master: lookup(ldap): searching for >> > > >> >> > >> "(objectclass=automount)" under >> > > >> >> > >> "automountMapName=auto_master,dc=drivess,dc=rtaa" >> > > >> >> > >> lookup_read_master: lookup(ldap): examining entries >> > > >> >> > >> syntax error in map near ahmedf nfs-cluster: >> > > >> >> > >> >> > > >> >> > >> Below is ldapsearch command result >> > > >> >> > >> ldapsearch -x -b 'automountMapName=auto_master,dc=drivess,dc=rtaa' >> > > >> >> > >> "(objectClass=automountMap)" >> > > >> >> > >> >> > > >> >> > >> dn: automountMapName=auto_master,dc=drivess,dc=rtaa >> > > >> >> > >> automountMapName: auto_master >> > > >> >> > >> objectClass: top >> > > >> >> > >> objectClass: automountMap >> > > >> >> > >> >> > > >> >> > >> ldapsearch -x -b >> > > >> >> > >> 'automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa >> > > >> >> > >> dn: automountkey=ahmedf,automountMapName=auto_master,dc=drivess,dc=rtaa >> > > >> >> > >> automountInformation: nfs-cluster:/san/users/cmes/ahmedf >> > > >> >> > >> automountKey: ahmedf >> > > >> >> > >> objectClass: automount >> > > >> >> > >> objectClass: top >> > > >> >> > >> >> > > >> >> > >> In short, automountInformation is nfs-cluster:/san/users/cmes/ahmedf >> > > >> >> > >> but somehow autmount is complaining "syntax error in map near [ ahmedf >> > > >> >> > >> nfs-cluster: ]" >> > > >> >> > > >> > > >> >> > > That's telling you that your master map is not right. >> > > >> >> > > >> > > >> >> > >> >> > > >> >> > >> >> > > >> >> > >> Any ideas? >> > > >> >> > > >> > > >> >> > > Have a look at the example in /usr/share/doc/autofs: >> > > >> >> > > ldap-automount-rfc2307-bis-auto.master >> > > >> >> > > ldap-automount-rfc2307-bis-auto.indirect >> > > >> >> > > ldap-automount-rfc2307-bis-auto.direct >> > > >> >> > > >> > > >> >> > > For the indirect mount case above you need master map ldap entries that >> > > >> >> > > contain an entry that specifies the indirect mount mount point and the >> > > >> >> > > map where the entries for that mount point are stored. >> > > >> >> > > >> > > >> >> > > Ian >> > > >> >> > > >> > > >> >> > > >> > > >> >> > > >> > > >> >> >> > > >> >> >> > > >> >> -- >> > > >> >> To unsubscribe from this list: send the line "unsubscribe autofs" in >> > > >> >> the body of a message to majordomo@vger.kernel.org >> > > >> >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> > > >> > >> > > >> > >> > > > >> > > > >> > >> > >> > -- >> > To unsubscribe from this list: send the line "unsubscribe autofs" in >> > the body of a message to majordomo@vger.kernel.org >> > More majordomo info at http://vger.kernel.org/majordomo-info.html >> >> >> -- >> To unsubscribe from this list: send the line "unsubscribe autofs" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2015-05-28 3:28 UTC | newest] Thread overview: 12+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-05-21 2:42 Autmount issue Sohnaeo 2015-05-21 6:41 ` Ian Kent 2015-05-26 6:31 ` Sohnaeo 2015-05-27 2:07 ` Ian Kent 2015-05-27 3:55 ` Ian Kent 2015-05-27 7:38 ` Sohnaeo 2015-05-27 11:10 ` Ian Kent 2015-05-28 0:00 ` Sohnaeo 2015-05-28 1:46 ` Ian Kent 2015-05-28 2:19 ` Ian Kent 2015-05-28 2:39 ` Ian Kent 2015-05-28 3:28 ` Sohnaeo
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.