The Solaris SMB server can automatically share home directories when an SMB client connects. The autohome map file, /etc/smbautohome, uses the search options and rules to determine whether to share a home directory when an SMB client connects to the server.
For example, the following entries specify the autohome rules for a particular environment:
+nsswitch dn=ad,dn=sun,dn=com,ou=users jane /home/?/& dn=ad,dn=sun,dn=com,ou=users
The nsswitch autohome entry uses the naming service to match users to home directories. The second autohome entry specifies that the home directory for user jane is /home/j/jane.
A map entry, which is also referred to as a mapping, uses the following format:
key location [ options ]
key is a user name, location is the fully qualified path for the user's home directory, and options specifies the share options, for example, an AD container or description. See share_smb(1M) for information on share options.
If you intend to publish the share in Active Directory (AD), you must specify an AD container name, which is specified as a comma-separated list of attribute name-value pairs. The attributes use the LDAP distinguished name (DN) or relative distinguished name (RDN) format.
The DN or RDN must be specified in LDAP format by using the following attribute types:
cn= represents the common name
ou= represents the organizational unit
dc= represents the domain component
The attribute type that is used to describe an object's RDN is called a naming attribute. AD uses the naming attributes as follows:
cn for the user object class
ou for the OU (organizational unit) object class
dc for the domainDns object class
The autohome feature supports the following wildcard substitutions for the value of the key field:
The ampersand character (&) is expanded to the value of the key field for the entry in which it occurs. In the following example, & expands to jane:
The question mark character (?) is expanded to the value of the first character in the key field for the entry in which it occurs. In the following example, ? expands to j:
When supplied in the key field, the asterisk character (*) is recognized as the “catch-all” entry. Such an entry matches any key not previously matched.
For example, the following entry would map any user to a home directory in /home in which the home directory name was the same as the user name:
The wildcard rule is only applied if an appropriate rule is not matched by another map entry.
The nsswitch map is used to request that the home directory be obtained from a password database, such as the local, NIS, or LDAP databases. If an AD path is appended, it is used to publish shares.
Like the “catch-all” entry, the nsswitch map is only searched if an appropriate rule is not matched by another map entry.
The wildcard and nsswitch rules are mutually exclusive. Do not include an nsswitch rule if a wildcard rule has already been defined.
See the attributes(5) man page for descriptions of the following attributes: