nischttl changes the time to live value (ttl) of the NIS+ objects or entries specified by name to time. Entries are specified using indexed names (see nismatch(1)).
The time to live value is used by object caches to expire objects within their cache. When an object is read into the cache, this value is added to the current time in seconds yielding the time when the cached object would expire. The object may be returned from the cache until the current time is earlier than the calculated expiration time. When the expiration time has been reached, the object will be flushed from the cache.
The time to live time may be specified in seconds or in days, hours, minutes, seconds format. The latter format uses a suffix letter of d, h, m, or s to identify the units of time. See the examples below for usage.
The command will fail if the master NIS+ server is not running.
The following options are supported:
Modify all tables in the concatenation path that match the search criterion specified in name. This option implies the -P switch.
Force the operation and fail silently if it does not succeed.
Follow links and change the time to live of the linked object or entries rather than the time to live of the link itself.
Follow the concatenation path within a named table. This option only makes sense when either name is an indexed name or the -L switch is also specified and the named object is a link pointing to entries.
The following example shows how to change the ttl of an object using the seconds format and the days, hours, minutes, seconds format. The ttl of the second object is set to 1 day and 12 hours.
example% nischttl 184000 object example% nischttl 1d12h object
This example shows how to change the ttl for a password entry.
example% nischttl 1h30m '[uid=99],passwd.org_dir'
The next two examples change the ttl of the object or entries pointed to by a link, and the ttl of all entries in the hobbies table.
example% nischttl -L 12h linkname example% nischttl 3600 ',hobbies'
If this variable is set, and the NIS+ name is not fully qualified, each directory specified will be searched until the object is found (see nisdefaults(1)).
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
Setting a high ttl value allows objects to stay persistent in caches for a longer period of time and can improve performance. However, when an object changes, in the worst case, the number of seconds in this attribute must pass before that change is visible to all clients. Setting a ttl value of 0 means that the object should not be cached at all.
A high ttl value is a week, a low value is less than a minute. Password entries should have ttl values of about 12 hours (easily allows one password change per day), entries in the RPC table can have ttl values of several weeks (this information is effectively unchanging).
Only directory and group objects are cached in this implementation.