autofs
Common Tasks
Overriding or augmenting site configuration files
It can be useful to override site defaults for a specific mount point on a client system. For example, assuming that the automounter maps are stored in NIS and the /etc/nsswitch.conf
file has the following directive:
automount: files nis
and the NIS auto.master
map file contains the following:
/home auto.home
Also assume the NIS auto.home
map contains the following:
beth fileserver.example.com:/export/home/beth joe fileserver.example.com:/export/home/joe * fileserver.example.com:/export/home/&
and the file map /etc/auto.home
does not exist.
For the above example, lets assume that the client system needs to mount home directories from a different server. In this case, the client will need to use the following /etc/auto.master
map:
/home /etc/auto.home2 +auto.master
And the /etc/auto.home2
map contains the entry:
* labserver.example.com:/export/home/&
Because only the first occurrence of a mount point is processed, /home
will contain the contents of /etc/auto.home2
instead of the NIS auto.home
map.
Alternatively, if you just want to augment the site-wide auto.home
map with a few entries, create a /etc/auto.home
file map, and in it put your new entries and at the end, include the NIS auto.home map. Then the /etc/auto.home
file map might look similar to:
mydir someserver:/export/mydir +auto.home
Given the NIS auto.home
map listed above, an ls
of /home
would now give:
~]$ ls /home
beth joe mydir
This last example works as expected because autofs
knows not to include the contents of a file map of the same name as the one it is reading and so moves on to the next map source in the nsswitch
configuration.
Using LDAP to Store Automounter Maps
LDAP client libraries must be installed on all systems which are to retrieve automounter maps from LDAP. On RHEL 5, the openldap
package should be installed automatically as a dependency of the automounter
. To configure LDAP access, modify /etc/openldap/ldap.conf
. Ensure that BASE and URI are set appropriately for your site. Please also ensure that the schema is set in the configuration.
The most recently established schema for storing automount maps in LDAP is described by rfc2307bis
. To use this schema it is necessary to set it in the autofs
configuration (/etc/sysconfig/autofs
) by removing the comment characters from the schema definition. For example:
DEFAULT_MAP_OBJECT_CLASS="automountMap" DEFAULT_ENTRY_OBJECT_CLASS="automount" DEFAULT_MAP_ATTRIBUTE="automountMapName" DEFAULT_ENTRY_ATTRIBUTE="automountKey" DEFAULT_VALUE_ATTRIBUTE="automountInformation"
Ensure that these are the only schema entries not commented in the configuration. Please also note that the automountKey
replaces the cn
attribute in the rfc2307bis
schema. An LDIF
of a sample configuration is described below:
# extended LDIF # # LDAPv3 # base <> with scope subtree # filter: (&(objectclass=automountMap)(automountMapName=auto.master)) # requesting: ALL # # auto.master, example.com dn: automountMapName=auto.master,dc=example,dc=com objectClass: top objectClass: automountMap automountMapName: auto.master # extended LDIF # # LDAPv3 # base <automountMapName=auto.master,dc=example,dc=com> with scope subtree # filter: (objectclass=automount) # requesting: ALL # # /home, auto.master, example.com dn: automountMapName=auto.master,dc=example,dc=com objectClass: automount cn: /home automountKey: /home automountInformation: auto.home # extended LDIF # # LDAPv3 # base <> with scope subtree # filter: (&(objectclass=automountMap)(automountMapName=auto.home)) # requesting: ALL # # auto.home, example.com dn: automountMapName=auto.home,dc=example,dc=com objectClass: automountMap automountMapName: auto.home # extended LDIF # # LDAPv3 # base <automountMapName=auto.home,dc=example,dc=com> with scope subtree # filter: (objectclass=automount) # requesting: ALL # # foo, auto.home, example.com dn: automountKey=foo,automountMapName=auto.home,dc=example,dc=com objectClass: automount automountKey: foo automountInformation: filer.example.com:/export/foo # /, auto.home, example.com dn: automountKey=/,automountMapName=auto.home,dc=example,dc=com objectClass: automount automountKey: / automountInformation: filer.example.com:/export/&
Adapting Autofs v4 Maps To Autofs v5
v4 Multi-map entries
Autofs version 4 introduced the notion of a multi-map entry in the master map. A multi-map entry is of the form:<mount-point> <maptype1> <mapname1> <options1> -- <maptype2> <mapname2> <options2> -- ...
Any number of maps can be combined into a single map in this manner. This feature is no longer present in v5. This is because Version 5 supports included maps which can be used to attain the same results. Consider the following multi-map example:
/home file /etc/auto.home -- nis auto.home
This can be replaced by the following configuration for v5:
/etc/nsswitch.conf
must list:
automount: files nis
/etc/auto.master
should contain:
/home auto.home
/etc/auto.home
should contain:
<entries for the home directory> +auto.home
In this way, the entries from /etc/auto.home
and the nis auto.home
map are combined.
Multiple master maps
In autofs version 4, it is possible to merge the contents of master maps from each source, such as files, nis, hesiod, and LDAP. The version 4 automounter looks for a master map for each of the sources listed in/etc/nsswitch.conf
. The map is read if it exists and its contents are merged into one large auto.master
map.In version 5, this is no longer the behaviour. Only the first master map found from the list of sources in nsswitch.conf
is consulted. If it is desirable to merge the contents of multiple master maps, included maps can be used. Consider the following example:
/etc/nsswitch.conf: automount: files nis
/etc/auto.master: /home /etc/auto.home +auto.master
The above configuration will merge the contents of the file-based auto.master
and the NIS-based auto.master
. However, because included map entries are only allowed in file maps, there is no way to include both an NIS auto.master
and an LDAP auto.master
.
This limitation can be overcome by creating a master maps that have a different name in the source. In the example above if we had an LDAP master map named auto.master.ldap
we could also add "+auto.master.ldap"
to the file based master map and provided that "ldap
" is listed as a source in our nsswitch configuration it would also be included.