FILES(7P) FILES(7P) NAME files - local files name service parser library SYNOPSIS /var/ns/lib/libns_files.so DESCRIPTION The files client library parses traditional local name service configuration files such as /etc/passwd and makes the data available through the nsd(1M) filesystem. This library is meant to be used only by the nsd(1M) daemon to efficiently access local name service data. The library /var/ns/lib/libns_files.so is opened by the nsd(1M) daemon when files is listed as the protocol for some map in a nsswitch.conf file. Extended attributes in the nsswitch.conf file can be used to control the behavior of the files library. Extended attributes are simply lists of key/value pairs attached to each object in the nsd filesystem. The attributes supported in this library are: compat The compat attribute is only used for the password file. This attribute specifies that lines beginning with +/- represent entries supported in later libraries and results in a recursive call into nsd. When the directive [notfound=return] follows this line then entries which are not in the local password file, or where there is no +/- entry which matches will fail. This allows the historic behavior at the cost of performance. To get the same behavior from previous OS releases use the following line for the password entry: passwd: files(compat) [notfound=return] nis library_compat The library_compat attribute is set when a entry is generated from a +/- compat request. Similar to the library attribute, it will be set to the name of the library that the compat information was returned from. domain The domain attribute determines the path used to find the source file. This attribute is typically inherited from the daemon depending on the nsswitch.conf ` file that is being read. Given the configuration file /var/ns/domains/DOMAINNAME/nsswitch.conf the attribute "domain" is set to DOMAINNAME. Given a domain DOMAINNAME the library would open the file /var/ns/domains/DOMAINNAME/FILE where file is the tradition file name for each table. If a table does not match one of the traditional files then the table name itself is used for the file name. If the domain attribute is unset then the file /etc/FILE would be used. See the information about the table and file attributes below. A client system can be a member of multiple domains by including multiple instances of the files keyword in the nsswitch.conf file like: hosts: files(domain=engr) files(domain=corp) file The file attribute overrides the domain and table attributes to set the name of the file to be opened. If the file begins with a leading '/' then that file is simply opened. If not, then the contents of this attribute are appended to the directory name -- either /etc/ for the default domain, or /var/ns/domains/DOMAINNAME/ when the domain attribute is set. The default files for each of the traditional maps are as follows: lB lB l l . Filename Tables aliases mail.aliases, mail.byaddr capability capability.byname clearance clearance.byname ethers ethers.byname, ethers.byaddr group group.byname, group.bygid, group.bymember hosts hosts.byaddr, hosts.byname mac mac.byname, mac.byvalue netgroup netgroup, netgroup.byuser, netgroup.byhost networks networks.byaddr, networks.byname passwd passwd.byname, passwd.byuid protocols protocols.byname, protocols.bynumber rpc rpc.byname, rpc.bynumber services services, services.byname shadow shadow.byname key The key attribute is used to fetch the data from the file. It is set by the nsd(1M) daemon. Each of the traditional files uses the key in a different way. For instance when looking up an address in the hosts.byaddr map the library would open up the hosts file, convert the key to an address, then walk through the file one line at a time converting the first string in the file to an address and then doing an address comparison until one matched. table The table attribute is typically inherited from the daemon based on the line from which this entry occurs in the nsswitch.conf file. In the above example the table attribute would be set to hosts.byname or hosts.byaddr depending on the context of the request. This attribute is used as the file name containing the data unless the table matches one of the traditional files (see file attribute above). For the hosts.byname map in the default domain the file /etc/hosts would be opened and searched. separator The separator attribute is used when using the files library to support a non-traditional file. The file is expected to be of the format: keySEPARATORvalue The separator is a string which is passed directly to the strtok(3C) function. FILES /etc/nsswitch.conf, /etc/aliases, /etc/capability, /etc/clearance, /etc/ethers, /etc/group, /etc/hosts, /etc/mac, /etc/netgroup, /etc/networks, /etc/passwd, /etc/protocols, /etc/rpc, /etc/services, /etc/shadow SEE ALSO nsd(1M), strtok(3C), nsswitch.conf(4), aliases(4), capability(4), clearance(4), ethers(4), group(4), hosts(4), mac(4), netgroup(4), networks(4), passwd(4), protocols(4), rpc(4), services(4), shadow(4) Page 3