- set or display name of the current domain
Without an argument, domainname displays the name of the current domain name used in RPC exchanges, usually referred to as the NIS domain name. This name typically encompasses a group of hosts or passwd entries under the same administration. The domainname command is used by various components of Solaris to resolve names for entries such as are found in passwd, hosts and aliases. By default, naming services such as NIS use domainname to resolve names.
With solaris.smf.manage.domainname rbac(5) privileges, you can set the name of the domain by specifying the domain name as the value of the config/domainname property of the nis/domain service with a sequence of commands such as the following:
% svccfg -s nis/domain setprop config/domainname = \ hostname: nisdomain.example.com % svccfg -s nis/domain:default refresh % svcadm enable nis/domain
In addition to setting the value of config/domainname, the preceding sequence enables the nis/domain service. This service is not enabled by default. The nis/domain service sets up all the shared NIS configuration, of which domainname is the one mandatory configuration parameter.
The domain name for various naming services can also be set by other means. For example, ypinit can be used to specify a different domain for all NIS calls. The domain name of the machine is usually set during boot time through the domainname command by the svc:/system/identity:domain service. If the new domain name is not saved in the /etc/defaultdomain file, the machine reverts to the old domain after it reboots.
The sendmail(1M) daemon, as shipped with Solaris, and the sendmail implementation provided by sendmail.org (formerly referred to as “Berkeley 8.x sendmail”) both attempt to determine a local host's fully qualified host name at startup and both pursue follow-up actions if the initial search fails. It is in these follow-up actions that the two implementations differ.
Both implementations use a standard Solaris or Unix system call to determine its fully qualified host name at startup, following the name service priorities specified in nsswitch.conf(4). To this point, the Solaris and sendmail.org versions behave identically.
If the request for a fully qualified host name fails, the sendmail.org sendmail sleeps for 60 seconds, tries again, and, upon continuing failure, resorts to a short name. The Solaris version of sendmail makes the same initial request, but then, following initial failure, calls domainname. If successful, the sleep is avoided.
On a Solaris machine, if you run the sendmail.org version of sendmail, you get the startup behavior (omitting the domainname call) described above. If you run the Solaris sendmail, the domainname call is made if needed.
If the Solaris sendmail cannot determine the fully qualified host name, use check-hostname(1M) as a troubleshooting aid. This script can offer guidance as to appropriate corrective action.
See attributes(5) for descriptions of the following attributes:
svcs(1), check-hostname(1M), hostconfig(1M), named(1M), sendmail(1M), svcadm(1M), svccfg(1M), ypinit(1M), aliases(4), defaultdomain(4), hosts(4), nsswitch.conf(4), passwd(4), attributes(5), rbac(5), smf(5)
The domainname service is managed by the service management facility, smf(5), under the service identifier: