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