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 Requires: pam >= 0.77.3
44 # to force proper coreutils version, so "groups" command exists
45 Requires: /usr/bin/groups
47 Provides: shadow-utils
49 Obsoletes: shadow-utils
51 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54 This package includes the programs necessary to convert standard UNIX
55 password files to the shadow password format, as well as programs for
56 command-line management of the user's accounts.
57 - pwconv - converts everything to the shadow password format,
58 - pwunconv - unconverts from shadow password, generating a file in the
59 current directory called npasswd that is a standard UNIX password
61 - pwck - checks the integrity of the password and shadow files,
62 - lastlog - prints out the last login times of all users,
63 - useradd, userdel, usermod - for accounts management,
64 - groupadd, groupdel, groupmod - for group management.
66 A number of man pages are also included that relate to these
67 utilities, and shadow passwords in general.
70 Este paquete incluye los programas necesarios para convertir Archivos
71 padrón UNIX de contraseña al formato shadow.
72 - pwconv5 - convierte todo al formato de contraseñas del shadow,
73 - pwunconv - deshace la conversión de contraseñas shadow, creando un
74 archivo en el directorio corriente llamado npasswd que es el archivo
75 padrón UNIX de contraseña,
76 - pwck - chequea la integridad de la contraseña y de los archivos
78 - lastlog enseña el último momento de login de todos los usuarios.
79 Están también incluidas, en general, varias páginas de manual sobre
80 estos utilitarios y contraseñas shadow.
83 Pakiet zawiera programy do obs³ugi mechanizmu ukrytych hase³ (shadow
84 password). Znajduj± siê w nim programy do konwersji standardowego
85 pliku hase³ do wersji shadow password a tak¿e programy do zarz±dzania
86 kontami u¿ytkowników w systemie:
87 - pwconv - konwertuje do formatu shadow password
88 - pwunconv - konwertuje z shadow password do formatu standardowego
89 pliku hase³. W bie¿±cym katalogu tworzy plik npasswd bêd±cy
90 standardowym plikiem z has³ami,
91 - lastlog - wy¶wietla czas logowania u¿ytkowników,
92 - useradd, userdel, usermod - do zarz±dzania kontami u¿ytkowników,
93 - groupadd, groupdel, groupmod - do zarz±dzania grupami.
97 Programy znajduj±ce siê w tym pakiecie s± niezbêdne do prawid³owej
98 pracy systemu i podobnie jak pakiet z bibliotekami systemowymi (glibc)
99 nigdy nie powinien zostaæ odinstalowany!
101 %description -l pt_BR
102 Este pacote inclui os programas necessários para converter
103 arquivos-padrão UNIX de senha para o formato shadow.
104 - pwconv - converte tudo para o formato de senhas do shadow,
105 - pwunconv - desconverte senhas shadow, gerando um arquivo no
106 diretório corrente chamado npasswd que é o arquivo-padrão UNIX de
108 - pwck - checa a integridade da senha e dos arquivos shadow,
109 - lastlog - mostra o último momento de login de todos os usuários.
111 Várias páginas de manual estão também incluídas sobre estes
112 utilitários e senhas shadow em geral.
115 Summary: shadow - not often used programs
116 Summary(pl): shadow - programy nieczêsto u¿ywane
117 Group: Applications/System
118 Requires: %{name} = %{epoch}:%{version}-%{release}
120 Conflicts: util-linux < 2.12-10
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
159 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{default,pam.d,security,skel/tmp}
162 DESTDIR=$RPM_BUILD_ROOT
164 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/login.defs
165 install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/default/useradd
166 install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/chage
167 install %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/shadow
168 install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/chsh
169 install %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/chfn
170 install %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/passwd
171 install %{SOURCE8} $RPM_BUILD_ROOT/etc/pam.d/useradd
173 > $RPM_BUILD_ROOT%{_sysconfdir}/shadow
174 > $RPM_BUILD_ROOT/etc/security/chfn.allow
175 > $RPM_BUILD_ROOT/etc/security/chsh.allow
177 # vigr symlink is created by make install, but in wrong dir
178 ln -sf vipw $RPM_BUILD_ROOT%{_sbindir}/vigr
180 echo '.so newgrp.1' > $RPM_BUILD_ROOT%{_mandir}/fr/man1/sg.1
181 echo '.so newgrp.1' > $RPM_BUILD_ROOT%{_mandir}/it/man1/sg.1
182 echo '.so newgrp.1' > $RPM_BUILD_ROOT%{_mandir}/ko/man1/sg.1
187 rm -rf $RPM_BUILD_ROOT
190 %{?with_shared:/sbin/ldconfig}
191 if [ ! -f /etc/shadow ]; then
195 %{?with_shared:%postun -p /sbin/ldconfig}
197 %files -f %{name}.lang
198 %defattr(644,root,root,755)
199 %doc ChangeLog NEWS TODO doc/{HOWTO,README,README.linux,README.pam,WISHLIST}
200 %attr(750,root,root) %dir %{_sysconfdir}/default
201 %attr(640,root,root) %config %verify(not md5 size mtime) %{_sysconfdir}/default/*
202 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/chage
203 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/passwd
204 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/shadow
205 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/useradd
206 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/login.defs
207 %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*