1 diff -Nur shadow-4.0.3.orig/lib/getdef.c shadow-4.0.3/lib/getdef.c
2 --- shadow-4.0.3.orig/lib/getdef.c 2002-01-06 15:08:00.000000000 +0100
3 +++ shadow-4.0.3/lib/getdef.c 2003-06-20 19:34:37.000000000 +0200
5 { "SYSLOG_SG_ENAB", NULL },
6 { "SYSLOG_SU_ENAB", NULL },
8 + { "SYS_GID_MAX", NULL },
9 + { "SYS_GID_MIN", NULL },
10 + { "SYS_UID_MAX", NULL },
11 + { "SYS_UID_MIN", NULL },
14 { "TTYTYPE_FILE", NULL },
15 diff -Nur shadow-4.0.3.orig/man/groupadd.8 shadow-4.0.3/man/groupadd.8
16 --- shadow-4.0.3.orig/man/groupadd.8 2003-06-20 19:06:15.000000000 +0200
17 +++ shadow-4.0.3/man/groupadd.8 2003-06-20 19:29:11.000000000 +0200
20 groupadd \- Create a new group
22 -\fBgroupadd\fR [\fB-g\fI gid \fR[\fB-o\fR]] [\fB-f\fR] \fIgroup\fR
23 +\fBgroupadd\fR [\fB-g\fI gid \fR[\fB-o\fR]] [\fB-f\fR] [\fB-r\fR] \fIgroup\fR
25 The \fBgroupadd\fR command
26 creates a new group account using the values specified on the
28 This option causes to just exit with success status if the specified
29 group already exists. With \fB-g\fR, if specified gid already exists,
30 other (unique) gid is chosen (i.e. \fB-g\fR is turned off).
32 +This flag is used to create a system group, with gid lower than usual
33 +(chosen between SYS_GID_MIN and SYS_GID_MAX).
35 /etc/group \- group account information
37 diff -Nur shadow-4.0.3.orig/man/pl/groupadd.8 shadow-4.0.3/man/pl/groupadd.8
38 --- shadow-4.0.3.orig/man/pl/groupadd.8 2003-06-20 19:06:15.000000000 +0200
39 +++ shadow-4.0.3/man/pl/groupadd.8 2003-06-20 19:40:17.000000000 +0200
42 groupadd - twórz now± grupê
44 -\fBgroupadd\fR [\fB-g\fR \fIgid\fR [\fB-o\fR]] [\fB-f\fR] \fIgrupa\fR
45 +\fBgroupadd\fR [\fB-g\fR \fIgid\fR [\fB-o\fR]] [\fB-f\fR] [\fB-r\fR] \fIgrupa\fR
47 Polecenie \fBgroupadd\fR tworzy nowe konto grupy pos³uguj±c siê
48 warto¶ciami podanymi w wierszu poleceñ i domy¶lnymi warto¶ciami z systemu.
50 Ta opcja powoduje zakoñczenie programu ze statusem oznaczaj±cym sukces je¶li
51 podana groupa ju¿ istnieje. Z opcj± \fB-g\fR, je¶li podany gid ju¿ istnieje,
52 wybierany jest inny (unikalny) gid (czyli \fB-g\fR jest wy³±czane).
55 +Ta opcja s³u¿y do zak³adania grup systemowych, z identyfikatorami ni¿szymi
56 +ni¿ zwykle (wybieranymi z przedzia³u od SYS_GID_MIN do SYS_GID_MAX).
58 .IR /etc/group " - informacja o kontach grup"
60 diff -Nur shadow-4.0.3.orig/man/pl/useradd.8 shadow-4.0.3/man/pl/useradd.8
61 --- shadow-4.0.3.orig/man/pl/useradd.8 2003-06-20 19:06:15.000000000 +0200
62 +++ shadow-4.0.3/man/pl/useradd.8 2003-06-20 19:41:22.000000000 +0200
64 .IP "\fB-p \fIpasswd\fR"
65 Zakodowane has³o w postaci zwracanej przez \fBcrypt\fR(3).
66 Domy¶lnym dzia³aniem jest blokowanie konta.
68 -.\" Tworzenie konta systemowego. Ta opcja pozwala na utworzenie konta o UID
69 -.\" ni¿szym ni¿ UID_MIN zdefiniowane w fI/etc/login.defs\fR. O ile nie poda siê
70 -.\" dodatkowo opcji \fB-m\fR nie jest tworzony katalog domowy dla tak tworzonego
71 -.\" u¿ytkownika niezale¿nie od tego czy tworzenie katalogu jest ustawione czy
72 -.\" nie w \fI/etc/login.defs\fR.
74 +Tworzenie konta systemowego, z identyfikatorem ni¿szym ni¿ zwykle
75 +(wybieranym z przedzia³u od SYS_UID_MIN do SYS_UID_MAX).
76 .IP "\fB-s \fIpow³oka\fR"
77 Nazwa pow³oki (shell) u¿ytkownika. Ustawienie tego pola na puste
78 powoduje, ¿e system wybierze domy¶ln± pow³okê logowania.
79 diff -Nur shadow-4.0.3.orig/man/useradd.8 shadow-4.0.3/man/useradd.8
80 --- shadow-4.0.3.orig/man/useradd.8 2002-03-08 05:39:12.000000000 +0100
81 +++ shadow-4.0.3/man/useradd.8 2003-06-20 19:32:04.000000000 +0200
84 [\fB-m\fR [\fB-k\fR \fIskeleton_dir\fR]] [\fB-o\fR] [\fB-p\fR \fIpasswd\fR]
86 -[\fB-s\fR \fIshell\fR] [\fB-u\fR \fIuid\fR] \fIlogin\fR
87 +[\fB-r\fR] [\fB-s\fR \fIshell\fR] [\fB-u\fR \fIuid\fR] \fIlogin\fR
89 \fBuseradd\fR \fB-D\fR [\fB-g\fI default_group\fR] [\fB-b\fI default_home\fR]
92 .IP "\fB-p \fIpasswd\fR"
93 The encrypted password, as returned by \fBcrypt\fR(3).
94 The default is to disable the account.
96 +This flag is used to create a system account, with uid lower than
97 +usual (chosen between SYS_UID_MIN and SYS_UID_MAX).
98 .IP "\fB-s \fIshell\fR"
99 The name of the user's login shell.
100 The default is to leave this field blank, which causes the system
101 diff -Nur shadow-4.0.3.orig/po/cs.po shadow-4.0.3/po/cs.po
102 --- shadow-4.0.3.orig/po/cs.po 2003-06-20 19:06:15.000000000 +0200
103 +++ shadow-4.0.3/po/cs.po 2003-06-20 19:23:08.000000000 +0200
105 msgstr "%s: nelze aktualizovat soubory s DBM databázemi stínových hesel\n"
107 #: src/groupadd.c:101
108 -msgid "usage: groupadd [-g gid [-o]] [-f] group\n"
109 -msgstr "Pou¾ití: groupadd [-g gid [-o]] [-f] skupina\n"
110 +msgid "usage: groupadd [-g gid [-o]] [-f] [-r] group\n"
111 +msgstr "Pou¾ití: groupadd [-g gid [-o]] [-f] [-r] skupina\n"
113 #: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228
114 #: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695
115 @@ -1982,8 +1982,8 @@
116 msgstr "[-A program] "
119 -msgid "[-p passwd] name\n"
120 -msgstr "[-p heslo] jméno\n"
121 +msgid "[-p passwd] [-r] name\n"
122 +msgstr "[-p heslo] [-r] jméno\n"
126 diff -Nur shadow-4.0.3.orig/po/de.po shadow-4.0.3/po/de.po
127 --- shadow-4.0.3.orig/po/de.po 2003-06-20 19:06:15.000000000 +0200
128 +++ shadow-4.0.3/po/de.po 2003-06-20 19:23:24.000000000 +0200
130 msgstr "%s : DBM-Shadow-Dateien können nicht aktualisiert werden\n"
132 #: src/groupadd.c:101
133 -msgid "usage: groupadd [-g gid [-o]] [-f] group\n"
134 -msgstr "Syntax: groupadd [-g gid [-o]] [-f] Gruppe\n"
135 +msgid "usage: groupadd [-g gid [-o]] [-f] [-r] group\n"
136 +msgstr "Syntax: groupadd [-g gid [-o]] [-f] [-r] Gruppe\n"
138 #: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228
139 #: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695
140 @@ -1988,8 +1988,8 @@
141 msgstr "[-A Programm] "
144 -msgid "[-p passwd] name\n"
145 -msgstr "[-p Kennwort] Name\n"
146 +msgid "[-p passwd] [-r] name\n"
147 +msgstr "[-p Kennwort] [-r] Name\n"
151 diff -Nur shadow-4.0.3.orig/po/el.po shadow-4.0.3/po/el.po
152 --- shadow-4.0.3.orig/po/el.po 2003-06-20 19:06:16.000000000 +0200
153 +++ shadow-4.0.3/po/el.po 2003-06-20 19:23:39.000000000 +0200
155 msgstr "%s: áäõíáìßá áíáíÝùóçò ôùí DBM áñ÷åßùí óêéùäþí óõíèçìáôéêþí\n"
157 #: src/groupadd.c:101
158 -msgid "usage: groupadd [-g gid [-o]] [-f] group\n"
159 -msgstr "÷ñÞóç: groupadd [-g gid [-o]] [-f] ïìÜäá\n"
160 +msgid "usage: groupadd [-g gid [-o]] [-f] [-r] group\n"
161 +msgstr "÷ñÞóç: groupadd [-g gid [-o]] [-f] [-r] ïìÜäá\n"
163 #: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228
164 #: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695
165 @@ -2009,8 +2009,8 @@
166 msgstr "[-A ðñüãñáììá] "
169 -msgid "[-p passwd] name\n"
170 -msgstr "[-p óõíèçìáôéêü] üíïìá\n"
171 +msgid "[-p passwd] [-r] name\n"
172 +msgstr "[-p óõíèçìáôéêü] [-r] üíïìá\n"
176 diff -Nur shadow-4.0.3.orig/po/fr.po shadow-4.0.3/po/fr.po
177 --- shadow-4.0.3.orig/po/fr.po 2003-06-20 19:06:16.000000000 +0200
178 +++ shadow-4.0.3/po/fr.po 2003-06-20 19:23:52.000000000 +0200
180 msgstr "%s : impossible de mettre à jours les fichiers DBM shadow\n"
182 #: src/groupadd.c:101
183 -msgid "usage: groupadd [-g gid [-o]] [-f] group\n"
184 -msgstr "usage: groupadd [-g gid [-o]] [-f] groupe\n"
185 +msgid "usage: groupadd [-g gid [-o]] [-f] [-r] group\n"
186 +msgstr "usage: groupadd [-g gid [-o]] [-f] [-r] groupe\n"
188 #: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228
189 #: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695
190 @@ -1988,8 +1988,8 @@
191 msgstr "[-A program] "
194 -msgid "[-p passwd] name\n"
195 -msgstr "[-p mot-de-passe] nom\n"
196 +msgid "[-p passwd] [-r] name\n"
197 +msgstr "[-p mot-de-passe] [-r] nom\n"
201 diff -Nur shadow-4.0.3.orig/po/ja.po shadow-4.0.3/po/ja.po
202 --- shadow-4.0.3.orig/po/ja.po 2003-06-20 19:06:16.000000000 +0200
203 +++ shadow-4.0.3/po/ja.po 2003-06-20 19:24:06.000000000 +0200
205 msgstr "%s: DBM ¥·¥ã¥É¥¦¡¦¥Õ¥¡¥¤¥ë¤ò¹¹¿·¤Ç¤¤Þ¤»¤ó\n"
207 #: src/groupadd.c:101
208 -msgid "usage: groupadd [-g gid [-o]] [-f] group\n"
209 -msgstr "»ÈÍÑË¡: groupadd [-g ¥°¥ë¡¼¥×ID [-o]] [-f] ¥°¥ë¡¼¥×\n"
210 +msgid "usage: groupadd [-g gid [-o]] [-f] [-r] group\n"
211 +msgstr "»ÈÍÑË¡: groupadd [-g ¥°¥ë¡¼¥×ID [-o]] [-f] [-r] ¥°¥ë¡¼¥×\n"
213 #: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228
214 #: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695
215 @@ -1979,8 +1979,8 @@
216 msgstr "[-A ¥×¥í¥°¥é¥à] "
219 -msgid "[-p passwd] name\n"
220 -msgstr "[-p ¥Ñ¥¹¥ï¡¼¥É] ¥æ¡¼¥¶Ì¾\n"
221 +msgid "[-p passwd] [-r] name\n"
222 +msgstr "[-p ¥Ñ¥¹¥ï¡¼¥É] [-r] ¥æ¡¼¥¶Ì¾\n"
226 diff -Nur shadow-4.0.3.orig/po/ko.po shadow-4.0.3/po/ko.po
227 --- shadow-4.0.3.orig/po/ko.po 2003-06-20 19:06:16.000000000 +0200
228 +++ shadow-4.0.3/po/ko.po 2003-06-20 19:25:14.000000000 +0200
230 msgstr "%s: DBM ½¦µµ¿ì ÆÄÀÏÀ» ¾÷µ¥ÀÌÆ® ÇÒ ¼ö ¾ø½À´Ï´Ù\n"
232 #: src/groupadd.c:101
233 -msgid "usage: groupadd [-g gid [-o]] [-f] group\n"
234 -msgstr "»ç¿ë¹ý: groupadd [-g gid(±×·ì ¾ÆÀ̵ð) [-o]] [-f] ±×·ì¸í\n"
235 +msgid "usage: groupadd [-g gid [-o]] [-f] [-r] group\n"
236 +msgstr "»ç¿ë¹ý: groupadd [-g gid(±×·ì ¾ÆÀ̵ð) [-o]] [-f] [-r] ±×·ì¸í\n"
238 #: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228
239 #: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695
240 @@ -1978,8 +1978,8 @@
241 msgstr "[-A ÇÁ·Î±×·¥] "
244 -msgid "[-p passwd] name\n"
245 -msgstr "[-p Æнº¿öµå] À̸§\n"
246 +msgid "[-p passwd] [-r] name\n"
247 +msgstr "[-p Æнº¿öµå] [-r] À̸§\n"
251 diff -Nur shadow-4.0.3.orig/po/pl.po shadow-4.0.3/po/pl.po
252 --- shadow-4.0.3.orig/po/pl.po 2003-06-20 19:06:16.000000000 +0200
253 +++ shadow-4.0.3/po/pl.po 2003-06-20 19:25:27.000000000 +0200
255 msgstr "%s: nie mogê zaktualizowaæ pliku DBM z ukrytymi has³ami\n"
257 #: src/groupadd.c:101
258 -msgid "usage: groupadd [-g gid [-o]] [-f] group\n"
259 -msgstr "u¿ycie: groupadd [-g gid [-o]] [-f] grupa\n"
260 +msgid "usage: groupadd [-g gid [-o]] [-f] [-r] group\n"
261 +msgstr "u¿ycie: groupadd [-g gid [-o]] [-f] [-r] grupa\n"
263 #: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228
264 #: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695
265 @@ -1979,8 +1979,8 @@
266 msgstr "[-A program] "
269 -msgid "[-p passwd] name\n"
270 -msgstr "[-p has³o] nazwa\n"
271 +msgid "[-p passwd] [-r] name\n"
272 +msgstr "[-p has³o] [-r] nazwa\n"
276 diff -Nur shadow-4.0.3.orig/po/sv.po shadow-4.0.3/po/sv.po
277 --- shadow-4.0.3.orig/po/sv.po 2003-06-20 19:06:16.000000000 +0200
278 +++ shadow-4.0.3/po/sv.po 2003-06-20 19:26:10.000000000 +0200
280 msgstr "%s: kan inte uppdatera DBM-skuggfiler\n"
282 #: src/groupadd.c:101
283 -msgid "usage: groupadd [-g gid [-o]] [-f] group\n"
284 -msgstr "Användning: groupadd [-g gid [-o]] [-f] grupp\n"
285 +msgid "usage: groupadd [-g gid [-o]] [-f] [-r] group\n"
286 +msgstr "Användning: groupadd [-g gid [-o]] [-f] [-r] grupp\n"
288 #: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228
289 #: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695
290 @@ -1977,8 +1977,8 @@
291 msgstr "[-A program] "
294 -msgid "[-p passwd] name\n"
295 -msgstr "[-p passwd] namn\n"
296 +msgid "[-p passwd] [-r] name\n"
297 +msgstr "[-p passwd] [-r] namn\n"
301 diff -Nur shadow-4.0.3.orig/po/uk.po shadow-4.0.3/po/uk.po
302 --- shadow-4.0.3.orig/po/uk.po 2003-06-20 19:06:16.000000000 +0200
303 +++ shadow-4.0.3/po/uk.po 2003-06-20 19:26:33.000000000 +0200
305 msgstr "%s: ÎÅ ÍÏÖÕ ÏÎÏ×ÉÔÉ DBM ÆÁÊÌ Ú ÐÒÉÈÏ×ÁÎÉÍÉ ÐÁÒÏÌÑÍÉ\n"
307 #: src/groupadd.c:101
308 -msgid "usage: groupadd [-g gid [-o]] [-f] group\n"
309 -msgstr "×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: groupadd [-g gid [-o]] [-f] ÇÒÕÐÁ\n"
310 +msgid "usage: groupadd [-g gid [-o]] [-f] [-r] group\n"
311 +msgstr "×ÉËÏÒÉÓÔÏ×ÕÊÔÅ: groupadd [-g gid [-o]] [-f] [-r] ÇÒÕÐÁ\n"
313 #: src/groupadd.c:167 src/groupadd.c:192 src/groupmod.c:179 src/groupmod.c:228
314 #: src/useradd.c:970 src/usermod.c:552 src/usermod.c:695
315 @@ -1984,8 +1984,8 @@
316 msgstr "[-A ÐÒÏÇÒÁÍÁ] "
319 -msgid "[-p passwd] name\n"
320 -msgstr "[-p ÐÁÒÏÌØ] ¦Í'Ñ\n"
321 +msgid "[-p passwd] [-r] name\n"
322 +msgstr "[-p ÐÁÒÏÌØ] [-r] ¦Í'Ñ\n"
326 diff -Nur shadow-4.0.3.orig/src/groupadd.c shadow-4.0.3/src/groupadd.c
327 --- shadow-4.0.3.orig/src/groupadd.c 2003-06-20 19:06:16.000000000 +0200
328 +++ shadow-4.0.3/src/groupadd.c 2003-06-20 19:21:43.000000000 +0200
330 static int oflg = 0; /* permit non-unique group ID to be specified with -g */
331 static int gflg = 0; /* ID value for the new group */
332 static int fflg = 0; /* if group already exists, do nothing and exit(0) */
333 +static int rflg = 0; /* add system group (with lower gid) */
336 extern int gr_dbm_mode;
339 static void usage (void)
341 - fprintf (stderr, _("usage: groupadd [-g gid [-o]] [-f] group\n"));
342 + fprintf (stderr, _("usage: groupadd [-g gid [-o]] [-f] [-r] group\n"));
347 const struct group *grp;
348 gid_t gid_min, gid_max;
350 - gid_min = getdef_unum ("GID_MIN", 100);
351 - gid_max = getdef_unum ("GID_MAX", 60000);
353 + gid_min = getdef_unum ("GID_MIN", 500);
354 + gid_max = getdef_unum ("GID_MAX", 60000);
356 + gid_min = getdef_unum ("SYS_GID_MIN", 10);
357 + gid_max = getdef_unum ("SYS_GID_MAX", 499);
361 * Start with some GID value if the user didn't provide us with
366 - while ((arg = getopt (argc, argv, "og:O:f")) != EOF) {
367 + while ((arg = getopt (argc, argv, "og:O:fr")) != EOF) {
377 + * create system group
384 diff -Nur shadow-4.0.3.orig/src/useradd.c shadow-4.0.3/src/useradd.c
385 --- shadow-4.0.3.orig/src/useradd.c 2002-01-10 14:01:28.000000000 +0100
386 +++ shadow-4.0.3/src/useradd.c 2003-06-20 19:19:40.000000000 +0200
389 * These defaults are used if there is no defaults file.
391 -static gid_t def_group = 100;
392 +static gid_t def_group = 1000;
393 static const char *def_gname = "other";
394 -static const char *def_home = "/home";
395 -static const char *def_shell = "";
396 +static const char *def_home = "/home/users";
397 +static const char *def_shell = "/dev/null";
398 static const char *def_template = SKEL_DIR;
402 #define VALID(s) (strcspn (s, ":\n") == strlen (s))
404 static const char *user_name = "";
405 -static const char *user_pass = "!";
406 +static const char *user_pass = "!!";
407 static uid_t user_id;
408 static gid_t user_gid;
409 static const char *user_comment = "";
411 mflg = 0, /* create user's home directory if it doesn't exist */
412 nflg = 0, /* create a group having the same name as the user */
413 oflg = 0, /* permit non-unique user ID to be specified with -u */
414 + rflg = 0, /* create system account (with lower uid) */
415 sflg = 0, /* shell program for new account */
416 uflg = 0; /* specify user ID for new account */
420 fprintf (stderr, _("[-A program] "));
422 - fprintf (stderr, _("[-p passwd] name\n"));
423 + fprintf (stderr, _("[-p passwd] [-r] name\n"));
426 _(" %s\t-D [-g group] [-b base] [-s shell]\n"),
427 @@ -1006,8 +1007,13 @@
428 const struct passwd *pwd;
429 uid_t uid_min, uid_max;
431 - uid_min = getdef_unum ("UID_MIN", 100);
432 - uid_max = getdef_unum ("UID_MAX", 60000);
434 + uid_min = getdef_unum ("UID_MIN", 500);
435 + uid_max = getdef_unum ("UID_MAX", 60000);
437 + uid_min = getdef_unum ("SYS_UID_MIN", 1);
438 + uid_max = getdef_unum ("SYS_UID_MAX", 499);
442 * Start with some UID value if the user didn't provide us with
443 @@ -1160,9 +1166,9 @@
447 -#define FLAGS "A:Du:og:G:d:s:c:mk:p:f:e:b:O:M"
448 +#define FLAGS "A:Du:og:G:d:s:c:mk:p:f:e:b:O:Mr"
450 -#define FLAGS "A:Du:og:G:d:s:c:mk:p:b:O:M"
451 +#define FLAGS "A:Du:og:G:d:s:c:mk:p:b:O:Mr"
453 while ((arg = getopt (argc, argv, FLAGS)) != EOF) {
455 @@ -1328,6 +1334,9 @@
459 + case 'r': /* create system account */
463 if (!VALID (optarg) || (optarg[0] &&