293 useradd/del/mod should be ZFS-aware
[illumos-gate.git] / usr / src / man / man1m / useradd.1m
blobf87c545a12951dade7d8ac66eb4c8e1b418a6cd9
1 '\" te
2 .\" Copyright (c) 2013 Gary Mills
3 .\" Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved.
4 .\" Copyright 1989 AT&T
5 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License.
6 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.  See the License for the specific language governing permissions and limitations under the License.
7 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
8 .TH USERADD 1M "Apr 16, 2013"
9 .SH NAME
10 useradd \- administer a new user login on the system
11 .SH SYNOPSIS
12 .LP
13 .nf
14 \fBuseradd\fR [\fB-A\fR \fIauthorization\fR [,\fIauthorization...\fR]]
15      [\fB-b\fR \fIbase_dir\fR] [\fB-c\fR \fIcomment\fR] [\fB-d\fR \fIdir\fR] [\fB-e\fR \fIexpire\fR]
16      [\fB-f\fR \fIinactive\fR] [\fB-g\fR \fIgroup\fR] [\fB-G\fR \fIgroup\fR [,\fIgroup\fR]...]
17      [\fB-K\fR \fIkey=value\fR] [\fB-m\fR [\fB-z|-Z\fR] [\fB-k\fR \fIskel_dir\fR]] [\fB-p\fR \fIprojname\fR]
18      [\fB-P\fR \fIprofile\fR [,\fIprofile...\fR]] [\fB-R\fR \fIrole\fR [,\fIrole...\fR]]
19      [\fB-s\fR \fIshell\fR] [\fB-u\fR \fIuid\fR [\fB-o\fR]] \fIlogin\fR
20 .fi
22 .LP
23 .nf
24 \fBuseradd\fR \fB-D\fR [\fB-A\fR \fIauthorization\fR [,\fIauthorization...\fR]]
25      [\fB-b\fR \fIbase_dir\fR] [\fB-s\fR \fIshell\fR [\fB-k\fR \fIskel_dir\fR]] [\fB-e\fR \fIexpire\fR]
26      [\fB-f\fR \fIinactive\fR] [\fB-g\fR \fIgroup\fR] [\fB-K\fR \fIkey=value\fR] [\fB-p\fR \fIprojname\fR]
27      [\fB-P\fR \fIprofile\fR [,\fIprofile...\fR]] [\fB-R\fR \fIrole\fR [,\fIrole...\fR]]
28 .fi
30 .SH DESCRIPTION
31 .LP
32 \fBuseradd\fR adds a new user to the \fB/etc/passwd\fR and \fB/etc/shadow\fR
33 and \fB/etc/user_attr\fR files. The \fB-A\fR and \fB-P\fR options respectively
34 assign authorizations and profiles to the user. The \fB-R\fR option assigns
35 roles to a user. The \fB-p\fR option associates a project with a user. The
36 \fB-K\fR option adds a \fIkey=value\fR pair to \fB/etc/user_attr\fR for the
37 user. Multiple \fIkey=value\fR pairs may be added with multiple \fB-K\fR
38 options.
39 .sp
40 .LP
41 \fBuseradd\fR also creates supplementary group memberships for the user
42 (\fB-G\fR option) and creates the home directory (\fB-m\fR option) for the user
43 if requested. The new login remains locked until the \fBpasswd\fR(1) command is
44 executed.
45 .sp
46 .LP
47 Specifying \fBuseradd\fR \fB-D\fR with the \fB-s\fR, \fB-k\fR,\fB-g\fR,
48 \fB-b\fR, \fB-f\fR, \fB-e\fR, \fB-A\fR, \fB-P\fR, \fB-p\fR, \fB-R\fR, or
49 \fB-K\fR option (or any combination of these options) sets the default values
50 for the respective fields. See the \fB-D\fR option, below. Subsequent
51 \fBuseradd\fR commands without the \fB-D\fR option use these arguments.
52 .sp
53 .LP
54 The system file entries created with this command have a limit of 2048
55 characters per line. Specifying long arguments to several options can exceed
56 this limit.
57 .sp
58 .LP
59 \fBuseradd\fR requires that usernames be in the format described in
60 \fBpasswd\fR(4). A warning message is displayed if these restrictions are not
61 met. See \fBpasswd\fR(4) for the requirements for usernames.
62 .LP
63 To change the action of \fBuseradd\fR when the traditional login name
64 length limit of eight characters is exceeded, edit the file
65 \fB/etc/default/useradd\fR by removing the \fB#\fR (pound sign) before the
66 appropriate \fBEXCEED_TRAD=\fR entry, and adding it before the others.
67 .SH OPTIONS
68 .LP
69 The following options are supported:
70 .sp
71 .ne 2
72 .na
73 \fB\fB-A\fR \fIauthorization\fR\fR
74 .ad
75 .sp .6
76 .RS 4n
77 One or more comma separated authorizations defined in \fBauth_attr\fR(4). Only
78 a user or role who has \fBgrant\fR rights to the authorization can assign it to
79 an account.
80 .RE
82 .sp
83 .ne 2
84 .na
85 \fB\fB-b\fR \fIbase_dir\fR\fR
86 .ad
87 .sp .6
88 .RS 4n
89 The base directory for new login home directories (see the \fB-d\fR option
90 below. When a new user account is being created, \fIbase_dir\fR must already
91 exist unless the \fB-m\fR option or the \fB-d\fR option is also specified.
92 .RE
94 .sp
95 .ne 2
96 .na
97 \fB\fB-c\fR \fIcomment\fR\fR
98 .ad
99 .sp .6
100 .RS 4n
101 Any text string. It is generally a short description of the login, and is
102 currently used as the field for the user's full name. This information is
103 stored in the user's \fB/etc/passwd\fR entry.
107 .ne 2
109 \fB\fB-d\fR \fIdir\fR\fR
111 .sp .6
112 .RS 4n
113 The home directory of the new user. It defaults to
114 \fIbase_dir\fR/\fIaccount_name\fR, where \fIbase_dir\fR is the base directory
115 for new login home directories and \fIaccount_name\fR is the new login name.
119 .ne 2
121 \fB\fB-D\fR\fR
123 .sp .6
124 .RS 4n
125 Display the default values for \fBgroup\fR, \fBbase_dir\fR, \fBskel_dir\fR,
126 \fBshell\fR, \fBinactive\fR, \fBexpire\fR, \fBproj\fR, \fBprojname\fR and
127 \fBkey=value\fR pairs. When used with the \fB-g\fR, \fB-b\fR, \fB-f\fR,
128 \fB-e\fR, \fB-A\fR, \fB-P\fR, \fB-p\fR, \fB-R\fR, or \fB-K\fR options, the
129 \fB-D\fR option sets the default values for the specified fields. The default
130 values are:
132 .ne 2
134 \fBgroup\fR
136 .sp .6
137 .RS 4n
138 \fBother\fR (\fBGID\fR of 1)
142 .ne 2
144 \fBbase_dir\fR
146 .sp .6
147 .RS 4n
148 \fB/home\fR
152 .ne 2
154 \fBskel_dir\fR
156 .sp .6
157 .RS 4n
158 \fB/etc/skel\fR
162 .ne 2
164 \fBshell\fR
166 .sp .6
167 .RS 4n
168 \fB/bin/sh\fR
172 .ne 2
174 \fBinactive\fR
176 .sp .6
177 .RS 4n
178 \fB0\fR
182 .ne 2
184 \fBexpire\fR
186 .sp .6
187 .RS 4n
188 null
192 .ne 2
194 \fBauths\fR
196 .sp .6
197 .RS 4n
198 null
202 .ne 2
204 \fBprofiles\fR
206 .sp .6
207 .RS 4n
208 null
212 .ne 2
214 \fBproj\fR
216 .sp .6
217 .RS 4n
218 \fB3\fR
222 .ne 2
224 \fBprojname\fR
226 .sp .6
227 .RS 4n
228 \fBdefault\fR
232 .ne 2
234 \fBkey=value (pairs defined in \fBuser_attr\fR(4)\fR
236 .sp .6
237 .RS 4n
238 not present
242 .ne 2
244 \fBroles\fR
246 .sp .6
247 .RS 4n
248 null
254 .ne 2
256 \fB\fB-e\fR \fIexpire\fR\fR
258 .sp .6
259 .RS 4n
260 Specify the expiration date for a login. After this date, no user will be able
261 to access this login. The expire option argument is a date entered using one of
262 the date formats included in the template file \fB/etc/datemsk\fR. See
263 \fBgetdate\fR(3C).
265 If the date format that you choose includes spaces, it must be quoted. For
266 example, you can enter \fB10/6/90\fR or \fBOctober 6, 1990\fR. A null value
267 (\fB" "\fR) defeats the status of the expired date. This option is useful for
268 creating temporary logins.
272 .ne 2
274 \fB\fB-f\fR \fIinactive\fR\fR
276 .sp .6
277 .RS 4n
278 The maximum number of days allowed between uses of a login ID before that
279 \fBID\fR is declared invalid. Normal values are positive integers. A value of
280 \fB0\fR defeats the status.
284 .ne 2
286 \fB\fB-g\fR \fIgroup\fR\fR
288 .sp .6
289 .RS 4n
290 An existing group's integer \fBID\fR or character-string name. Without the
291 \fB-D\fR option, it defines the new user's primary group membership and
292 defaults to the default group. You can reset this default value by invoking
293 \fBuseradd\fR \fB-D\fR \fB-g\fR \fIgroup\fR. GIDs 0-99 are reserved for
294 allocation by the Solaris Operating System.
298 .ne 2
300 \fB\fB-G\fR \fIgroup\fR\fR
302 .sp .6
303 .RS 4n
304 An existing group's integer \fBID\fR or character-string name. It defines the
305 new user's supplementary group membership. Duplicates between \fIgroup\fR with
306 the \fB-g\fR and \fB-G\fR options are ignored. No more than \fBNGROUPS_MAX\fR
307 groups can be specified. GIDs 0-99 are reserved for allocation by the Solaris
308 Operating System.
312 .ne 2
314 \fB\fB-K\fR \fIkey=value\fR\fR
316 .sp .6
317 .RS 4n
318 A \fIkey=value\fR pair to add to the user's attributes. Multiple \fB-K\fR
319 options may be used to add multiple \fIkey=value\fR pairs. The generic \fB-K\fR
320 option with the appropriate key may be used instead of the specific implied key
321 options (\fB-A\fR, \fB-P\fR, \fB-R\fR, \fB-p\fR). See \fBuser_attr\fR(4) for a
322 list of valid \fIkey=value\fR pairs. The "type" key is not a valid key for this
323 option. Keys may not be repeated.
327 .ne 2
329 \fB\fB-k\fR \fIskel_dir\fR\fR
331 .sp .6
332 .RS 4n
333 A directory that contains skeleton information (such as \fB\&.profile\fR) that
334 can be copied into a new user's home directory. This directory must already
335 exist. The system provides the \fB/etc/skel\fR directory that can be used for
336 this purpose.
340 .ne 2
342 \fB\fB-m\fR\fR [\fB-z|-Z\fR]
344 .sp .6
345 .RS 4n
346 Create the new user's home directory if it does not already exist. If the
347 directory already exists, it must have read, write, and execute permissions by
348 \fIgroup\fR, where \fIgroup\fR is the user's primary group.
350 If the parent directory of the user's home directory is located on a separate
351 \fBZFS\fR file system and the \fB/etc/default/useradd\fR file contains the
352 parameter \fBMANAGE_ZFS\fR set to the value \fBYES\fR, a new \fBZFS\fR
353 file system will be created for the user.
355 If the \fB-z\fR option is specified, \fBuseradd\fR will always try to create
356 a new file system for the home directory.
358 If the \fB-Z\fR option is specified, a new file system will never be created.
362 .ne 2
364 \fB\fB-o\fR\fR
366 .sp .6
367 .RS 4n
368 This option allows a \fBUID\fR to be duplicated (non-unique).
372 .ne 2
374 \fB\fB-P\fR \fIprofile\fR\fR
376 .sp .6
377 .RS 4n
378 One or more comma-separated execution profiles defined in \fBprof_attr\fR(4).
382 .ne 2
384 \fB\fB-p\fR \fIprojname\fR\fR
386 .sp .6
387 .RS 4n
388 Name of the project with which the added user is associated. See the
389 \fIprojname\fR field as defined in \fBproject\fR(4).
393 .ne 2
395 \fB\fB-R\fR \fIrole\fR\fR
397 .sp .6
398 .RS 4n
399 One or more comma-separated execution profiles defined in \fBuser_attr\fR(4).
400 Roles cannot be assigned to other roles.
404 .ne 2
406 \fB\fB-s\fR \fIshell\fR\fR
408 .sp .6
409 .RS 4n
410 Full pathname of the program used as the user's shell on login. It defaults to
411 an empty field causing the system to use \fB/bin/sh\fR as the default. The
412 value of \fIshell\fR must be a valid executable file.
416 .ne 2
418 \fB\fB-u\fR \fIuid\fR\fR
420 .sp .6
421 .RS 4n
422 The \fBUID\fR of the new user. This \fBUID\fR must be a non-negative decimal
423 integer below \fBMAXUID\fR as defined in \fB<sys/param.h>\fR\&. The \fBUID\fR
424 defaults to the next available (unique) number above the highest number
425 currently assigned. For example, if \fBUID\fRs 100, 105, and 200 are assigned,
426 the next default \fBUID\fR number will be 201. \fBUID\fRs \fB0\fR-\fB99\fR are
427 reserved for allocation by the Solaris Operating System.
430 .SH FILES
432 \fB/etc/default/useradd\fR
435 \fB/etc/datemsk\fR
438 \fB/etc/passwd\fR
441 \fB/etc/shadow\fR
444 \fB/etc/group\fR
447 \fB/etc/skel\fR
450 \fB/usr/include/limits.h\fR
453 \fB/etc/user_attr\fR
454 .SH ATTRIBUTES
456 See \fBattributes\fR(5) for descriptions of the following attributes:
461 box;
462 c | c
463 l | l .
464 ATTRIBUTE TYPE  ATTRIBUTE VALUE
466 Interface Stability     Committed
469 .SH SEE ALSO
471 \fBpasswd\fR(1), \fBprofiles\fR(1), \fBroles\fR(1), \fBusers\fR(1B),
472 \fBgroupadd\fR(1M), \fBgroupdel\fR(1M), \fBgroupmod\fR(1M), \fBgrpck\fR(1M),
473 \fBlogins\fR(1M), \fBpwck\fR(1M), \fBuserdel\fR(1M), \fBusermod\fR(1M),
474 \fBgetdate\fR(3C), \fBauth_attr\fR(4), \fBpasswd\fR(4), \fBprof_attr\fR(4),
475 \fBproject\fR(4), \fBuser_attr\fR(4), \fBattributes\fR(5), \fBzfs\fR(1M)
476 .SH DIAGNOSTICS
478 In case of an error, \fBuseradd\fR prints an error message and exits with a
479 non-zero status.
482 The following indicates that \fBlogin\fR specified is already in use:
484 .in +2
486 UX: useradd: ERROR: login is already in use. Choose another.
488 .in -2
493 The following indicates that the \fIuid\fR specified with the \fB-u\fR option
494 is not unique:
496 .in +2
498 UX: useradd: ERROR: uid \fIuid\fR is already in use. Choose another.
500 .in -2
505 The following indicates that the \fIgroup\fR specified with the \fB-g\fR option
506 is already in use:
508 .in +2
510 UX: useradd: ERROR: group \fIgroup\fR does not exist. Choose another.
512 .in -2
517 The following indicates that the \fIuid\fR specified with the \fB-u\fR option
518 is in the range of reserved \fBUID\fRs (from \fB0\fR-\fB99\fR):
520 .in +2
522 UX: useradd: WARNING: uid \fIuid\fR is reserved.
524 .in -2
529 The following indicates that the \fIuid\fR specified with the \fB-u\fR option
530 exceeds \fBMAXUID\fR as defined in \fB<sys/param.h>\fR:
532 .in +2
534 UX: useradd: ERROR: uid \fIuid\fR is too big. Choose another.
536 .in -2
541 The following indicates that the \fB/etc/passwd\fR or \fB/etc/shadow\fR files
542 do not exist:
544 .in +2
546 UX: useradd: ERROR: Cannot update system files - login cannot be created.
548 .in -2
551 .SH NOTES
553 The \fBuseradd\fR utility adds definitions to only the local \fB/etc/group\fR,
554 \fBetc/passwd\fR, \fB/etc/passwd\fR, \fB/etc/shadow\fR, \fB/etc/project\fR, and
555 \fB/etc/user_attr\fR files. If a network name service such as \fBNIS\fR or
556 \fBNIS+\fR is being used to supplement the local \fB/etc/passwd\fR file with
557 additional entries, \fBuseradd\fR cannot change information supplied by the
558 network name service. However \fBuseradd\fR will verify the uniqueness of the
559 user name (or role) and user id and the existence of any group names specified
560 against the external name service.