3 %bcond_without selinux # build without SE-Linux support
4 %bcond_with shared # build with shared libshadow
6 Summary: Shadow password file utilities for Linux
7 Summary(de): Shadow-Paßwortdatei-Dienstprogramme für Linux
8 Summary(es): Utilitarios para el archivo de contraseñas Shadow
9 Summary(fr): Fichiers utilitaires pour Shadow password pour Linux
10 Summary(pl): Narzêdzia do obs³ugi mechanizmu ukrytych hase³
11 Summary(tr): Gölge parola dosyasý araçlarý
12 Summary(pt_BR): Utilitários para o arquivo de senhas Shadow
18 Group: Applications/System
19 Source0: ftp://ftp.pld.org.pl/software/shadow/%{name}-%{version}.tar.bz2
20 # Source0-md5: 3a3d17d3d7c630b602baf66ae7434c61
21 Source1: %{name}-login.defs
22 Source2: %{name}.useradd
29 Patch0: %{name}-utmpx.patch
30 Patch1: %{name}-man_and_po.patch
31 Patch2: %{name}-pl.po-update.patch
32 Patch3: %{name}-userdel-exit-bug.patch
33 Patch4: %{name}-useradd-p.patch
34 Patch5: %{name}-pld.patch
35 Patch6: %{name}-chage_expdays.patch
36 Patch7: %{name}-selinux.patch
37 BuildRequires: autoconf
38 BuildRequires: automake >= 1.0
39 BuildRequires: gettext-devel >= 0.12.1
40 BuildRequires: pam-devel
41 BuildRequires: libtool
42 %{?with_selinux:BuildRequires: libselinux-devel}
43 Provides: shadow-utils
45 Requires: pam >= 0.77.3
46 # to force proper coreutils version, so "groups" command exists
47 Requires: /usr/bin/groups
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49 Obsoletes: shadow-utils
53 This package includes the programs necessary to convert standard UNIX
54 password files to the shadow password format, as well as programs for
55 command-line management of the user's accounts.
56 - pwconv - converts everything to the shadow password format,
57 - pwunconv - unconverts from shadow password, generating a file in the
58 current directory called npasswd that is a standard UNIX password
60 - pwck - checks the integrity of the password and shadow files,
61 - lastlog - prints out the last login times of all users,
62 - useradd, userdel, usermod - for accounts management,
63 - groupadd, groupdel, groupmod - for group management.
65 A number of man pages are also included that relate to these
66 utilities, and shadow passwords in general.
69 Este paquete incluye los programas necesarios para convertir Archivos
70 padrón UNIX de contraseña al formato shadow.
71 - pwconv5 - convierte todo al formato de contraseñas del shadow,
72 - pwunconv - deshace la conversión de contraseñas shadow, creando un
73 archivo en el directorio corriente llamado npasswd que es el archivo
74 padrón UNIX de contraseña,
75 - pwck - chequea la integridad de la contraseña y de los archivos
77 - lastlog enseña el último momento de login de todos los usuarios.
78 Están también incluidas, en general, varias páginas de manual sobre
79 estos utilitarios y contraseñas shadow.
82 Pakiet zawiera programy do obs³ugi mechanizmu ukrytych hase³ (shadow
83 password). Znajduj± siê w nim programy do konwersji standardowego
84 pliku hase³ do wersji shadow password a tak¿e programy do zarz±dzania
85 kontami u¿ytkowników w systemie:
86 - pwconv - konwertuje do formatu shadow password
87 - pwunconv - konwertuje z shadow password do formatu standardowego
88 pliku hase³. W bie¿±cym katalogu tworzy plik npasswd bêd±cy
89 standardowym plikiem z has³ami,
90 - lastlog - wy¶wietla czas logowania u¿ytkowników,
91 - useradd, userdel, usermod - do zarz±dzania kontami u¿ytkowników,
92 - groupadd, groupdel, groupmod - do zarz±dzania grupami.
96 Programy znajduj±ce siê w tym pakiecie s± niezbêdne do prawid³owej
97 pracy systemu i podobnie jak pakiet z bibliotekami systemowymi (glibc)
98 nigdy nie powinien zostaæ odinstalowany!
100 %description -l pt_BR
101 Este pacote inclui os programas necessários para converter
102 arquivos-padrão UNIX de senha para o formato shadow.
103 - pwconv - converte tudo para o formato de senhas do shadow,
104 - pwunconv - desconverte senhas shadow, gerando um arquivo no
105 diretório corrente chamado npasswd que é o arquivo-padrão UNIX de
107 - pwck - checa a integridade da senha e dos arquivos shadow,
108 - lastlog - mostra o último momento de login de todos os usuários.
110 Várias páginas de manual estão também incluídas sobre estes
111 utilitários e senhas shadow em geral.
114 Summary: shadow - not often used programs
115 Summary(pl): shadow - programy nieczêsto u¿ywane
116 Group: Applications/System
117 Requires: %{name} = %{epoch}:%{version}-%{release}
118 Conflicts: util-linux < 2.12-10
119 # to force proper util-linux version, so "newgrp" command exists
120 Requires: /usr/bin/newgrp
123 Programs for shadow not often used. If you have small system you may
126 %description extras -l pl
127 Programy nieczêsto u¿ywane. W ma³ych systemach mo¿na je pomin±æ.
138 %{?with_selinux:%patch7 -p1}
147 %{?with_shared:--enable-shared --disable-static} \
153 %{?with_selinux:--with-selinux} \
154 --without-included-gettext
158 rm -rf $RPM_BUILD_ROOT
161 DESTDIR=$RPM_BUILD_ROOT
163 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{default,pam.d,security,skel}
165 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/login.defs
166 install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/default/useradd
167 install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/chage
168 install %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/shadow
169 install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/chsh
170 install %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/chfn
171 install %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/passwd
172 install %{SOURCE8} $RPM_BUILD_ROOT/etc/pam.d/useradd
174 > $RPM_BUILD_ROOT%{_sysconfdir}/shadow
175 > $RPM_BUILD_ROOT/etc/security/chfn.allow
176 > $RPM_BUILD_ROOT/etc/security/chsh.allow
178 # vigr symlink is created by make install, but in wrong dir
179 ln -sf vipw $RPM_BUILD_ROOT%{_sbindir}/vigr
181 echo '.so newgrp.1' > $RPM_BUILD_ROOT%{_mandir}/fr/man1/sg.1
182 echo '.so newgrp.1' > $RPM_BUILD_ROOT%{_mandir}/it/man1/sg.1
183 echo '.so newgrp.1' > $RPM_BUILD_ROOT%{_mandir}/ko/man1/sg.1
188 rm -rf $RPM_BUILD_ROOT
191 %{?with_shared:/sbin/ldconfig}
192 if [ ! -f /etc/shadow ]; then
196 %{?with_shared:%postun -p /sbin/ldconfig}
198 %files -f %{name}.lang
199 %defattr(644,root,root,755)
200 %doc ChangeLog NEWS TODO doc/{HOWTO,README,README.linux,README.pam,WISHLIST}
201 %attr(750,root,root) %dir %{_sysconfdir}/default
202 %attr(640,root,root) %config %verify(not md5 size mtime) %{_sysconfdir}/default/*
203 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/chage
204 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/passwd
205 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/shadow
206 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/useradd
207 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/login.defs
208 %attr(600,root,root) %config(noreplace) %verify(not md5 size mtime) %ghost %{_sysconfdir}/shadow
210 %{?with_shared:%attr(755,root,root) %{_libdir}/lib*.so.*.*}
211 %attr(755,root,root) %{_sbindir}/chpasswd
212 %attr(755,root,root) %{_sbindir}/groupadd
213 %attr(755,root,root) %{_sbindir}/groupdel
214 %attr(755,root,root) %{_sbindir}/groupmod
215 %attr(755,root,root) %{_sbindir}/grpck
216 %attr(755,root,root) %{_sbindir}/grpconv
217 %attr(755,root,root) %{_sbindir}/grpunconv
218 %attr(755,root,root) %{_sbindir}/pwck
219 %attr(755,root,root) %{_sbindir}/pwconv
220 %attr(755,root,root) %{_sbindir}/pwunconv
221 %attr(755,root,root) %{_sbindir}/useradd
222 %attr(755,root,root) %{_sbindir}/userdel
223 %attr(755,root,root) %{_sbindir}/usermod
224 %attr(755,root,root) %{_sbindir}/vigr
225 %attr(755,root,root) %{_sbindir}/vipw
226 %attr(755,root,root) %{_bindir}/faillog
227 %attr(755,root,root) %{_bindir}/lastlog
228 %attr(4755,root,root) %{_bindir}/passwd
229 %{_mandir}/man1/passwd.1*
230 %{_mandir}/man5/faillog.5*
231 %{_mandir}/man5/login.access.5*
232 %{_mandir}/man5/login.defs.5*
233 %{_mandir}/man5/passwd.5*
234 %{_mandir}/man5/shadow.5*
235 %{_mandir}/man5/suauth.5*
236 %{_mandir}/man8/faillog.8*
237 %{_mandir}/man8/groupadd.8*
238 %{_mandir}/man8/groupdel.8*
239 %{_mandir}/man8/groupmod.8*
240 %{_mandir}/man8/grpck.8*
241 %{_mandir}/man8/grpconv.8*
242 %{_mandir}/man8/grpunconv.8*
243 %{_mandir}/man8/lastlog.8*
244 %{_mandir}/man8/pwck.8*
245 %{_mandir}/man8/pwconv.8*
246 %{_mandir}/man8/pwunconv.8*
247 %{_mandir}/man8/useradd.8*
248 %{_mandir}/man8/userdel.8*
249 %{_mandir}/man8/usermod.8*
250 %{_mandir}/man8/vigr.8*
251 %{_mandir}/man8/vipw.8*
252 %{_mandir}/man8/chpasswd.8*
254 %lang(cs) %{_mandir}/cs/man5/passwd.5*
255 %lang(cs) %{_mandir}/cs/man5/shadow.5*
257 %lang(de) %{_mandir}/de/man1/passwd.1*
259 %lang(es) %{_mandir}/es/man1/passwd.1*
261 %lang(fr) %{_mandir}/fr/man1/passwd.1*
262 %lang(fr) %{_mandir}/fr/man5/faillog.5*
263 %lang(fr) %{_mandir}/fr/man5/passwd.5*
264 %lang(fr) %{_mandir}/fr/man5/shadow.5*
265 %lang(fr) %{_mandir}/fr/man8/adduser.8*
266 %lang(fr) %{_mandir}/fr/man8/chpasswd.8*
267 %lang(fr) %{_mandir}/fr/man8/useradd.8*
268 %lang(fr) %{_mandir}/fr/man8/userdel.8*
269 %lang(fr) %{_mandir}/fr/man8/usermod.8*
271 %lang(hu) %{_mandir}/hu/man1/passwd.1*
273 %lang(id) %{_mandir}/id/man8/useradd.8*
275 %lang(it) %{_mandir}/it/man1/passwd.1*
276 %lang(it) %{_mandir}/it/man5/passwd.5*
277 %lang(it) %{_mandir}/it/man5/shadow.5*
278 %lang(it) %{_mandir}/it/man8/groupadd.8*
279 %lang(it) %{_mandir}/it/man8/groupdel.8*
280 %lang(it) %{_mandir}/it/man8/groupmod.8*
281 %lang(it) %{_mandir}/it/man8/grpck.8*
282 %lang(it) %{_mandir}/it/man8/grpconv.8*
283 %lang(it) %{_mandir}/it/man8/grpunconv.8*
284 %lang(it) %{_mandir}/it/man8/lastlog.8*
285 %lang(it) %{_mandir}/it/man8/pwconv.8*
286 %lang(it) %{_mandir}/it/man8/pwunconv.8*
287 %lang(it) %{_mandir}/it/man8/useradd.8*
288 %lang(it) %{_mandir}/it/man8/userdel.8*
289 %lang(it) %{_mandir}/it/man8/usermod.8*
290 %lang(it) %{_mandir}/it/man8/vigr.8*
291 %lang(it) %{_mandir}/it/man8/vipw.8*
293 %lang(ja) %{_mandir}/ja/man1/passwd.1*
294 %lang(ja) %{_mandir}/ja/man5/faillog.5*
295 %lang(ja) %{_mandir}/ja/man5/login.access.5*
296 %lang(ja) %{_mandir}/ja/man5/login.defs.5*
297 %lang(ja) %{_mandir}/ja/man5/passwd.5*
298 %lang(ja) %{_mandir}/ja/man5/shadow.5*
299 %lang(ja) %{_mandir}/ja/man5/suauth.5*
300 %lang(ja) %{_mandir}/ja/man8/faillog.8*
301 %lang(ja) %{_mandir}/ja/man8/groupadd.8*
302 %lang(ja) %{_mandir}/ja/man8/groupdel.8*
303 %lang(ja) %{_mandir}/ja/man8/groupmod.8*
304 %lang(ja) %{_mandir}/ja/man8/grpck.8*
305 %lang(ja) %{_mandir}/ja/man8/grpconv.8*
306 %lang(ja) %{_mandir}/ja/man8/grpunconv.8*
307 %lang(ja) %{_mandir}/ja/man8/lastlog.8*
308 %lang(ja) %{_mandir}/ja/man8/pwck.8*
309 %lang(ja) %{_mandir}/ja/man8/pwconv.8*
310 %lang(ja) %{_mandir}/ja/man8/pwunconv.8*
311 %lang(ja) %{_mandir}/ja/man8/useradd.8*
312 %lang(ja) %{_mandir}/ja/man8/userdel.8*
313 %lang(ja) %{_mandir}/ja/man8/usermod.8*
314 %lang(ja) %{_mandir}/ja/man8/vipw.8*
315 %lang(ja) %{_mandir}/ja/man8/vigr.8*
317 %lang(ko) %{_mandir}/ko/man5/passwd.5*
319 %lang(pl) %{_mandir}/pl/man1/passwd.1*
320 %lang(pl) %{_mandir}/pl/man5/faillog.5*
321 %lang(pl) %{_mandir}/pl/man5/login.access.5*
322 %lang(pl) %{_mandir}/pl/man5/login.defs.5*
323 %lang(pl) %{_mandir}/pl/man5/passwd.5*
324 %lang(pl) %{_mandir}/pl/man5/shadow.5*
325 %lang(pl) %{_mandir}/pl/man5/suauth.5*
326 %lang(pl) %{_mandir}/pl/man8/faillog.8*
327 %lang(pl) %{_mandir}/pl/man8/groupadd.8*
328 %lang(pl) %{_mandir}/pl/man8/groupdel.8*
329 %lang(pl) %{_mandir}/pl/man8/groupmod.8*
330 %lang(pl) %{_mandir}/pl/man8/grpck.8*
331 %lang(pl) %{_mandir}/pl/man8/grpconv.8*
332 %lang(pl) %{_mandir}/pl/man8/grpunconv.8*
333 %lang(pl) %{_mandir}/pl/man8/lastlog.8*
334 %lang(pl) %{_mandir}/pl/man8/pwck.8*
335 %lang(pl) %{_mandir}/pl/man8/pwconv.8*
336 %lang(pl) %{_mandir}/pl/man8/pwunconv.8*
337 %lang(pl) %{_mandir}/pl/man8/useradd.8*
338 %lang(pl) %{_mandir}/pl/man8/userdel.8*
339 %lang(pl) %{_mandir}/pl/man8/usermod.8*
340 %lang(pl) %{_mandir}/pl/man8/vigr.8*
341 %lang(pl) %{_mandir}/pl/man8/vipw.8*
343 %lang(pt_BR) %{_mandir}/pt_BR/man5/shadow.5*
344 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupadd.8*
345 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupdel.8*
346 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupmod.8*
348 %lang(ru) %{_mandir}/ru/man5/passwd.5*
350 %lang(zh_CN) %{_mandir}/zh_CN/man8/chpasswd.8*
351 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupadd.8*
352 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupdel.8*
353 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupmod.8*
354 %lang(zh_CN) %{_mandir}/zh_CN/man8/useradd.8*
355 %lang(zh_CN) %{_mandir}/zh_CN/man8/userdel.8*
356 %lang(zh_CN) %{_mandir}/zh_CN/man8/usermod.8*
358 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupadd.8*
359 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupdel.8*
360 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupmod.8*
361 %lang(zh_TW) %{_mandir}/zh_TW/man8/useradd.8*
362 %lang(zh_TW) %{_mandir}/zh_TW/man8/userdel.8*
363 %lang(zh_TW) %{_mandir}/zh_TW/man8/usermod.8*
366 %defattr(644,root,root,755)
367 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/chfn
368 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/chsh
369 %attr(640,root,root) %config %verify(not md5 size mtime) /etc/security/*
370 %attr(755,root,root) %{_bindir}/chage
371 %attr(4755,root,root) %{_bindir}/chfn
372 %attr(4755,root,root) %{_bindir}/chsh
373 %attr(4755,root,root) %{_bindir}/expiry
374 %attr(4755,root,root) %{_bindir}/gpasswd
375 %attr(755,root,root) %{_bindir}/newgrp
376 %attr(755,root,root) %{_bindir}/sg
377 %attr(755,root,root) %{_sbindir}/mkpasswd
378 %attr(755,root,root) %{_sbindir}/newusers
380 %{_mandir}/man1/chage.1*
381 %{_mandir}/man1/chfn.1*
382 %{_mandir}/man1/chsh.1*
383 %{_mandir}/man1/expiry.1*
384 %{_mandir}/man1/gpasswd.1*
385 %{_mandir}/man1/newgrp.1*
386 %{_mandir}/man1/sg.1*
387 %{_mandir}/man8/mkpasswd.8*
388 %{_mandir}/man8/newusers.8*
390 %lang(de) %{_mandir}/de/man1/chfn.1*
391 %lang(de) %{_mandir}/de/man1/chsh.1*
393 %lang(fr) %{_mandir}/fr/man1/chage.1*
394 %lang(fr) %{_mandir}/fr/man1/chsh.1*
395 %lang(fr) %{_mandir}/fr/man1/gpasswd.1*
396 %lang(fr) %{_mandir}/fr/man1/newgrp.1*
397 %lang(fr) %{_mandir}/fr/man1/sg.1*
399 %lang(hu) %{_mandir}/hu/man1/chsh.1*
400 %lang(hu) %{_mandir}/hu/man1/gpasswd.1*
401 %lang(hu) %{_mandir}/hu/man1/newgrp.1*
402 %lang(hu) %{_mandir}/hu/man1/sg.1*
404 %lang(id) %{_mandir}/id/man1/chsh.1*
406 %lang(it) %{_mandir}/it/man1/chfn.1*
407 %lang(it) %{_mandir}/it/man1/chsh.1*
408 %lang(it) %{_mandir}/it/man1/gpasswd.1*
409 %lang(it) %{_mandir}/it/man1/newgrp.1*
410 %lang(it) %{_mandir}/it/man1/sg.1*
412 %lang(ja) %{_mandir}/ja/man1/chage.1*
413 %lang(ja) %{_mandir}/ja/man1/chfn.1*
414 %lang(ja) %{_mandir}/ja/man1/chsh.1*
415 %lang(ja) %{_mandir}/ja/man1/expiry.1*
416 %lang(ja) %{_mandir}/ja/man1/gpasswd.1*
417 %lang(ja) %{_mandir}/ja/man1/newgrp.1*
418 %lang(ja) %{_mandir}/ja/man1/sg.1*
419 %lang(ja) %{_mandir}/ja/man8/chpasswd.8*
420 %lang(ja) %{_mandir}/ja/man8/mkpasswd.8*
421 %lang(ja) %{_mandir}/ja/man8/newusers.8*
423 %lang(ko) %{_mandir}/ko/man1/chfn.1*
424 %lang(ko) %{_mandir}/ko/man1/chsh.1*
425 %lang(ko) %{_mandir}/ko/man1/newgrp.1*
426 %lang(ko) %{_mandir}/ko/man1/sg.1*
428 %lang(pl) %{_mandir}/pl/man1/chage.1*
429 %lang(pl) %{_mandir}/pl/man1/chfn.1*
430 %lang(pl) %{_mandir}/pl/man1/chsh.1*
431 %lang(pl) %{_mandir}/pl/man1/expiry.1*
432 %lang(pl) %{_mandir}/pl/man1/gpasswd.1*
433 %lang(pl) %{_mandir}/pl/man1/newgrp.1*
434 %lang(pl) %{_mandir}/pl/man1/sg.1*
435 %lang(pl) %{_mandir}/pl/man8/chpasswd.8*
436 %lang(pl) %{_mandir}/pl/man8/mkpasswd.8*
437 %lang(pl) %{_mandir}/pl/man8/newusers.8*
439 %lang(pt_BR) %{_mandir}/pt_BR/man1/gpasswd.1*
441 %lang(zh_CN) %{_mandir}/zh_CN/man1/chfn.1*
442 %lang(zh_CN) %{_mandir}/zh_CN/man1/chsh.1*
444 %lang(zh_TW) %{_mandir}/zh_TW/man1/chfn.1*
445 %lang(zh_TW) %{_mandir}/zh_TW/man1/chsh.1*
448 # - /bin/login already in login (from util-linux.spec)
449 #%attr(755,root,root) %{_bindir}/login
450 #%{_mandir}/man1/login.1*
451 #%{_mandir}/man5/porttime.5*
452 #%lang(hu) %{_mandir}/hu/man1/login.1*
453 #%lang(id) %{_mandir}/id/man1/login.1*
454 #%lang(it) %{_mandir}/it/man1/login.1*
455 #%lang(ja) %{_mandir}/ja/man1/login.1*
456 #%lang(ja) %{_mandir}/ja/man5/porttime.5*
457 #%lang(ko) %{_mandir}/ko/man1/login.1*
458 #%lang(pl) %{_mandir}/pl/man1/login.1*
459 #%lang(pl) %{_mandir}/pl/man5/porttime.5*
461 # - /bin/su already in coreutils
462 #%attr(4755,root,root) %{_bindir}/su
463 #%{_mandir}/man1/su.1*
464 #%lang(ja) %{_mandir}/ja/man1/su.1*
465 #%lang(pl) %{_mandir}/pl/man1/su.1*
467 # - unknown reason (removed w/o comment in rev 1.27)
468 #%attr(755,root,root) %{_sbindir}/logoutd
469 #%{_mandir}/man8/logoutd.8*
470 #%lang(ja) %{_mandir}/ja/man8/logoutd.8*
471 #%lang(pl) %{_mandir}/pl/man8/logoutd.8*