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)
51 Obsoletes: shadow-utils
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}
119 Conflicts: util-linux < 2.12-10
122 Programs for shadow not often used. If you have small system you may
125 %description extras -l pl
126 Programy nieczêsto u¿ywane. W ma³ych systemach mo¿na je pomin±æ.
137 %{?with_selinux:%patch7 -p1}
146 %{?with_shared:--enable-shared --disable-static} \
152 %{?with_selinux:--with-selinux} \
153 --without-included-gettext
157 rm -rf $RPM_BUILD_ROOT
160 DESTDIR=$RPM_BUILD_ROOT
162 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{default,pam.d,security,skel}
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
209 %{?with_shared:%attr(755,root,root) %{_libdir}/lib*.so.*.*}
210 %attr(755,root,root) %{_sbindir}/chpasswd
211 %attr(755,root,root) %{_sbindir}/groupadd
212 %attr(755,root,root) %{_sbindir}/groupdel
213 %attr(755,root,root) %{_sbindir}/groupmod
214 %attr(755,root,root) %{_sbindir}/grpck
215 %attr(755,root,root) %{_sbindir}/grpconv
216 %attr(755,root,root) %{_sbindir}/grpunconv
217 %attr(755,root,root) %{_sbindir}/pwck
218 %attr(755,root,root) %{_sbindir}/pwconv
219 %attr(755,root,root) %{_sbindir}/pwunconv
220 %attr(755,root,root) %{_sbindir}/useradd
221 %attr(755,root,root) %{_sbindir}/userdel
222 %attr(755,root,root) %{_sbindir}/usermod
223 %attr(755,root,root) %{_sbindir}/vigr
224 %attr(755,root,root) %{_sbindir}/vipw
225 %attr(755,root,root) %{_bindir}/faillog
226 %attr(755,root,root) %{_bindir}/lastlog
227 %attr(4755,root,root) %{_bindir}/passwd
228 %{_mandir}/man1/passwd.1*
229 %{_mandir}/man5/faillog.5*
230 %{_mandir}/man5/login.access.5*
231 %{_mandir}/man5/login.defs.5*
232 %{_mandir}/man5/passwd.5*
233 %{_mandir}/man5/shadow.5*
234 %{_mandir}/man5/suauth.5*
235 %{_mandir}/man8/faillog.8*
236 %{_mandir}/man8/groupadd.8*
237 %{_mandir}/man8/groupdel.8*
238 %{_mandir}/man8/groupmod.8*
239 %{_mandir}/man8/grpck.8*
240 %{_mandir}/man8/grpconv.8*
241 %{_mandir}/man8/grpunconv.8*
242 %{_mandir}/man8/lastlog.8*
243 %{_mandir}/man8/pwck.8*
244 %{_mandir}/man8/pwconv.8*
245 %{_mandir}/man8/pwunconv.8*
246 %{_mandir}/man8/useradd.8*
247 %{_mandir}/man8/userdel.8*
248 %{_mandir}/man8/usermod.8*
249 %{_mandir}/man8/vigr.8*
250 %{_mandir}/man8/vipw.8*
251 %{_mandir}/man8/chpasswd.8*
253 %lang(cs) %{_mandir}/cs/man5/passwd.5*
254 %lang(cs) %{_mandir}/cs/man5/shadow.5*
256 %lang(de) %{_mandir}/de/man1/passwd.1*
258 %lang(es) %{_mandir}/es/man1/passwd.1*
260 %lang(fr) %{_mandir}/fr/man1/passwd.1*
261 %lang(fr) %{_mandir}/fr/man5/faillog.5*
262 %lang(fr) %{_mandir}/fr/man5/passwd.5*
263 %lang(fr) %{_mandir}/fr/man5/shadow.5*
264 %lang(fr) %{_mandir}/fr/man8/adduser.8*
265 %lang(fr) %{_mandir}/fr/man8/chpasswd.8*
266 %lang(fr) %{_mandir}/fr/man8/useradd.8*
267 %lang(fr) %{_mandir}/fr/man8/userdel.8*
268 %lang(fr) %{_mandir}/fr/man8/usermod.8*
270 %lang(hu) %{_mandir}/hu/man1/passwd.1*
272 %lang(id) %{_mandir}/id/man8/useradd.8*
274 %lang(it) %{_mandir}/it/man1/passwd.1*
275 %lang(it) %{_mandir}/it/man5/passwd.5*
276 %lang(it) %{_mandir}/it/man5/shadow.5*
277 %lang(it) %{_mandir}/it/man8/groupadd.8*
278 %lang(it) %{_mandir}/it/man8/groupdel.8*
279 %lang(it) %{_mandir}/it/man8/groupmod.8*
280 %lang(it) %{_mandir}/it/man8/grpck.8*
281 %lang(it) %{_mandir}/it/man8/grpconv.8*
282 %lang(it) %{_mandir}/it/man8/grpunconv.8*
283 %lang(it) %{_mandir}/it/man8/lastlog.8*
284 %lang(it) %{_mandir}/it/man8/pwconv.8*
285 %lang(it) %{_mandir}/it/man8/pwunconv.8*
286 %lang(it) %{_mandir}/it/man8/useradd.8*
287 %lang(it) %{_mandir}/it/man8/userdel.8*
288 %lang(it) %{_mandir}/it/man8/usermod.8*
289 %lang(it) %{_mandir}/it/man8/vigr.8*
290 %lang(it) %{_mandir}/it/man8/vipw.8*
292 %lang(ja) %{_mandir}/ja/man1/passwd.1*
293 %lang(ja) %{_mandir}/ja/man5/faillog.5*
294 %lang(ja) %{_mandir}/ja/man5/login.access.5*
295 %lang(ja) %{_mandir}/ja/man5/login.defs.5*
296 %lang(ja) %{_mandir}/ja/man5/passwd.5*
297 %lang(ja) %{_mandir}/ja/man5/shadow.5*
298 %lang(ja) %{_mandir}/ja/man5/suauth.5*
299 %lang(ja) %{_mandir}/ja/man8/faillog.8*
300 %lang(ja) %{_mandir}/ja/man8/groupadd.8*
301 %lang(ja) %{_mandir}/ja/man8/groupdel.8*
302 %lang(ja) %{_mandir}/ja/man8/groupmod.8*
303 %lang(ja) %{_mandir}/ja/man8/grpck.8*
304 %lang(ja) %{_mandir}/ja/man8/grpconv.8*
305 %lang(ja) %{_mandir}/ja/man8/grpunconv.8*
306 %lang(ja) %{_mandir}/ja/man8/lastlog.8*
307 %lang(ja) %{_mandir}/ja/man8/pwck.8*
308 %lang(ja) %{_mandir}/ja/man8/pwconv.8*
309 %lang(ja) %{_mandir}/ja/man8/pwunconv.8*
310 %lang(ja) %{_mandir}/ja/man8/useradd.8*
311 %lang(ja) %{_mandir}/ja/man8/userdel.8*
312 %lang(ja) %{_mandir}/ja/man8/usermod.8*
313 %lang(ja) %{_mandir}/ja/man8/vipw.8*
314 %lang(ja) %{_mandir}/ja/man8/vigr.8*
316 %lang(ko) %{_mandir}/ko/man5/passwd.5*
318 %lang(pl) %{_mandir}/pl/man1/passwd.1*
319 %lang(pl) %{_mandir}/pl/man5/faillog.5*
320 %lang(pl) %{_mandir}/pl/man5/login.access.5*
321 %lang(pl) %{_mandir}/pl/man5/login.defs.5*
322 %lang(pl) %{_mandir}/pl/man5/passwd.5*
323 %lang(pl) %{_mandir}/pl/man5/shadow.5*
324 %lang(pl) %{_mandir}/pl/man5/suauth.5*
325 %lang(pl) %{_mandir}/pl/man8/faillog.8*
326 %lang(pl) %{_mandir}/pl/man8/groupadd.8*
327 %lang(pl) %{_mandir}/pl/man8/groupdel.8*
328 %lang(pl) %{_mandir}/pl/man8/groupmod.8*
329 %lang(pl) %{_mandir}/pl/man8/grpck.8*
330 %lang(pl) %{_mandir}/pl/man8/grpconv.8*
331 %lang(pl) %{_mandir}/pl/man8/grpunconv.8*
332 %lang(pl) %{_mandir}/pl/man8/lastlog.8*
333 %lang(pl) %{_mandir}/pl/man8/pwck.8*
334 %lang(pl) %{_mandir}/pl/man8/pwconv.8*
335 %lang(pl) %{_mandir}/pl/man8/pwunconv.8*
336 %lang(pl) %{_mandir}/pl/man8/useradd.8*
337 %lang(pl) %{_mandir}/pl/man8/userdel.8*
338 %lang(pl) %{_mandir}/pl/man8/usermod.8*
339 %lang(pl) %{_mandir}/pl/man8/vigr.8*
340 %lang(pl) %{_mandir}/pl/man8/vipw.8*
342 %lang(pt_BR) %{_mandir}/pt_BR/man5/shadow.5*
343 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupadd.8*
344 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupdel.8*
345 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupmod.8*
347 %lang(ru) %{_mandir}/ru/man5/passwd.5*
349 %lang(zh_CN) %{_mandir}/zh_CN/man8/chpasswd.8*
350 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupadd.8*
351 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupdel.8*
352 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupmod.8*
353 %lang(zh_CN) %{_mandir}/zh_CN/man8/useradd.8*
354 %lang(zh_CN) %{_mandir}/zh_CN/man8/userdel.8*
355 %lang(zh_CN) %{_mandir}/zh_CN/man8/usermod.8*
357 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupadd.8*
358 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupdel.8*
359 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupmod.8*
360 %lang(zh_TW) %{_mandir}/zh_TW/man8/useradd.8*
361 %lang(zh_TW) %{_mandir}/zh_TW/man8/userdel.8*
362 %lang(zh_TW) %{_mandir}/zh_TW/man8/usermod.8*
365 %defattr(644,root,root,755)
366 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/chfn
367 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/chsh
368 %attr(640,root,root) %config %verify(not md5 size mtime) /etc/security/*
369 %attr(755,root,root) %{_bindir}/chage
370 %attr(4755,root,root) %{_bindir}/chfn
371 %attr(4755,root,root) %{_bindir}/chsh
372 %attr(4755,root,root) %{_bindir}/expiry
373 %attr(4755,root,root) %{_bindir}/gpasswd
374 %attr(755,root,root) %{_bindir}/newgrp
375 %attr(755,root,root) %{_bindir}/sg
376 %attr(755,root,root) %{_sbindir}/mkpasswd
377 %attr(755,root,root) %{_sbindir}/newusers
379 %{_mandir}/man1/chage.1*
380 %{_mandir}/man1/chfn.1*
381 %{_mandir}/man1/chsh.1*
382 %{_mandir}/man1/expiry.1*
383 %{_mandir}/man1/gpasswd.1*
384 %{_mandir}/man1/newgrp.1*
385 %{_mandir}/man1/sg.1*
386 %{_mandir}/man8/mkpasswd.8*
387 %{_mandir}/man8/newusers.8*
389 %lang(de) %{_mandir}/de/man1/chfn.1*
390 %lang(de) %{_mandir}/de/man1/chsh.1*
392 %lang(fr) %{_mandir}/fr/man1/chage.1*
393 %lang(fr) %{_mandir}/fr/man1/chsh.1*
394 %lang(fr) %{_mandir}/fr/man1/gpasswd.1*
395 %lang(fr) %{_mandir}/fr/man1/newgrp.1*
396 %lang(fr) %{_mandir}/fr/man1/sg.1*
398 %lang(hu) %{_mandir}/hu/man1/chsh.1*
399 %lang(hu) %{_mandir}/hu/man1/gpasswd.1*
400 %lang(hu) %{_mandir}/hu/man1/newgrp.1*
401 %lang(hu) %{_mandir}/hu/man1/sg.1*
403 %lang(id) %{_mandir}/id/man1/chsh.1*
405 %lang(it) %{_mandir}/it/man1/chfn.1*
406 %lang(it) %{_mandir}/it/man1/chsh.1*
407 %lang(it) %{_mandir}/it/man1/gpasswd.1*
408 %lang(it) %{_mandir}/it/man1/newgrp.1*
409 %lang(it) %{_mandir}/it/man1/sg.1*
411 %lang(ja) %{_mandir}/ja/man1/chage.1*
412 %lang(ja) %{_mandir}/ja/man1/chfn.1*
413 %lang(ja) %{_mandir}/ja/man1/chsh.1*
414 %lang(ja) %{_mandir}/ja/man1/expiry.1*
415 %lang(ja) %{_mandir}/ja/man1/gpasswd.1*
416 %lang(ja) %{_mandir}/ja/man1/newgrp.1*
417 %lang(ja) %{_mandir}/ja/man1/sg.1*
418 %lang(ja) %{_mandir}/ja/man8/chpasswd.8*
419 %lang(ja) %{_mandir}/ja/man8/mkpasswd.8*
420 %lang(ja) %{_mandir}/ja/man8/newusers.8*
422 %lang(ko) %{_mandir}/ko/man1/chfn.1*
423 %lang(ko) %{_mandir}/ko/man1/chsh.1*
424 %lang(ko) %{_mandir}/ko/man1/newgrp.1*
425 %lang(ko) %{_mandir}/ko/man1/sg.1*
427 %lang(pl) %{_mandir}/pl/man1/chage.1*
428 %lang(pl) %{_mandir}/pl/man1/chfn.1*
429 %lang(pl) %{_mandir}/pl/man1/chsh.1*
430 %lang(pl) %{_mandir}/pl/man1/expiry.1*
431 %lang(pl) %{_mandir}/pl/man1/gpasswd.1*
432 %lang(pl) %{_mandir}/pl/man1/newgrp.1*
433 %lang(pl) %{_mandir}/pl/man1/sg.1*
434 %lang(pl) %{_mandir}/pl/man8/chpasswd.8*
435 %lang(pl) %{_mandir}/pl/man8/mkpasswd.8*
436 %lang(pl) %{_mandir}/pl/man8/newusers.8*
438 %lang(pt_BR) %{_mandir}/pt_BR/man1/gpasswd.1*
440 %lang(zh_CN) %{_mandir}/zh_CN/man1/chfn.1*
441 %lang(zh_CN) %{_mandir}/zh_CN/man1/chsh.1*
443 %lang(zh_TW) %{_mandir}/zh_TW/man1/chfn.1*
444 %lang(zh_TW) %{_mandir}/zh_TW/man1/chsh.1*
447 # - /bin/login already in login (from util-linux.spec)
448 #%attr(755,root,root) %{_bindir}/login
449 #%{_mandir}/man1/login.1*
450 #%{_mandir}/man5/porttime.5*
451 #%lang(hu) %{_mandir}/hu/man1/login.1*
452 #%lang(id) %{_mandir}/id/man1/login.1*
453 #%lang(it) %{_mandir}/it/man1/login.1*
454 #%lang(ja) %{_mandir}/ja/man1/login.1*
455 #%lang(ja) %{_mandir}/ja/man5/porttime.5*
456 #%lang(ko) %{_mandir}/ko/man1/login.1*
457 #%lang(pl) %{_mandir}/pl/man1/login.1*
458 #%lang(pl) %{_mandir}/pl/man5/porttime.5*
460 # - /bin/su already in coreutils
461 #%attr(4755,root,root) %{_bindir}/su
462 #%{_mandir}/man1/su.1*
463 #%lang(ja) %{_mandir}/ja/man1/su.1*
464 #%lang(pl) %{_mandir}/pl/man1/su.1*
466 # - unknown reason (removed w/o comment in rev 1.27)
467 #%attr(755,root,root) %{_sbindir}/logoutd
468 #%{_mandir}/man8/logoutd.8*
469 #%lang(ja) %{_mandir}/ja/man8/logoutd.8*
470 #%lang(pl) %{_mandir}/pl/man8/logoutd.8*