====== Auto Mount Network Shares ======
**General Information**
Automatically mounting network shares with autofs. This is the client configuration and assumes a working server setup with NFS or CIFS shares already.
**Checklist**
* Distro(s): Enterprise Linux 6/7
* Other: Network server with shared directory (NFS or CIFS)
----
====== Install Required Packages ======
**Pre-reqs:**
* Assuming that all client/server regular nfs/cifs mounting works before continuing. See below for configuration.
* [[linux_wiki:nfs_shares|NFS Shares]]
* [[linux_wiki:cifs_windows_shares|CIFS Shares]]
\\
Install autofs
yum install autofs
----
====== Autofs Config ======
===== Map Files =====
The master map file contains entries that point to other config files for specific mount instructions.
* EL6: /etc/auto.master
* EL7: /etc/auto.master.d/.autofs
* In EL7, the "/etc/auto.master" file is part of the RPM; any updates to the autofs package could overwrite changes you make, so it is recommended to create your own master map file under /etc/auto.master.d/. The name does not matter, as long as it ends in ".autofs"
\\
Master Map File Contents
* First column = name of the mount point on the local client system
* Second column = config file that controls its mounting
* Third column (optional) = default mount options for all mounts defined in config file
Example
# File: /etc/auto.master OR /etc/auto.master.d/.autofs
# Direct mounts: look in auto.direct for mappings
/- /etc/auto.direct
# Indirect mounts: look in auto.home for mappings of subdirectories of /home/
/home /etc/auto.home --timeout=600
* Direct Maps => One or more full path mounts to one or more remote servers. This is similar to regular NFS mounts that you would see in /etc/fstab.
* Above example: /- /etc/auto.direct
* Indirect Maps => Directories on the remote server that can all be mounted under the same local mount point. (IE: All sub directories of the listed local mount "/home")
* Above example: /home /etc/auto.home --timeout=600
----
==== Direct Map Example ====
**Note:** All direct map entries must be defined as "/-" in the /etc/auto.master or /etc/auto.master.d/.autofs file.
# File: /etc/auto.direct
# Reminder of master map contents for reference:
# /- /etc/auto.direct
# Direct mappings: local mountpoint from remote mountpoint
/network-shares/nfs-share -rw 192.168.1.151:/data/nfs
/network-shares/nfs-share2 -rw 192.168.1.151:/data/nfs2
/network-shares/cifs -fstype=cifs,rw,credentials=/root/.ssh/.cifs-share //192.168.1.151/cifs-share
* First column => local mount point
* Second column => mount options
* Third column => remote shared directory
----
==== Indirect Map Example ====
**Note:** This example works best when implemented using LDAP authentication to ensure that user id's are matched up between NFS server and clients.
Naming local and remote directories
# File: /etc/auto.home
# Reminder of master map contents for reference:
# /home /etc/auto.home --timeout=600
# Indirect mappings: sub directories of /home/
yoda 192.168.1.151:/home/yoda
luke 192.168.1.151:/home/luke
vader 192.168.1.200:/home/vader
\\
Naming local only (Ampersand Wildcard)
yoda 192.168.1.151:/home/&
* The "&" is replaced by the key in the first column (yoda)
\\
All wild cards (Asterisk and Ampersand Wildcards)
* 192.168.1.151:/home/&
* "*" is assigned the directory that is accessed. If someone tried to access "/home/yoda", the "*" value is "yoda".
* The "&" in the remote server line is replaced by the key in the first column (*). So if someone accesses local "/home/yoda", the remote system (192.168.1.151) gets an access attempt to "/home/yoda"
----
===== Start and Enable =====
Start and Enable Auto Mounter on Boot
* EL7systemctl start autofs
systemctl enable autofs
* EL6service autofs start
chkconfig autofs on
Reload Auto Mount Config (to enable changes made after service startup)
* EL7systemctl reload autofs
* EL6service autofs reload
----