1idmapd.conf(5) File Formats Manual idmapd.conf(5)
2
3
4
6 idmapd.conf - configuration file for libnfsidmap
7
9 Configuration file for libnfsidmap. Used by idmapd and svcgssd to map
10 NFSv4 name to and from ids.
11
13 The idmapd.conf configuration file consists of several sections, initi‐
14 ated by strings of the form [General] and [Mapping]. Each section may
15 contain lines of the form
16 variable = value
17 The recognized sections and their recognized variables are as follows:
18
19 [General] section variables
20 Verbosity
21 Verbosity level of debugging (Default: 0)
22
23 Domain The local NFSv4 domain name. An NFSv4 domain is a namespace
24 with a unique username<->UID and groupname<->GID mapping.
25 (Default: Host's fully-qualified DNS domain name)
26
27 No-Strip
28 In multi-domain environments, some NFS servers will append the
29 identity management domain to the owner and owner_group in lieu
30 of a true NFSv4 domain. This option can facilitate lookups in
31 such environments. If set to a value other than "none", the
32 nsswitch plugin will first pass the name to the password/group
33 lookup function without stripping the domain off. If that map‐
34 ping fails then the plugin will try again using the old method
35 (comparing the domain in the string to the Domain value, strip‐
36 ping it if it matches, and passing the resulting short name to
37 the lookup function). Valid values are "user", "group", "both",
38 and "none". (Default: "none")
39
40 Reformat-Group
41 Winbind has a quirk whereby doing a group lookup in UPN format
42 (e.g. staff@americas.example.com) will cause the group to be
43 displayed prefixed with the full domain in uppercase (e.g. AMER‐
44 ICAS.EXAMPLE.COM\staff) instead of in the familiar netbios name
45 format (e.g. AMERICAS\staff). Setting this option to true
46 causes the name to be reformatted before passing it to the group
47 lookup function in order to work around this. This setting is
48 ignored unless No-Strip is set to either "both" or "group".
49 (Default: "false")
50
51 Local-Realms
52 A comma-separated list of Kerberos realm names that may be con‐
53 sidered equivalent to the local realm name. For example, users
54 juser@ORDER.EDU and juser@MAIL.ORDER.EDU may be considered to be
55 the same user in the specified Domain. (Default: the host's
56 default realm name)
57 Note: If a value is specified here, the default local realm must
58 be included as well.
59
60 [Mapping] section variables
61 Nobody-User
62 Local user name to be used when a mapping cannot be completed.
63
64 Nobody-Group
65 Local group name to be used when a mapping cannot be completed.
66
67 [Translation] section variables
68 Method A comma-separated, ordered list of mapping methods (plug-ins) to
69 use when mapping between NFSv4 names and local IDs. Each speci‐
70 fied method is tried in order until a mapping is found, or there
71 are no more methods to try. The methods included in the default
72 distribution include "nsswitch", "umich_ldap", and "static".
73 (Default: nsswitch)
74
75 GSS-Methods
76 An optional comma-separated, ordered list of mapping methods
77 (plug-ins) to use when mapping between GSS Authenticated names
78 and local IDs. (Default: the same list as specified for Method)
79
80 [Static] section variables
81 The "static" translation method uses a static list of GSS-Authenticated
82 names to local user names. Entries in the list are of the form:
83 principal@REALM = localusername
84
85 [REGEX] section variables
86 If the "regex" translation method is specified, the following variables
87 within the [REGEX] section are used to map between NFS4 names and local
88 IDs.
89
90 User-Regex
91 Case-insensitive regular expression that extracts the local user
92 name from an NFSv4 name. Multiple expressions may be concate‐
93 nated with '|'. The first match will be used. There is no
94 default. A basic regular expression for domain DOMAIN.ORG and
95 realm MY.DOMAIN.ORG would be:
96 ^DOMAIN\([^@]+)@MY.DOMAIN.ORG$
97
98 Group-Regex
99 Case-insensitive regular expression that extracts the local
100 group name from an NFSv4 name. Multiple expressions may be con‐
101 catenated with '|'. The first match will be used. There is no
102 default. A basic regular expression for domain DOMAIN.ORG and
103 realm MY.DOMAIN.ORG would be:
104 ^([^@]+)@DOMAIN.ORG@MY.DOMAIN.ORG$|^DOMAIN\([^@]+)@MY.DOMAIN.ORG$
105
106 Prepend-Before-User
107 Constant string to put before a local user name when building an
108 NFSv4 name. Usually this is the short domain name followed by
109 '´. (Default: none)
110
111 Append-After-User
112 Constant string to put after a local user name when building an
113 NFSv4 name. Usually this is '@' followed by the default realm.
114 (Default: none)
115
116 Prepend-Before-Group
117 Constant string to put before a local group name when building
118 an NFSv4 name. Usually not used. (Default: none)
119
120 Append-After-Group
121 Constant string to put before a local group name when building
122 an NFSv4 name. Usually this is '@' followed by the domain name
123 followed by another '@' and the default realm. (Default: none)
124
125 Group-Name-Prefix
126 Constant string that is prepended to a local group name when
127 converting it to an NFSv4 name. If an NFSv4 group name has this
128 prefix it is removed when converting it to a local group name.
129 With this group names of a central directory can be shortened
130 for an isolated organizational unit if all groups have a common
131 prefix. (Default: none)
132
133 Group-Name-No-Prefix-Regex
134 Case-insensitive regular expression to exclude groups from
135 adding and removing the prefix set by Group-Name-Prefix
136 (Default: none)
137
138 [UMICH_SCHEMA] section variables
139 If the "umich_ldap" translation method is specified, the following
140 variables within the [UMICH_SCHEMA] section are used.
141
142 LDAP_server
143 LDAP server name or address (Required if using UMICH_LDAP)
144
145 LDAP_base
146 Absolute LDAP search base. (Required if using UMICH_LDAP)
147
148 LDAP_people_base
149 Absolute LDAP search base for people accounts. (Default: The
150 LDAP_base value)
151
152 LDAP_group_base
153 Absolute LDAP search base for group accounts. (Default: The
154 LDAP_base value)
155
156 LDAP_canonicalize_name
157 Whether or not to perform name canonicalization on the name
158 given as LDAP_server (Default: "true")
159
160 LDAP_follow_referrals
161 Whether or not to follow ldap referrals. (Default: "true")
162
163 LDAP_use_ssl
164 Set to "true" to enable SSL communication with the LDAP server.
165 (Default: "false")
166
167 LDAP_ca_cert
168 Location of a trusted CA certificate used when SSL is enabled
169 (Required if LDAP_use_ssl is true and LDAP_tls_reqcert is not
170 set to never)
171
172 LDAP_tls_reqcert
173 Controls the LDAP server certificate validation behavior. It
174 can take the same values as ldap.conf(5)'s TLS_REQCERT tunable.
175 (Default: "hard")
176
177 LDAP_timeout_seconds
178 Number of seconds before timing out an LDAP request (Default: 4)
179
180 LDAP_sasl_mech
181 SASL mechanism to be used for sasl authentication. Required if
182 SASL auth is to be used (Default: None)
183
184 LDAP_realm
185 SASL realm to be used for sasl authentication. (Default: None)
186
187 LDAP_sasl_authcid
188 Authentication identity to be used for sasl authentication.
189 (Default: None)
190
191 LDAP_sasl_authzid
192 Authorization identity to be used for sasl authentication.
193 (Default: None)
194
195 LDAP_sasl_secprops
196 Cyrus SASL security properties. It can the same values as
197 ldap.conf(5)'s sasl_secprops.
198
199 LDAP_sasl_canonicalize
200 Specifies whether the LDAP server hostname should be canoni‐
201 calised. If set to yes LDAP lib with do a reverse hostname
202 lookup. If this is not set the LDAP library's default will be
203 used. (Default: None)
204
205 LDAP_sasl_krb5_ccname
206 Path to kerberos credential cache. If it is not set then the
207 value of environment variable KRB5CCNAME will be used. If the
208 environment variable is not set then the default mechanism of
209 kerberos library will be used.
210
211 NFSv4_person_objectclass
212 The object class name for people accounts in your local LDAP
213 schema (Default: NFSv4RemotePerson)
214
215 NFSv4_name_attr
216 Your local schema's attribute name to be used for NFSv4 user
217 names (Default: NFSv4Name)
218
219 NFSv4_uid_attr
220 Your local schema's attribute name to be used for uidNumber
221 (Default: uidNumber)
222
223 GSS_principal_attr
224 Your local schema's attribute name for GSSAPI Principal names
225 (Default: GSSAuthName)
226
227 NFSv4_acctname_attr
228 Your local schema's attribute name to be used for account names
229 (Default: uid)
230
231 NFSv4_group_objectclass
232 The object class name for group accounts in your local LDAP
233 schema (Default: NFSv4RemoteGroup)
234
235 NFSv4_gid_attr
236 Your local schema's attribute name to be used for gidNumber
237 (Default: gidNumber)
238
239 NFSv4_group_attr
240 Your local schema's attribute name to be used for NFSv4 group
241 names (Default: NFSv4Name)
242
243 LDAP_use_memberof_for_groups
244 Some LDAP servers do a better job with indexing where searching
245 through all the groups searching for the user in the memberuid
246 list. Others like SunOne directory that search can takes min‐
247 utes if there are thousands of groups. So setting LDAP_use_mem‐
248 berof_for_groups to true in the configuration file will use the
249 memberof lists of the account and search through only those
250 groups to obtain gids. (Default: false)
251
252 NFSv4_member_attr
253 If LDAP_use_memberof_for_groups is true, this is the attribute
254 to be searched for. (Default: memberUid)
255
256 NFSv4_grouplist_filter
257 An optional search filter for determining group membership. (No
258 Default)
259
261 An example /etc/idmapd.conf file:
262
263
264 [General]
265
266 Verbosity = 0
267 Domain = domain.org
268 Local-Realms = DOMAIN.ORG,MY.DOMAIN.ORG,YOUR.DOMAIN.ORG
269
270 [Mapping]
271
272 Nobody-User = nfsnobody
273 Nobody-Group = nfsnobody
274
275 [Translation]
276
277 Method = umich_ldap,regex,nsswitch
278 GSS-Methods = umich_ldap,regex,static
279
280 [Static]
281
282 johndoe@OTHER.DOMAIN.ORG = johnny
283
284 [Regex]
285
286 User-Regex = ^DOMAIN\([^@]+)@DOMAIN.ORG$
287 Group-Regex = ^([^@]+)@DOMAIN.ORG@DOMAIN.ORG$|^DOMAIN\([^@]+)@DOMAIN.ORG$
288 Prepend-Before-User = DOMAIN
289 Append-After-User = @DOMAIN.ORG
290 Append-After-Group = @domain.org@domain.org
291 Group-Name-Prefix = sales-
292 Group-Name-No-Prefix-Regex = -personal-group$
293
294 [UMICH_SCHEMA]
295
296 LDAP_server = ldap.domain.org
297 LDAP_base = dc=org,dc=domain
298
299
301 idmapd(8) svcgssd(8)
302
304 Report bugs to <nfsv4@linux-nfs.org>
305
306
307
308 19 Nov 2008 idmapd.conf(5)