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: 89ebec0d1c0d861a5bd5c4c63e5cb0cc
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
167 install etc/pam.d/usermod $RPM_BUILD_ROOT/etc/pam.d/userdel
168 install etc/pam.d/usermod $RPM_BUILD_ROOT/etc/pam.d/usermod
169 install etc/pam.d/groupadd $RPM_BUILD_ROOT/etc/pam.d/groupadd
170 install etc/pam.d/groupmod $RPM_BUILD_ROOT/etc/pam.d/groupmod
171 install etc/pam.d/groupdel $RPM_BUILD_ROOT/etc/pam.d/groupdel
174 > $RPM_BUILD_ROOT%{_sysconfdir}/shadow
175 > $RPM_BUILD_ROOT/etc/security/chfn.allow
176 > $RPM_BUILD_ROOT/etc/security/chsh.allow
178 # vigr symlink is created by make install, but in wrong dir
179 ln -sf vipw $RPM_BUILD_ROOT%{_sbindir}/vigr
181 echo '.so newgrp.1' > $RPM_BUILD_ROOT%{_mandir}/fr/man1/sg.1
182 echo '.so newgrp.1' > $RPM_BUILD_ROOT%{_mandir}/it/man1/sg.1
183 echo '.so newgrp.1' > $RPM_BUILD_ROOT%{_mandir}/ko/man1/sg.1
186 # invalid static library
187 rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
190 # /bin/login already in login (from util-linux.spec)
191 rm -f $RPM_BUILD_ROOT{%{_bindir}/login,%{_sbindir}/logoutd,%{_mandir}/{,*/}man1/login.1*,%{_mandir}/{,*/}man5/porttime.5,%{_mandir}/{,*/}man8/logoutd.8}
192 # /bin/su already in coreutils
193 rm -f $RPM_BUILD_ROOT{%{_bindir}/su,%{_mandir}/{,*/}man1/su.1}
194 # /usr/bin/groups already in coreutils
195 rm -f $RPM_BUILD_ROOT{%{_bindir}/groups,%{_mandir}/{,*/}man1/groups.1}
196 # /etc/limits not used with pam
197 rm -f $RPM_BUILD_ROOT%{_mandir}/{,*/}man5/limits.5
202 rm -rf $RPM_BUILD_ROOT
205 %{?with_shared:/sbin/ldconfig}
206 if [ ! -f /etc/shadow ]; then
210 %{?with_shared:%postun -p /sbin/ldconfig}
212 %files -f %{name}.lang
213 %defattr(644,root,root,755)
214 %doc ChangeLog NEWS TODO doc/{HOWTO,README,README.linux,README.pam,WISHLIST}
215 %attr(750,root,root) %dir %{_sysconfdir}/default
216 %attr(640,root,root) %config %verify(not md5 mtime size) %{_sysconfdir}/default/*
217 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chage
218 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/passwd
219 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/shadow
220 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/useradd
221 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/usermod
222 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/userdel
223 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/groupadd
224 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/groupdel
225 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/groupmod
226 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/login.defs
227 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/shadow
230 %{?with_shared:%attr(755,root,root) %{_libdir}/lib*.so.*.*}
231 %attr(755,root,root) %{_sbindir}/chpasswd
232 %attr(755,root,root) %{_sbindir}/groupadd
233 %attr(755,root,root) %{_sbindir}/groupdel
234 %attr(755,root,root) %{_sbindir}/groupmod
235 %attr(755,root,root) %{_sbindir}/grpck
236 %attr(755,root,root) %{_sbindir}/grpconv
237 %attr(755,root,root) %{_sbindir}/grpunconv
238 %attr(755,root,root) %{_sbindir}/pwck
239 %attr(755,root,root) %{_sbindir}/pwconv
240 %attr(755,root,root) %{_sbindir}/pwunconv
241 %attr(755,root,root) %{_sbindir}/useradd
242 %attr(755,root,root) %{_sbindir}/userdel
243 %attr(755,root,root) %{_sbindir}/usermod
244 %attr(755,root,root) %{_sbindir}/vigr
245 %attr(755,root,root) %{_sbindir}/vipw
246 %attr(755,root,root) %{_bindir}/faillog
247 %attr(755,root,root) %{_bindir}/lastlog
248 %attr(4755,root,root) %{_bindir}/passwd
249 %{_mandir}/man1/passwd.1*
250 %{_mandir}/man5/faillog.5*
251 %{_mandir}/man5/login.access.5*
252 %{_mandir}/man5/login.defs.5*
253 %{_mandir}/man5/passwd.5*
254 %{_mandir}/man5/shadow.5*
255 %{_mandir}/man5/suauth.5*
256 %{_mandir}/man8/faillog.8*
257 %{_mandir}/man8/groupadd.8*
258 %{_mandir}/man8/groupdel.8*
259 %{_mandir}/man8/groupmod.8*
260 %{_mandir}/man8/grpck.8*
261 %{_mandir}/man8/grpconv.8*
262 %{_mandir}/man8/grpunconv.8*
263 %{_mandir}/man8/lastlog.8*
264 %{_mandir}/man8/pwck.8*
265 %{_mandir}/man8/pwconv.8*
266 %{_mandir}/man8/pwunconv.8*
267 %{_mandir}/man8/useradd.8*
268 %{_mandir}/man8/userdel.8*
269 %{_mandir}/man8/usermod.8*
270 %{_mandir}/man8/vigr.8*
271 %{_mandir}/man8/vipw.8*
272 %{_mandir}/man8/chpasswd.8*
274 %lang(cs) %{_mandir}/cs/man5/passwd.5*
275 %lang(cs) %{_mandir}/cs/man5/shadow.5*
277 %lang(de) %{_mandir}/de/man1/passwd.1*
279 %lang(es) %{_mandir}/es/man1/passwd.1*
281 %lang(fr) %{_mandir}/fr/man1/passwd.1*
282 %lang(fr) %{_mandir}/fr/man5/faillog.5*
283 %lang(fr) %{_mandir}/fr/man5/passwd.5*
284 %lang(fr) %{_mandir}/fr/man5/shadow.5*
285 %lang(fr) %{_mandir}/fr/man8/chpasswd.8*
286 %lang(fr) %{_mandir}/fr/man8/useradd.8*
287 %lang(fr) %{_mandir}/fr/man8/userdel.8*
288 %lang(fr) %{_mandir}/fr/man8/usermod.8*
290 %lang(hu) %{_mandir}/hu/man1/passwd.1*
292 %lang(id) %{_mandir}/id/man8/useradd.8*
294 %lang(it) %{_mandir}/it/man1/passwd.1*
295 %lang(it) %{_mandir}/it/man5/passwd.5*
296 %lang(it) %{_mandir}/it/man5/shadow.5*
297 %lang(it) %{_mandir}/it/man8/groupadd.8*
298 %lang(it) %{_mandir}/it/man8/groupdel.8*
299 %lang(it) %{_mandir}/it/man8/groupmod.8*
300 %lang(it) %{_mandir}/it/man8/grpck.8*
301 %lang(it) %{_mandir}/it/man8/grpconv.8*
302 %lang(it) %{_mandir}/it/man8/grpunconv.8*
303 %lang(it) %{_mandir}/it/man8/lastlog.8*
304 %lang(it) %{_mandir}/it/man8/pwconv.8*
305 %lang(it) %{_mandir}/it/man8/pwunconv.8*
306 %lang(it) %{_mandir}/it/man8/useradd.8*
307 %lang(it) %{_mandir}/it/man8/userdel.8*
308 %lang(it) %{_mandir}/it/man8/usermod.8*
309 %lang(it) %{_mandir}/it/man8/vigr.8*
310 %lang(it) %{_mandir}/it/man8/vipw.8*
312 %lang(ja) %{_mandir}/ja/man1/passwd.1*
313 %lang(ja) %{_mandir}/ja/man5/faillog.5*
314 %lang(ja) %{_mandir}/ja/man5/login.access.5*
315 %lang(ja) %{_mandir}/ja/man5/login.defs.5*
316 %lang(ja) %{_mandir}/ja/man5/passwd.5*
317 %lang(ja) %{_mandir}/ja/man5/shadow.5*
318 %lang(ja) %{_mandir}/ja/man5/suauth.5*
319 %lang(ja) %{_mandir}/ja/man8/faillog.8*
320 %lang(ja) %{_mandir}/ja/man8/groupadd.8*
321 %lang(ja) %{_mandir}/ja/man8/groupdel.8*
322 %lang(ja) %{_mandir}/ja/man8/groupmod.8*
323 %lang(ja) %{_mandir}/ja/man8/grpck.8*
324 %lang(ja) %{_mandir}/ja/man8/grpconv.8*
325 %lang(ja) %{_mandir}/ja/man8/grpunconv.8*
326 %lang(ja) %{_mandir}/ja/man8/lastlog.8*
327 %lang(ja) %{_mandir}/ja/man8/pwck.8*
328 %lang(ja) %{_mandir}/ja/man8/pwconv.8*
329 %lang(ja) %{_mandir}/ja/man8/pwunconv.8*
330 %lang(ja) %{_mandir}/ja/man8/useradd.8*
331 %lang(ja) %{_mandir}/ja/man8/userdel.8*
332 %lang(ja) %{_mandir}/ja/man8/usermod.8*
333 %lang(ja) %{_mandir}/ja/man8/vipw.8*
334 %lang(ja) %{_mandir}/ja/man8/vigr.8*
336 %lang(ko) %{_mandir}/ko/man5/passwd.5*
338 %lang(pl) %{_mandir}/pl/man1/passwd.1*
339 %lang(pl) %{_mandir}/pl/man5/faillog.5*
340 %lang(pl) %{_mandir}/pl/man5/login.access.5*
341 %lang(pl) %{_mandir}/pl/man5/login.defs.5*
342 %lang(pl) %{_mandir}/pl/man5/passwd.5*
343 %lang(pl) %{_mandir}/pl/man5/shadow.5*
344 %lang(pl) %{_mandir}/pl/man5/suauth.5*
345 %lang(pl) %{_mandir}/pl/man8/faillog.8*
346 %lang(pl) %{_mandir}/pl/man8/groupadd.8*
347 %lang(pl) %{_mandir}/pl/man8/groupdel.8*
348 %lang(pl) %{_mandir}/pl/man8/groupmod.8*
349 %lang(pl) %{_mandir}/pl/man8/grpck.8*
350 %lang(pl) %{_mandir}/pl/man8/grpconv.8*
351 %lang(pl) %{_mandir}/pl/man8/grpunconv.8*
352 %lang(pl) %{_mandir}/pl/man8/lastlog.8*
353 %lang(pl) %{_mandir}/pl/man8/pwck.8*
354 %lang(pl) %{_mandir}/pl/man8/pwconv.8*
355 %lang(pl) %{_mandir}/pl/man8/pwunconv.8*
356 %lang(pl) %{_mandir}/pl/man8/useradd.8*
357 %lang(pl) %{_mandir}/pl/man8/userdel.8*
358 %lang(pl) %{_mandir}/pl/man8/usermod.8*
359 %lang(pl) %{_mandir}/pl/man8/vigr.8*
360 %lang(pl) %{_mandir}/pl/man8/vipw.8*
362 %lang(pt_BR) %{_mandir}/pt_BR/man5/shadow.5*
363 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupadd.8*
364 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupdel.8*
365 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupmod.8*
367 %lang(ru) %{_mandir}/ru/man5/passwd.5*
369 %lang(zh_CN) %{_mandir}/zh_CN/man8/chpasswd.8*
370 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupadd.8*
371 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupdel.8*
372 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupmod.8*
373 %lang(zh_CN) %{_mandir}/zh_CN/man8/useradd.8*
374 %lang(zh_CN) %{_mandir}/zh_CN/man8/userdel.8*
375 %lang(zh_CN) %{_mandir}/zh_CN/man8/usermod.8*
377 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupadd.8*
378 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupdel.8*
379 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupmod.8*
380 %lang(zh_TW) %{_mandir}/zh_TW/man8/useradd.8*
381 %lang(zh_TW) %{_mandir}/zh_TW/man8/userdel.8*
382 %lang(zh_TW) %{_mandir}/zh_TW/man8/usermod.8*
385 %defattr(644,root,root,755)
386 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chfn
387 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chsh
388 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/chfn.allow
389 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/chsh.allow
390 %attr(755,root,root) %{_bindir}/chage
391 %attr(4755,root,root) %{_bindir}/chfn
392 %attr(4755,root,root) %{_bindir}/chsh
393 %attr(4755,root,root) %{_bindir}/expiry
394 %attr(4755,root,root) %{_bindir}/gpasswd
395 %attr(755,root,root) %{_bindir}/newgrp
396 %attr(755,root,root) %{_bindir}/sg
397 %attr(755,root,root) %{_sbindir}/mkpasswd
398 %attr(755,root,root) %{_sbindir}/newusers
400 %{_mandir}/man1/chage.1*
401 %{_mandir}/man1/chfn.1*
402 %{_mandir}/man1/chsh.1*
403 %{_mandir}/man1/expiry.1*
404 %{_mandir}/man1/gpasswd.1*
405 %{_mandir}/man1/newgrp.1*
406 %{_mandir}/man1/sg.1*
407 %{_mandir}/man8/mkpasswd.8*
408 %{_mandir}/man8/newusers.8*
410 %lang(de) %{_mandir}/de/man1/chfn.1*
411 %lang(de) %{_mandir}/de/man1/chsh.1*
413 %lang(fr) %{_mandir}/fr/man1/chage.1*
414 %lang(fr) %{_mandir}/fr/man1/chsh.1*
415 %lang(fr) %{_mandir}/fr/man1/gpasswd.1*
416 %lang(fr) %{_mandir}/fr/man1/newgrp.1*
417 %lang(fr) %{_mandir}/fr/man1/sg.1*
419 %lang(hu) %{_mandir}/hu/man1/chsh.1*
420 %lang(hu) %{_mandir}/hu/man1/gpasswd.1*
421 %lang(hu) %{_mandir}/hu/man1/newgrp.1*
422 %lang(hu) %{_mandir}/hu/man1/sg.1*
424 %lang(id) %{_mandir}/id/man1/chsh.1*
426 %lang(it) %{_mandir}/it/man1/chfn.1*
427 %lang(it) %{_mandir}/it/man1/chsh.1*
428 %lang(it) %{_mandir}/it/man1/gpasswd.1*
429 %lang(it) %{_mandir}/it/man1/newgrp.1*
430 %lang(it) %{_mandir}/it/man1/sg.1*
432 %lang(ja) %{_mandir}/ja/man1/chage.1*
433 %lang(ja) %{_mandir}/ja/man1/chfn.1*
434 %lang(ja) %{_mandir}/ja/man1/chsh.1*
435 %lang(ja) %{_mandir}/ja/man1/expiry.1*
436 %lang(ja) %{_mandir}/ja/man1/gpasswd.1*
437 %lang(ja) %{_mandir}/ja/man1/newgrp.1*
438 %lang(ja) %{_mandir}/ja/man1/sg.1*
439 %lang(ja) %{_mandir}/ja/man8/chpasswd.8*
440 %lang(ja) %{_mandir}/ja/man8/mkpasswd.8*
441 %lang(ja) %{_mandir}/ja/man8/newusers.8*
443 %lang(ko) %{_mandir}/ko/man1/chfn.1*
444 %lang(ko) %{_mandir}/ko/man1/chsh.1*
445 %lang(ko) %{_mandir}/ko/man1/newgrp.1*
446 %lang(ko) %{_mandir}/ko/man1/sg.1*
448 %lang(pl) %{_mandir}/pl/man1/chage.1*
449 %lang(pl) %{_mandir}/pl/man1/chfn.1*
450 %lang(pl) %{_mandir}/pl/man1/chsh.1*
451 %lang(pl) %{_mandir}/pl/man1/expiry.1*
452 %lang(pl) %{_mandir}/pl/man1/gpasswd.1*
453 %lang(pl) %{_mandir}/pl/man1/newgrp.1*
454 %lang(pl) %{_mandir}/pl/man1/sg.1*
455 %lang(pl) %{_mandir}/pl/man8/chpasswd.8*
456 %lang(pl) %{_mandir}/pl/man8/mkpasswd.8*
457 %lang(pl) %{_mandir}/pl/man8/newusers.8*
459 %lang(pt_BR) %{_mandir}/pt_BR/man1/gpasswd.1*
461 %lang(zh_CN) %{_mandir}/zh_CN/man1/chfn.1*
462 %lang(zh_CN) %{_mandir}/zh_CN/man1/chsh.1*
464 %lang(zh_TW) %{_mandir}/zh_TW/man1/chfn.1*
465 %lang(zh_TW) %{_mandir}/zh_TW/man1/chsh.1*