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: 3ca79b02c0aaa82128f4c32cb68ffe4f
21 Source1: %{name}-login.defs
22 Source2: %{name}.useradd
29 Patch0: %{name}-utmpx.patch
30 Patch1: %{name}-man_and_po.patch
31 Patch2: %{name}-pld.patch
32 Patch3: %{name}-chage_expdays.patch
33 Patch4: %{name}-typo.patch
34 BuildRequires: autoconf
35 BuildRequires: automake >= 1.0
36 BuildRequires: gettext-devel >= 0.12.1
37 BuildRequires: pam-devel
38 BuildRequires: libtool
39 %{?with_selinux:BuildRequires: libselinux-devel}
40 Requires: pam >= 0.77.3
41 # to force proper coreutils version, so "groups" command exists
42 Requires: /usr/bin/groups
44 Provides: shadow-utils
46 Obsoletes: shadow-utils
48 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51 This package includes the programs necessary to convert standard UNIX
52 password files to the shadow password format, as well as programs for
53 command-line management of the user's accounts.
54 - pwconv - converts everything to the shadow password format,
55 - pwunconv - unconverts from shadow password, generating a file in the
56 current directory called npasswd that is a standard UNIX password
58 - pwck - checks the integrity of the password and shadow files,
59 - lastlog - prints out the last login times of all users,
60 - useradd, userdel, usermod - for accounts management,
61 - groupadd, groupdel, groupmod - for group management.
63 A number of man pages are also included that relate to these
64 utilities, and shadow passwords in general.
67 Este paquete incluye los programas necesarios para convertir Archivos
68 padrón UNIX de contraseña al formato shadow.
69 - pwconv5 - convierte todo al formato de contraseñas del shadow,
70 - pwunconv - deshace la conversión de contraseñas shadow, creando un
71 archivo en el directorio corriente llamado npasswd que es el archivo
72 padrón UNIX de contraseña,
73 - pwck - chequea la integridad de la contraseña y de los archivos
75 - lastlog enseña el último momento de login de todos los usuarios.
76 Están también incluidas, en general, varias páginas de manual sobre
77 estos utilitarios y contraseñas shadow.
80 Pakiet zawiera programy do obs³ugi mechanizmu ukrytych hase³ (shadow
81 password). Znajduj± siê w nim programy do konwersji standardowego
82 pliku hase³ do wersji shadow password a tak¿e programy do zarz±dzania
83 kontami u¿ytkowników w systemie:
84 - pwconv - konwertuje do formatu shadow password
85 - pwunconv - konwertuje z shadow password do formatu standardowego
86 pliku hase³. W bie¿±cym katalogu tworzy plik npasswd bêd±cy
87 standardowym plikiem z has³ami,
88 - lastlog - wy¶wietla czas logowania u¿ytkowników,
89 - useradd, userdel, usermod - do zarz±dzania kontami u¿ytkowników,
90 - groupadd, groupdel, groupmod - do zarz±dzania grupami.
94 Programy znajduj±ce siê w tym pakiecie s± niezbêdne do prawid³owej
95 pracy systemu i podobnie jak pakiet z bibliotekami systemowymi (glibc)
96 nigdy nie powinien zostaæ odinstalowany!
99 Este pacote inclui os programas necessários para converter
100 arquivos-padrão UNIX de senha para o formato shadow.
101 - pwconv - converte tudo para o formato de senhas do shadow,
102 - pwunconv - desconverte senhas shadow, gerando um arquivo no
103 diretório corrente chamado npasswd que é o arquivo-padrão UNIX de
105 - pwck - checa a integridade da senha e dos arquivos shadow,
106 - lastlog - mostra o último momento de login de todos os usuários.
108 Várias páginas de manual estão também incluídas sobre estes
109 utilitários e senhas shadow em geral.
112 Summary: shadow - not often used programs
113 Summary(pl): shadow - programy nieczêsto u¿ywane
114 Group: Applications/System
115 Requires: %{name} = %{epoch}:%{version}-%{release}
117 Conflicts: util-linux < 2.12-10
120 Programs for shadow not often used. If you have small system you may
123 %description extras -l pl
124 Programy nieczêsto u¿ywane. W ma³ych systemach mo¿na je pomin±æ.
142 %{?with_shared:--enable-shared --disable-static} \
148 %{?with_selinux:--with-selinux} \
149 --without-included-gettext
153 rm -rf $RPM_BUILD_ROOT
154 install -d $RPM_BUILD_ROOT%{_sysconfdir}/{default,pam.d,security,skel/tmp}
157 DESTDIR=$RPM_BUILD_ROOT
159 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/login.defs
160 install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/default/useradd
161 install %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/chage
162 install %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/shadow
163 install %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/chsh
164 install %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/chfn
165 install %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/passwd
166 install %{SOURCE8} $RPM_BUILD_ROOT/etc/pam.d/useradd
168 > $RPM_BUILD_ROOT%{_sysconfdir}/shadow
169 > $RPM_BUILD_ROOT/etc/security/chfn.allow
170 > $RPM_BUILD_ROOT/etc/security/chsh.allow
172 # vigr symlink is created by make install, but in wrong dir
173 ln -sf vipw $RPM_BUILD_ROOT%{_sbindir}/vigr
175 echo '.so newgrp.1' > $RPM_BUILD_ROOT%{_mandir}/fr/man1/sg.1
176 echo '.so newgrp.1' > $RPM_BUILD_ROOT%{_mandir}/it/man1/sg.1
177 echo '.so newgrp.1' > $RPM_BUILD_ROOT%{_mandir}/ko/man1/sg.1
180 # invalid static library
181 rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
184 # /bin/login already in login (from util-linux.spec)
185 rm -f $RPM_BUILD_ROOT{%{_bindir}/login,%{_sbindir}/logoutd,%{_mandir}/{,*/}man1/login.1*,%{_mandir}/{,*/}man5/porttime.5,%{_mandir}/{,*/}man8/logoutd.8}
186 # /bin/su already in coreutils
187 rm -f $RPM_BUILD_ROOT{%{_bindir}/su,%{_mandir}/{,*/}man1/su.1}
188 # /usr/bin/groups already in coreutils
189 rm -f $RPM_BUILD_ROOT{%{_bindir}/groups,%{_mandir}/{,*/}man1/groups.1}
190 # /etc/limits not used with pam
191 rm -f $RPM_BUILD_ROOT%{_mandir}/{,*/}man5/limits.5
196 rm -rf $RPM_BUILD_ROOT
199 %{?with_shared:/sbin/ldconfig}
200 if [ ! -f /etc/shadow ]; then
204 %{?with_shared:%postun -p /sbin/ldconfig}
206 %files -f %{name}.lang
207 %defattr(644,root,root,755)
208 %doc ChangeLog NEWS TODO doc/{HOWTO,README,README.linux,README.pam,WISHLIST}
209 %attr(750,root,root) %dir %{_sysconfdir}/default
210 %attr(640,root,root) %config %verify(not md5 mtime size) %{_sysconfdir}/default/*
211 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chage
212 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/passwd
213 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/shadow
214 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/useradd
215 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/login.defs
216 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/shadow
219 %{?with_shared:%attr(755,root,root) %{_libdir}/lib*.so.*.*}
220 %attr(755,root,root) %{_sbindir}/chpasswd
221 %attr(755,root,root) %{_sbindir}/groupadd
222 %attr(755,root,root) %{_sbindir}/groupdel
223 %attr(755,root,root) %{_sbindir}/groupmod
224 %attr(755,root,root) %{_sbindir}/grpck
225 %attr(755,root,root) %{_sbindir}/grpconv
226 %attr(755,root,root) %{_sbindir}/grpunconv
227 %attr(755,root,root) %{_sbindir}/pwck
228 %attr(755,root,root) %{_sbindir}/pwconv
229 %attr(755,root,root) %{_sbindir}/pwunconv
230 %attr(755,root,root) %{_sbindir}/useradd
231 %attr(755,root,root) %{_sbindir}/userdel
232 %attr(755,root,root) %{_sbindir}/usermod
233 %attr(755,root,root) %{_sbindir}/vigr
234 %attr(755,root,root) %{_sbindir}/vipw
235 %attr(755,root,root) %{_bindir}/faillog
236 %attr(755,root,root) %{_bindir}/lastlog
237 %attr(4755,root,root) %{_bindir}/passwd
238 %{_mandir}/man1/passwd.1*
239 %{_mandir}/man5/faillog.5*
240 %{_mandir}/man5/login.access.5*
241 %{_mandir}/man5/login.defs.5*
242 %{_mandir}/man5/passwd.5*
243 %{_mandir}/man5/shadow.5*
244 %{_mandir}/man5/suauth.5*
245 %{_mandir}/man8/faillog.8*
246 %{_mandir}/man8/groupadd.8*
247 %{_mandir}/man8/groupdel.8*
248 %{_mandir}/man8/groupmod.8*
249 %{_mandir}/man8/grpck.8*
250 %{_mandir}/man8/grpconv.8*
251 %{_mandir}/man8/grpunconv.8*
252 %{_mandir}/man8/lastlog.8*
253 %{_mandir}/man8/pwck.8*
254 %{_mandir}/man8/pwconv.8*
255 %{_mandir}/man8/pwunconv.8*
256 %{_mandir}/man8/useradd.8*
257 %{_mandir}/man8/userdel.8*
258 %{_mandir}/man8/usermod.8*
259 %{_mandir}/man8/vigr.8*
260 %{_mandir}/man8/vipw.8*
261 %{_mandir}/man8/chpasswd.8*
263 %lang(cs) %{_mandir}/cs/man5/passwd.5*
264 %lang(cs) %{_mandir}/cs/man5/shadow.5*
266 %lang(de) %{_mandir}/de/man1/passwd.1*
268 %lang(es) %{_mandir}/es/man1/passwd.1*
270 %lang(fr) %{_mandir}/fr/man1/passwd.1*
271 %lang(fr) %{_mandir}/fr/man5/faillog.5*
272 %lang(fr) %{_mandir}/fr/man5/passwd.5*
273 %lang(fr) %{_mandir}/fr/man5/shadow.5*
274 %lang(fr) %{_mandir}/fr/man8/chpasswd.8*
275 %lang(fr) %{_mandir}/fr/man8/useradd.8*
276 %lang(fr) %{_mandir}/fr/man8/userdel.8*
277 %lang(fr) %{_mandir}/fr/man8/usermod.8*
279 %lang(hu) %{_mandir}/hu/man1/passwd.1*
281 %lang(id) %{_mandir}/id/man8/useradd.8*
283 %lang(it) %{_mandir}/it/man1/passwd.1*
284 %lang(it) %{_mandir}/it/man5/passwd.5*
285 %lang(it) %{_mandir}/it/man5/shadow.5*
286 %lang(it) %{_mandir}/it/man8/groupadd.8*
287 %lang(it) %{_mandir}/it/man8/groupdel.8*
288 %lang(it) %{_mandir}/it/man8/groupmod.8*
289 %lang(it) %{_mandir}/it/man8/grpck.8*
290 %lang(it) %{_mandir}/it/man8/grpconv.8*
291 %lang(it) %{_mandir}/it/man8/grpunconv.8*
292 %lang(it) %{_mandir}/it/man8/lastlog.8*
293 %lang(it) %{_mandir}/it/man8/pwconv.8*
294 %lang(it) %{_mandir}/it/man8/pwunconv.8*
295 %lang(it) %{_mandir}/it/man8/useradd.8*
296 %lang(it) %{_mandir}/it/man8/userdel.8*
297 %lang(it) %{_mandir}/it/man8/usermod.8*
298 %lang(it) %{_mandir}/it/man8/vigr.8*
299 %lang(it) %{_mandir}/it/man8/vipw.8*
301 %lang(ja) %{_mandir}/ja/man1/passwd.1*
302 %lang(ja) %{_mandir}/ja/man5/faillog.5*
303 %lang(ja) %{_mandir}/ja/man5/login.access.5*
304 %lang(ja) %{_mandir}/ja/man5/login.defs.5*
305 %lang(ja) %{_mandir}/ja/man5/passwd.5*
306 %lang(ja) %{_mandir}/ja/man5/shadow.5*
307 %lang(ja) %{_mandir}/ja/man5/suauth.5*
308 %lang(ja) %{_mandir}/ja/man8/faillog.8*
309 %lang(ja) %{_mandir}/ja/man8/groupadd.8*
310 %lang(ja) %{_mandir}/ja/man8/groupdel.8*
311 %lang(ja) %{_mandir}/ja/man8/groupmod.8*
312 %lang(ja) %{_mandir}/ja/man8/grpck.8*
313 %lang(ja) %{_mandir}/ja/man8/grpconv.8*
314 %lang(ja) %{_mandir}/ja/man8/grpunconv.8*
315 %lang(ja) %{_mandir}/ja/man8/lastlog.8*
316 %lang(ja) %{_mandir}/ja/man8/pwck.8*
317 %lang(ja) %{_mandir}/ja/man8/pwconv.8*
318 %lang(ja) %{_mandir}/ja/man8/pwunconv.8*
319 %lang(ja) %{_mandir}/ja/man8/useradd.8*
320 %lang(ja) %{_mandir}/ja/man8/userdel.8*
321 %lang(ja) %{_mandir}/ja/man8/usermod.8*
322 %lang(ja) %{_mandir}/ja/man8/vipw.8*
323 %lang(ja) %{_mandir}/ja/man8/vigr.8*
325 %lang(ko) %{_mandir}/ko/man5/passwd.5*
327 %lang(pl) %{_mandir}/pl/man1/passwd.1*
328 %lang(pl) %{_mandir}/pl/man5/faillog.5*
329 %lang(pl) %{_mandir}/pl/man5/login.access.5*
330 %lang(pl) %{_mandir}/pl/man5/login.defs.5*
331 %lang(pl) %{_mandir}/pl/man5/passwd.5*
332 %lang(pl) %{_mandir}/pl/man5/shadow.5*
333 %lang(pl) %{_mandir}/pl/man5/suauth.5*
334 %lang(pl) %{_mandir}/pl/man8/faillog.8*
335 %lang(pl) %{_mandir}/pl/man8/groupadd.8*
336 %lang(pl) %{_mandir}/pl/man8/groupdel.8*
337 %lang(pl) %{_mandir}/pl/man8/groupmod.8*
338 %lang(pl) %{_mandir}/pl/man8/grpck.8*
339 %lang(pl) %{_mandir}/pl/man8/grpconv.8*
340 %lang(pl) %{_mandir}/pl/man8/grpunconv.8*
341 %lang(pl) %{_mandir}/pl/man8/lastlog.8*
342 %lang(pl) %{_mandir}/pl/man8/pwck.8*
343 %lang(pl) %{_mandir}/pl/man8/pwconv.8*
344 %lang(pl) %{_mandir}/pl/man8/pwunconv.8*
345 %lang(pl) %{_mandir}/pl/man8/useradd.8*
346 %lang(pl) %{_mandir}/pl/man8/userdel.8*
347 %lang(pl) %{_mandir}/pl/man8/usermod.8*
348 %lang(pl) %{_mandir}/pl/man8/vigr.8*
349 %lang(pl) %{_mandir}/pl/man8/vipw.8*
351 %lang(pt_BR) %{_mandir}/pt_BR/man5/shadow.5*
352 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupadd.8*
353 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupdel.8*
354 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupmod.8*
356 %lang(ru) %{_mandir}/ru/man5/passwd.5*
358 %lang(zh_CN) %{_mandir}/zh_CN/man8/chpasswd.8*
359 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupadd.8*
360 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupdel.8*
361 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupmod.8*
362 %lang(zh_CN) %{_mandir}/zh_CN/man8/useradd.8*
363 %lang(zh_CN) %{_mandir}/zh_CN/man8/userdel.8*
364 %lang(zh_CN) %{_mandir}/zh_CN/man8/usermod.8*
366 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupadd.8*
367 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupdel.8*
368 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupmod.8*
369 %lang(zh_TW) %{_mandir}/zh_TW/man8/useradd.8*
370 %lang(zh_TW) %{_mandir}/zh_TW/man8/userdel.8*
371 %lang(zh_TW) %{_mandir}/zh_TW/man8/usermod.8*
374 %defattr(644,root,root,755)
375 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chfn
376 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chsh
377 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/chfn.allow
378 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/chsh.allow
379 %attr(755,root,root) %{_bindir}/chage
380 %attr(4755,root,root) %{_bindir}/chfn
381 %attr(4755,root,root) %{_bindir}/chsh
382 %attr(4755,root,root) %{_bindir}/expiry
383 %attr(4755,root,root) %{_bindir}/gpasswd
384 %attr(755,root,root) %{_bindir}/newgrp
385 %attr(755,root,root) %{_bindir}/sg
386 %attr(755,root,root) %{_sbindir}/mkpasswd
387 %attr(755,root,root) %{_sbindir}/newusers
389 %{_mandir}/man1/chage.1*
390 %{_mandir}/man1/chfn.1*
391 %{_mandir}/man1/chsh.1*
392 %{_mandir}/man1/expiry.1*
393 %{_mandir}/man1/gpasswd.1*
394 %{_mandir}/man1/newgrp.1*
395 %{_mandir}/man1/sg.1*
396 %{_mandir}/man8/mkpasswd.8*
397 %{_mandir}/man8/newusers.8*
399 %lang(de) %{_mandir}/de/man1/chfn.1*
400 %lang(de) %{_mandir}/de/man1/chsh.1*
402 %lang(fr) %{_mandir}/fr/man1/chage.1*
403 %lang(fr) %{_mandir}/fr/man1/chsh.1*
404 %lang(fr) %{_mandir}/fr/man1/gpasswd.1*
405 %lang(fr) %{_mandir}/fr/man1/newgrp.1*
406 %lang(fr) %{_mandir}/fr/man1/sg.1*
408 %lang(hu) %{_mandir}/hu/man1/chsh.1*
409 %lang(hu) %{_mandir}/hu/man1/gpasswd.1*
410 %lang(hu) %{_mandir}/hu/man1/newgrp.1*
411 %lang(hu) %{_mandir}/hu/man1/sg.1*
413 %lang(id) %{_mandir}/id/man1/chsh.1*
415 %lang(it) %{_mandir}/it/man1/chfn.1*
416 %lang(it) %{_mandir}/it/man1/chsh.1*
417 %lang(it) %{_mandir}/it/man1/gpasswd.1*
418 %lang(it) %{_mandir}/it/man1/newgrp.1*
419 %lang(it) %{_mandir}/it/man1/sg.1*
421 %lang(ja) %{_mandir}/ja/man1/chage.1*
422 %lang(ja) %{_mandir}/ja/man1/chfn.1*
423 %lang(ja) %{_mandir}/ja/man1/chsh.1*
424 %lang(ja) %{_mandir}/ja/man1/expiry.1*
425 %lang(ja) %{_mandir}/ja/man1/gpasswd.1*
426 %lang(ja) %{_mandir}/ja/man1/newgrp.1*
427 %lang(ja) %{_mandir}/ja/man1/sg.1*
428 %lang(ja) %{_mandir}/ja/man8/chpasswd.8*
429 %lang(ja) %{_mandir}/ja/man8/mkpasswd.8*
430 %lang(ja) %{_mandir}/ja/man8/newusers.8*
432 %lang(ko) %{_mandir}/ko/man1/chfn.1*
433 %lang(ko) %{_mandir}/ko/man1/chsh.1*
434 %lang(ko) %{_mandir}/ko/man1/newgrp.1*
435 %lang(ko) %{_mandir}/ko/man1/sg.1*
437 %lang(pl) %{_mandir}/pl/man1/chage.1*
438 %lang(pl) %{_mandir}/pl/man1/chfn.1*
439 %lang(pl) %{_mandir}/pl/man1/chsh.1*
440 %lang(pl) %{_mandir}/pl/man1/expiry.1*
441 %lang(pl) %{_mandir}/pl/man1/gpasswd.1*
442 %lang(pl) %{_mandir}/pl/man1/newgrp.1*
443 %lang(pl) %{_mandir}/pl/man1/sg.1*
444 %lang(pl) %{_mandir}/pl/man8/chpasswd.8*
445 %lang(pl) %{_mandir}/pl/man8/mkpasswd.8*
446 %lang(pl) %{_mandir}/pl/man8/newusers.8*
448 %lang(pt_BR) %{_mandir}/pt_BR/man1/gpasswd.1*
450 %lang(zh_CN) %{_mandir}/zh_CN/man1/chfn.1*
451 %lang(zh_CN) %{_mandir}/zh_CN/man1/chsh.1*
453 %lang(zh_TW) %{_mandir}/zh_TW/man1/chfn.1*
454 %lang(zh_TW) %{_mandir}/zh_TW/man1/chsh.1*