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 Patch8: %{name}-setlocale_hack.patch
38 BuildRequires: autoconf
39 BuildRequires: automake >= 1.0
40 BuildRequires: gettext-devel >= 0.12.1
41 BuildRequires: pam-devel
42 BuildRequires: libtool
43 %{?with_selinux:BuildRequires: libselinux-devel}
44 Requires: pam >= 0.77.3
45 # to force proper coreutils version, so "groups" command exists
46 Requires: /usr/bin/groups
48 Provides: shadow-utils
50 Obsoletes: shadow-utils
52 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55 This package includes the programs necessary to convert standard UNIX
56 password files to the shadow password format, as well as programs for
57 command-line management of the user's accounts.
58 - pwconv - converts everything to the shadow password format,
59 - pwunconv - unconverts from shadow password, generating a file in the
60 current directory called npasswd that is a standard UNIX password
62 - pwck - checks the integrity of the password and shadow files,
63 - lastlog - prints out the last login times of all users,
64 - useradd, userdel, usermod - for accounts management,
65 - groupadd, groupdel, groupmod - for group management.
67 A number of man pages are also included that relate to these
68 utilities, and shadow passwords in general.
71 Este paquete incluye los programas necesarios para convertir Archivos
72 padrón UNIX de contraseña al formato shadow.
73 - pwconv5 - convierte todo al formato de contraseñas del shadow,
74 - pwunconv - deshace la conversión de contraseñas shadow, creando un
75 archivo en el directorio corriente llamado npasswd que es el archivo
76 padrón UNIX de contraseña,
77 - pwck - chequea la integridad de la contraseña y de los archivos
79 - lastlog enseña el último momento de login de todos los usuarios.
80 Están también incluidas, en general, varias páginas de manual sobre
81 estos utilitarios y contraseñas shadow.
84 Pakiet zawiera programy do obs³ugi mechanizmu ukrytych hase³ (shadow
85 password). Znajduj± siê w nim programy do konwersji standardowego
86 pliku hase³ do wersji shadow password a tak¿e programy do zarz±dzania
87 kontami u¿ytkowników w systemie:
88 - pwconv - konwertuje do formatu shadow password
89 - pwunconv - konwertuje z shadow password do formatu standardowego
90 pliku hase³. W bie¿±cym katalogu tworzy plik npasswd bêd±cy
91 standardowym plikiem z has³ami,
92 - lastlog - wy¶wietla czas logowania u¿ytkowników,
93 - useradd, userdel, usermod - do zarz±dzania kontami u¿ytkowników,
94 - groupadd, groupdel, groupmod - do zarz±dzania grupami.
98 Programy znajduj±ce siê w tym pakiecie s± niezbêdne do prawid³owej
99 pracy systemu i podobnie jak pakiet z bibliotekami systemowymi (glibc)
100 nigdy nie powinien zostaæ odinstalowany!
102 %description -l pt_BR
103 Este pacote inclui os programas necessários para converter
104 arquivos-padrão UNIX de senha para o formato shadow.
105 - pwconv - converte tudo para o formato de senhas do shadow,
106 - pwunconv - desconverte senhas shadow, gerando um arquivo no
107 diretório corrente chamado npasswd que é o arquivo-padrão UNIX de
109 - pwck - checa a integridade da senha e dos arquivos shadow,
110 - lastlog - mostra o último momento de login de todos os usuários.
112 Várias páginas de manual estão também incluídas sobre estes
113 utilitários e senhas shadow em geral.
116 Summary: shadow - not often used programs
117 Summary(pl): shadow - programy nieczêsto u¿ywane
118 Group: Applications/System
119 Requires: %{name} = %{epoch}:%{version}-%{release}
121 Conflicts: util-linux < 2.12-10
124 Programs for shadow not often used. If you have small system you may
127 %description extras -l pl
128 Programy nieczêsto u¿ywane. W ma³ych systemach mo¿na je pomin±æ.
139 %{?with_selinux:%patch7 -p1}
150 %{?with_shared:--enable-shared --disable-static} \
156 %{?with_selinux:--with-selinux} \
157 --without-included-gettext
161 rm -rf $RPM_BUILD_ROOT
162 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{default,pam.d,security,skel/tmp}
165 DESTDIR=$RPM_BUILD_ROOT
167 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/login.defs
168 install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/default/useradd
169 install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/chage
170 install %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/shadow
171 install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/chsh
172 install %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/chfn
173 install %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/passwd
174 install %{SOURCE8} $RPM_BUILD_ROOT/etc/pam.d/useradd
176 > $RPM_BUILD_ROOT%{_sysconfdir}/shadow
177 > $RPM_BUILD_ROOT/etc/security/chfn.allow
178 > $RPM_BUILD_ROOT/etc/security/chsh.allow
180 # vigr symlink is created by make install, but in wrong dir
181 ln -sf vipw $RPM_BUILD_ROOT%{_sbindir}/vigr
183 echo '.so newgrp.1' > $RPM_BUILD_ROOT%{_mandir}/fr/man1/sg.1
184 echo '.so newgrp.1' > $RPM_BUILD_ROOT%{_mandir}/it/man1/sg.1
185 echo '.so newgrp.1' > $RPM_BUILD_ROOT%{_mandir}/ko/man1/sg.1
190 rm -rf $RPM_BUILD_ROOT
193 %{?with_shared:/sbin/ldconfig}
194 if [ ! -f /etc/shadow ]; then
198 %{?with_shared:%postun -p /sbin/ldconfig}
200 %files -f %{name}.lang
201 %defattr(644,root,root,755)
202 %doc ChangeLog NEWS TODO doc/{HOWTO,README,README.linux,README.pam,WISHLIST}
203 %attr(750,root,root) %dir %{_sysconfdir}/default
204 %attr(640,root,root) %config %verify(not md5 size mtime) %{_sysconfdir}/default/*
205 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/chage
206 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/passwd
207 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/shadow
208 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/useradd
209 %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/login.defs
210 %attr(600,root,root) %config(noreplace) %verify(not md5 size mtime) %ghost %{_sysconfdir}/shadow
213 %{?with_shared:%attr(755,root,root) %{_libdir}/lib*.so.*.*}
214 %attr(755,root,root) %{_sbindir}/chpasswd
215 %attr(755,root,root) %{_sbindir}/groupadd
216 %attr(755,root,root) %{_sbindir}/groupdel
217 %attr(755,root,root) %{_sbindir}/groupmod
218 %attr(755,root,root) %{_sbindir}/grpck
219 %attr(755,root,root) %{_sbindir}/grpconv
220 %attr(755,root,root) %{_sbindir}/grpunconv
221 %attr(755,root,root) %{_sbindir}/pwck
222 %attr(755,root,root) %{_sbindir}/pwconv
223 %attr(755,root,root) %{_sbindir}/pwunconv
224 %attr(755,root,root) %{_sbindir}/useradd
225 %attr(755,root,root) %{_sbindir}/userdel
226 %attr(755,root,root) %{_sbindir}/usermod
227 %attr(755,root,root) %{_sbindir}/vigr
228 %attr(755,root,root) %{_sbindir}/vipw
229 %attr(755,root,root) %{_bindir}/faillog
230 %attr(755,root,root) %{_bindir}/lastlog
231 %attr(4755,root,root) %{_bindir}/passwd
232 %{_mandir}/man1/passwd.1*
233 %{_mandir}/man5/faillog.5*
234 %{_mandir}/man5/login.access.5*
235 %{_mandir}/man5/login.defs.5*
236 %{_mandir}/man5/passwd.5*
237 %{_mandir}/man5/shadow.5*
238 %{_mandir}/man5/suauth.5*
239 %{_mandir}/man8/faillog.8*
240 %{_mandir}/man8/groupadd.8*
241 %{_mandir}/man8/groupdel.8*
242 %{_mandir}/man8/groupmod.8*
243 %{_mandir}/man8/grpck.8*
244 %{_mandir}/man8/grpconv.8*
245 %{_mandir}/man8/grpunconv.8*
246 %{_mandir}/man8/lastlog.8*
247 %{_mandir}/man8/pwck.8*
248 %{_mandir}/man8/pwconv.8*
249 %{_mandir}/man8/pwunconv.8*
250 %{_mandir}/man8/useradd.8*
251 %{_mandir}/man8/userdel.8*
252 %{_mandir}/man8/usermod.8*
253 %{_mandir}/man8/vigr.8*
254 %{_mandir}/man8/vipw.8*
255 %{_mandir}/man8/chpasswd.8*
257 %lang(cs) %{_mandir}/cs/man5/passwd.5*
258 %lang(cs) %{_mandir}/cs/man5/shadow.5*
260 %lang(de) %{_mandir}/de/man1/passwd.1*
262 %lang(es) %{_mandir}/es/man1/passwd.1*
264 %lang(fr) %{_mandir}/fr/man1/passwd.1*
265 %lang(fr) %{_mandir}/fr/man5/faillog.5*
266 %lang(fr) %{_mandir}/fr/man5/passwd.5*
267 %lang(fr) %{_mandir}/fr/man5/shadow.5*
268 %lang(fr) %{_mandir}/fr/man8/adduser.8*
269 %lang(fr) %{_mandir}/fr/man8/chpasswd.8*
270 %lang(fr) %{_mandir}/fr/man8/useradd.8*
271 %lang(fr) %{_mandir}/fr/man8/userdel.8*
272 %lang(fr) %{_mandir}/fr/man8/usermod.8*
274 %lang(hu) %{_mandir}/hu/man1/passwd.1*
276 %lang(id) %{_mandir}/id/man8/useradd.8*
278 %lang(it) %{_mandir}/it/man1/passwd.1*
279 %lang(it) %{_mandir}/it/man5/passwd.5*
280 %lang(it) %{_mandir}/it/man5/shadow.5*
281 %lang(it) %{_mandir}/it/man8/groupadd.8*
282 %lang(it) %{_mandir}/it/man8/groupdel.8*
283 %lang(it) %{_mandir}/it/man8/groupmod.8*
284 %lang(it) %{_mandir}/it/man8/grpck.8*
285 %lang(it) %{_mandir}/it/man8/grpconv.8*
286 %lang(it) %{_mandir}/it/man8/grpunconv.8*
287 %lang(it) %{_mandir}/it/man8/lastlog.8*
288 %lang(it) %{_mandir}/it/man8/pwconv.8*
289 %lang(it) %{_mandir}/it/man8/pwunconv.8*
290 %lang(it) %{_mandir}/it/man8/useradd.8*
291 %lang(it) %{_mandir}/it/man8/userdel.8*
292 %lang(it) %{_mandir}/it/man8/usermod.8*
293 %lang(it) %{_mandir}/it/man8/vigr.8*
294 %lang(it) %{_mandir}/it/man8/vipw.8*
296 %lang(ja) %{_mandir}/ja/man1/passwd.1*
297 %lang(ja) %{_mandir}/ja/man5/faillog.5*
298 %lang(ja) %{_mandir}/ja/man5/login.access.5*
299 %lang(ja) %{_mandir}/ja/man5/login.defs.5*
300 %lang(ja) %{_mandir}/ja/man5/passwd.5*
301 %lang(ja) %{_mandir}/ja/man5/shadow.5*
302 %lang(ja) %{_mandir}/ja/man5/suauth.5*
303 %lang(ja) %{_mandir}/ja/man8/faillog.8*
304 %lang(ja) %{_mandir}/ja/man8/groupadd.8*
305 %lang(ja) %{_mandir}/ja/man8/groupdel.8*
306 %lang(ja) %{_mandir}/ja/man8/groupmod.8*
307 %lang(ja) %{_mandir}/ja/man8/grpck.8*
308 %lang(ja) %{_mandir}/ja/man8/grpconv.8*
309 %lang(ja) %{_mandir}/ja/man8/grpunconv.8*
310 %lang(ja) %{_mandir}/ja/man8/lastlog.8*
311 %lang(ja) %{_mandir}/ja/man8/pwck.8*
312 %lang(ja) %{_mandir}/ja/man8/pwconv.8*
313 %lang(ja) %{_mandir}/ja/man8/pwunconv.8*
314 %lang(ja) %{_mandir}/ja/man8/useradd.8*
315 %lang(ja) %{_mandir}/ja/man8/userdel.8*
316 %lang(ja) %{_mandir}/ja/man8/usermod.8*
317 %lang(ja) %{_mandir}/ja/man8/vipw.8*
318 %lang(ja) %{_mandir}/ja/man8/vigr.8*
320 %lang(ko) %{_mandir}/ko/man5/passwd.5*
322 %lang(pl) %{_mandir}/pl/man1/passwd.1*
323 %lang(pl) %{_mandir}/pl/man5/faillog.5*
324 %lang(pl) %{_mandir}/pl/man5/login.access.5*
325 %lang(pl) %{_mandir}/pl/man5/login.defs.5*
326 %lang(pl) %{_mandir}/pl/man5/passwd.5*
327 %lang(pl) %{_mandir}/pl/man5/shadow.5*
328 %lang(pl) %{_mandir}/pl/man5/suauth.5*
329 %lang(pl) %{_mandir}/pl/man8/faillog.8*
330 %lang(pl) %{_mandir}/pl/man8/groupadd.8*
331 %lang(pl) %{_mandir}/pl/man8/groupdel.8*
332 %lang(pl) %{_mandir}/pl/man8/groupmod.8*
333 %lang(pl) %{_mandir}/pl/man8/grpck.8*
334 %lang(pl) %{_mandir}/pl/man8/grpconv.8*
335 %lang(pl) %{_mandir}/pl/man8/grpunconv.8*
336 %lang(pl) %{_mandir}/pl/man8/lastlog.8*
337 %lang(pl) %{_mandir}/pl/man8/pwck.8*
338 %lang(pl) %{_mandir}/pl/man8/pwconv.8*
339 %lang(pl) %{_mandir}/pl/man8/pwunconv.8*
340 %lang(pl) %{_mandir}/pl/man8/useradd.8*
341 %lang(pl) %{_mandir}/pl/man8/userdel.8*
342 %lang(pl) %{_mandir}/pl/man8/usermod.8*
343 %lang(pl) %{_mandir}/pl/man8/vigr.8*
344 %lang(pl) %{_mandir}/pl/man8/vipw.8*
346 %lang(pt_BR) %{_mandir}/pt_BR/man5/shadow.5*
347 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupadd.8*
348 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupdel.8*
349 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupmod.8*
351 %lang(ru) %{_mandir}/ru/man5/passwd.5*
353 %lang(zh_CN) %{_mandir}/zh_CN/man8/chpasswd.8*
354 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupadd.8*
355 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupdel.8*
356 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupmod.8*
357 %lang(zh_CN) %{_mandir}/zh_CN/man8/useradd.8*
358 %lang(zh_CN) %{_mandir}/zh_CN/man8/userdel.8*
359 %lang(zh_CN) %{_mandir}/zh_CN/man8/usermod.8*
361 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupadd.8*
362 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupdel.8*
363 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupmod.8*
364 %lang(zh_TW) %{_mandir}/zh_TW/man8/useradd.8*
365 %lang(zh_TW) %{_mandir}/zh_TW/man8/userdel.8*
366 %lang(zh_TW) %{_mandir}/zh_TW/man8/usermod.8*
369 %defattr(644,root,root,755)
370 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/chfn
371 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) /etc/pam.d/chsh
372 %attr(640,root,root) %config %verify(not md5 size mtime) /etc/security/*
373 %attr(755,root,root) %{_bindir}/chage
374 %attr(4755,root,root) %{_bindir}/chfn
375 %attr(4755,root,root) %{_bindir}/chsh
376 %attr(4755,root,root) %{_bindir}/expiry
377 %attr(4755,root,root) %{_bindir}/gpasswd
378 %attr(755,root,root) %{_bindir}/newgrp
379 %attr(755,root,root) %{_bindir}/sg
380 %attr(755,root,root) %{_sbindir}/mkpasswd
381 %attr(755,root,root) %{_sbindir}/newusers
383 %{_mandir}/man1/chage.1*
384 %{_mandir}/man1/chfn.1*
385 %{_mandir}/man1/chsh.1*
386 %{_mandir}/man1/expiry.1*
387 %{_mandir}/man1/gpasswd.1*
388 %{_mandir}/man1/newgrp.1*
389 %{_mandir}/man1/sg.1*
390 %{_mandir}/man8/mkpasswd.8*
391 %{_mandir}/man8/newusers.8*
393 %lang(de) %{_mandir}/de/man1/chfn.1*
394 %lang(de) %{_mandir}/de/man1/chsh.1*
396 %lang(fr) %{_mandir}/fr/man1/chage.1*
397 %lang(fr) %{_mandir}/fr/man1/chsh.1*
398 %lang(fr) %{_mandir}/fr/man1/gpasswd.1*
399 %lang(fr) %{_mandir}/fr/man1/newgrp.1*
400 %lang(fr) %{_mandir}/fr/man1/sg.1*
402 %lang(hu) %{_mandir}/hu/man1/chsh.1*
403 %lang(hu) %{_mandir}/hu/man1/gpasswd.1*
404 %lang(hu) %{_mandir}/hu/man1/newgrp.1*
405 %lang(hu) %{_mandir}/hu/man1/sg.1*
407 %lang(id) %{_mandir}/id/man1/chsh.1*
409 %lang(it) %{_mandir}/it/man1/chfn.1*
410 %lang(it) %{_mandir}/it/man1/chsh.1*
411 %lang(it) %{_mandir}/it/man1/gpasswd.1*
412 %lang(it) %{_mandir}/it/man1/newgrp.1*
413 %lang(it) %{_mandir}/it/man1/sg.1*
415 %lang(ja) %{_mandir}/ja/man1/chage.1*
416 %lang(ja) %{_mandir}/ja/man1/chfn.1*
417 %lang(ja) %{_mandir}/ja/man1/chsh.1*
418 %lang(ja) %{_mandir}/ja/man1/expiry.1*
419 %lang(ja) %{_mandir}/ja/man1/gpasswd.1*
420 %lang(ja) %{_mandir}/ja/man1/newgrp.1*
421 %lang(ja) %{_mandir}/ja/man1/sg.1*
422 %lang(ja) %{_mandir}/ja/man8/chpasswd.8*
423 %lang(ja) %{_mandir}/ja/man8/mkpasswd.8*
424 %lang(ja) %{_mandir}/ja/man8/newusers.8*
426 %lang(ko) %{_mandir}/ko/man1/chfn.1*
427 %lang(ko) %{_mandir}/ko/man1/chsh.1*
428 %lang(ko) %{_mandir}/ko/man1/newgrp.1*
429 %lang(ko) %{_mandir}/ko/man1/sg.1*
431 %lang(pl) %{_mandir}/pl/man1/chage.1*
432 %lang(pl) %{_mandir}/pl/man1/chfn.1*
433 %lang(pl) %{_mandir}/pl/man1/chsh.1*
434 %lang(pl) %{_mandir}/pl/man1/expiry.1*
435 %lang(pl) %{_mandir}/pl/man1/gpasswd.1*
436 %lang(pl) %{_mandir}/pl/man1/newgrp.1*
437 %lang(pl) %{_mandir}/pl/man1/sg.1*
438 %lang(pl) %{_mandir}/pl/man8/chpasswd.8*
439 %lang(pl) %{_mandir}/pl/man8/mkpasswd.8*
440 %lang(pl) %{_mandir}/pl/man8/newusers.8*
442 %lang(pt_BR) %{_mandir}/pt_BR/man1/gpasswd.1*
444 %lang(zh_CN) %{_mandir}/zh_CN/man1/chfn.1*
445 %lang(zh_CN) %{_mandir}/zh_CN/man1/chsh.1*
447 %lang(zh_TW) %{_mandir}/zh_TW/man1/chfn.1*
448 %lang(zh_TW) %{_mandir}/zh_TW/man1/chsh.1*
451 # - /bin/login already in login (from util-linux.spec)
452 #%attr(755,root,root) %{_bindir}/login
453 #%{_mandir}/man1/login.1*
454 #%{_mandir}/man5/porttime.5*
455 #%lang(hu) %{_mandir}/hu/man1/login.1*
456 #%lang(id) %{_mandir}/id/man1/login.1*
457 #%lang(it) %{_mandir}/it/man1/login.1*
458 #%lang(ja) %{_mandir}/ja/man1/login.1*
459 #%lang(ja) %{_mandir}/ja/man5/porttime.5*
460 #%lang(ko) %{_mandir}/ko/man1/login.1*
461 #%lang(pl) %{_mandir}/pl/man1/login.1*
462 #%lang(pl) %{_mandir}/pl/man5/porttime.5*
464 # - /bin/su already in coreutils
465 #%attr(4755,root,root) %{_bindir}/su
466 #%{_mandir}/man1/su.1*
467 #%lang(ja) %{_mandir}/ja/man1/su.1*
468 #%lang(pl) %{_mandir}/pl/man1/su.1*
470 # - unknown reason (removed w/o comment in rev 1.27)
471 #%attr(755,root,root) %{_sbindir}/logoutd
472 #%{_mandir}/man8/logoutd.8*
473 #%lang(ja) %{_mandir}/ja/man8/logoutd.8*
474 #%lang(pl) %{_mandir}/pl/man8/logoutd.8*