1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* 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.
*
* 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]
*
* CDDL HEADER END
*/
/*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
#ifndef _USERDEFS_H
#define _USERDEFS_H
#pragma ident "%Z%%M% %I% %E% SMI" /* SVr4.0 1.7.1.1 */
#include <project.h>
#ifdef __cplusplus
extern "C" {
#endif
/*
* The definitions in this file are local to the OA&M subsystem. General
* use is not encouraged.
*/
/* User/group default values */
#define DEFGID 99 /* max reserved group id */
#define DEFRID 99
#define DEFPROJ 3
#define DEFPROJNAME "default"
#define DEFGROUP 1
#define DEFGNAME "other"
#define DEFPARENT "/home"
#define DEFSKL "/etc/skel"
#define DEFSHL "/bin/sh"
#define DEFROLESHL "/bin/pfsh"
#define DEFINACT 0
#define DEFEXPIRE ""
#define DEFAUTH ""
#define DEFPROF ""
#define DEFROLEPROF "All"
#define DEFROLE ""
#define DEFLIMPRIV ""
#define DEFDFLTPRIV ""
#define DEFLOCK_AFTER_RETRIES ""
/* Defaults file keywords */
#define RIDSTR "defrid="
#define GIDSTR "defgroup="
#define GNAMSTR "defgname="
#define PARSTR "defparent="
#define SKLSTR "defskel="
#define SHELLSTR "defshell="
#define INACTSTR "definact="
#define EXPIRESTR "defexpire="
#define AUTHSTR "defauthorization="
#define PROFSTR "defprofile="
#define ROLESTR "defrole="
#define PROJSTR "defproj="
#define PROJNMSTR "defprojname="
#define LIMPRSTR "deflimitpriv="
#define DFLTPRSTR "defdefaultpriv="
#define FHEADER "# Default values for useradd. Changed "
#define FHEADER_ROLE "# Default values for roleadd. Changed "
#define LOCK_AFTER_RETRIESSTR "deflock_after_retries="
/* Defaults file */
#define DEFFILE "/usr/sadm/defadduser"
#define DEFROLEFILE "/usr/sadm/defaddrole"
#define GROUP "/etc/group"
/* various limits */
#define MAXGLEN 9 /* max length of group name */
#define MAXDLEN 80 /* max length of a date string */
/* defaults structure */
struct userdefs {
int defrid; /* highest reserved uid */
int defgroup; /* default group id */
char *defgname; /* default group name */
char *defparent; /* default base directory for new logins */
char *defskel; /* default skel directory */
char *defshell; /* default shell */
int definact; /* default inactive */
char *defexpire; /* default expire date */
char *defauth; /* default authorization */
char *defprof; /* default profile */
char *defrole; /* default role */
projid_t defproj; /* default project id */
char *defprojname; /* default project name */
char *deflimpriv; /* default limitpriv */
char *defdfltpriv; /* default defaultpriv */
char *deflock_after_retries; /* default lock_after_retries */
};
/* exit() values for user/group commands */
/* Everything succeeded */
#define EX_SUCCESS 0
/* No permission */
#define EX_NO_PERM 1
/* Command syntax error */
#define EX_SYNTAX 2
/* Invalid argument given */
#define EX_BADARG 3
/* A gid or uid already exists */
#define EX_ID_EXISTS 4
/* PASSWD and SHADOW are inconsistent with each other */
#define EX_INCONSISTENT 5
/* A group or user name doesn't exist */
#define EX_NAME_NOT_EXIST 6
/* GROUP, PASSWD, or SHADOW file missing */
#define EX_MISSING 7
/* GROUP, PASSWD, or SHAWOW file is busy */
#define EX_BUSY 8
/* A group or user name already exists */
#define EX_NAME_EXISTS 9
/* Unable to update GROUP, PASSWD, or SHADOW file */
#define EX_UPDATE 10
/* Not enough space */
#define EX_NOSPACE 11
/* Unable to create/remove/move home directory */
#define EX_HOMEDIR 12
/* new login already in use */
#define EX_NL_USED 13
/* Unexpected failure */
#define EX_FAILURE 14
/* A user name is in a non-local name service */
#define EX_NOT_LOCAL 15
#ifdef __cplusplus
}
#endif
#endif /* _USERDEFS_H */
|