1nscd.conf(5)                  File Formats Manual                 nscd.conf(5)
2
3
4

NAME

6       nscd.conf - name service cache daemon configuration file
7

DESCRIPTION

9       The  file  /etc/nscd.conf  is  read from nscd(8) at startup.  Each line
10       specifies either an attribute and a value, or  an  attribute,  service,
11       and  a  value.  Fields are separated either by SPACE or TAB characters.
12       A '#' (number sign) indicates the beginning  of  a  comment;  following
13       characters, up to the end of the line, are not interpreted by nscd.
14
15       Valid services are passwd, group, hosts, services, or netgroup.
16
17       logfile debug-file-name
18              Specifies  name  of the file to which debug info should be writ‐
19              ten.
20
21       debug-level value
22              Sets the desired debug level.  0 hides debug info.  1 shows gen‐
23              eral  debug  info.  2 additionally shows data in cache dumps.  3
24              (and above) shows all debug info.  The default is 0.
25
26       threads number
27              This is the initial number of threads that are started  to  wait
28              for  requests.   At  least  five threads will always be created.
29              The number of threads may increase dynamically up to max-threads
30              in response to demand from clients, but never decreases.
31
32       max-threads number
33              Specifies the maximum number of threads.  The default is 32.
34
35       server-user user
36              If  this  option  is  set, nscd will run as this user and not as
37              root.  If a separate cache for every user is  used  (-S  parame‐
38              ter), this option is ignored.
39
40       stat-user user
41              Specifies the user who is allowed to request statistics.
42
43       reload-count unlimited | number
44              Sets a limit on the number of times a cached entry gets reloaded
45              without being used before it gets removed.  The limit  can  take
46              values  ranging  from  0 to 254; values 255 or higher behave the
47              same as unlimited.  Limit values can be specified in either dec‐
48              imal  or  hexadecimal with a "0x" prefix.  The special value un‐
49              limited is case-insensitive.  The default limit is 5.   A  limit
50              of  0 turns off the reloading feature.  See NOTES below for fur‐
51              ther discussion of reloading.
52
53       paranoia <yes|no>
54              Enabling paranoia mode causes nscd to  restart  itself  periodi‐
55              cally.  The default is no.
56
57       restart-interval time
58              Sets the restart interval to time seconds if periodic restart is
59              enabled by enabling paranoia mode.  The default is 3600.
60
61       enable-cache service <yes|no>
62              Enables or disables the specified service cache.  The default is
63              no.
64
65       positive-time-to-live service value
66              Sets  the  TTL  (time-to-live)  for positive entries (successful
67              queries) in the specified cache for service.  Value is  in  sec‐
68              onds.   Larger  values  increase cache hit rates and reduce mean
69              response times, but  increase  problems  with  cache  coherence.
70              Note  that  for  some name services (including specifically DNS)
71              the TTL returned from the name service is used and  this  attri‐
72              bute is ignored.
73
74       negative-time-to-live service value
75              Sets  the  TTL (time-to-live) for negative entries (unsuccessful
76              queries) in the specified cache for service.  Value is  in  sec‐
77              onds.   Can  result  in  significant performance improvements if
78              there are several files owned by UIDs (user IDs) not  in  system
79              databases  (for  example  untarring  the Linux kernel sources as
80              root); should be kept small to reduce cache coherency problems.
81
82       suggested-size service value
83              This is the internal hash table  size,  value  should  remain  a
84              prime number for optimum efficiency.  The default is 211.
85
86       check-files service <yes|no>
87              Enables or disables checking the file belonging to the specified
88              service for changes.  The  files  are  /etc/passwd,  /etc/group,
89              /etc/hosts,  /etc/resolv.conf, /etc/services, and /etc/netgroup.
90              The default is yes.
91
92       persistent service <yes|no>
93              Keep the content of the cache for service over server  restarts;
94              useful when paranoia mode is set.  The default is no.
95
96       shared service <yes|no>
97              The  memory  mapping of the nscd databases for service is shared
98              with the clients so that they can directly search  in  them  in‐
99              stead  of  having  to ask the daemon over the socket each time a
100              lookup is performed.  The default is no.  Note that a cache miss
101              will still result in asking the daemon over the socket.
102
103       max-db-size service bytes
104              The  maximum allowable size, in bytes, of the database files for
105              the service.  The default is 33554432.
106
107       auto-propagate service <yes|no>
108              When set to no for passwd or group service, then the .byname re‐
109              quests are not added to passwd.byuid or group.bygid cache.  This
110              can help with tables containing multiple records  for  the  same
111              ID.  The default is yes.  This option is valid only for services
112              passwd and group.
113

NOTES

115       The default values stated in this manual page originate from the source
116       code  of  nscd(8)  and  are used if not overridden in the configuration
117       file.  The default values used in the configuration file of  your  dis‐
118       tribution might differ.
119
120   Reloading
121       nscd(8)  has a feature called reloading, whose behavior can be surpris‐
122       ing.
123
124       Reloading is enabled when the reload-count  attribute  has  a  non-zero
125       value.   The  default  value  in the source code enables reloading, al‐
126       though your distribution may differ.
127
128       When reloading is enabled, positive cached entries (the results of suc‐
129       cessful  queries)  do not simply expire when their TTL is up.  Instead,
130       at the expiry time, nscd will "reload", i.e., re-issue to the name ser‐
131       vice  the  same query that created the cached entry, to get a new value
132       to cache.  Depending on /etc/nsswitch.conf this may mean  that  a  DNS,
133       LDAP,  or NIS request is made.  If the new query is successful, reload‐
134       ing will repeat when the new value  would  expire,  until  reload-count
135       reloads  have happened for the entry, and only then will it actually be
136       removed from the cache.  A request from a client which hits  the  entry
137       will  reset  the  reload counter on the entry.  Purging the cache using
138       nscd -i overrides the reload logic and removes the entry.
139
140       Reloading has the effect of extending cache entry TTLs without  compro‐
141       mising  on cache coherency, at the cost of additional load on the back‐
142       ing name service.  Whether this is a good idea on your  system  depends
143       on  details  of your applications' behavior, your name service, and the
144       effective TTL values of your cache entries.  Note that  for  some  name
145       services  (for  example,  DNS), the effective TTL is the value returned
146       from the name service and not the value  of  the  positive-time-to-live
147       attribute.
148
149       Please consider the following advice carefully:
150
151       •  If  your  application  will make a second request for the same name,
152          after more than 1 TTL but before reload-count TTLs, and is sensitive
153          to  the  latency  of a cache miss, then reloading may be a good idea
154          for you.
155
156       •  If your name service is configured to return very  short  TTLs,  and
157          your  applications  only  make  requests rarely under normal circum‐
158          stances, then reloading may result in additional load on your  back‐
159          ing name service without any benefit to applications, which is prob‐
160          ably a bad idea for you.
161
162       •  If your name service capacity is limited,  reloading  may  have  the
163          surprising effect of increasing load on your name service instead of
164          reducing it, and may be a bad idea for you.
165
166       •  Setting reload-count to unlimited is almost never a good idea, as it
167          will  result  in  a cache that never expires entries and puts never-
168          ending additional load on the backing name service.
169
170       Some distributions have an init script for nscd(8) with a  reload  com‐
171       mand  which  uses  nscd  -i  to  purge the cache.  That use of the word
172       "reload" is entirely different from the "reloading" described here.
173

SEE ALSO

175       nscd(8)
176
177
178
179Linux man-pages 6.05              2023-02-05                      nscd.conf(5)
Impressum