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: 1d91f7479143d1d705b94180c0d4874b
21 Source1: %{name}-login.defs
22 Source2: %{name}.useradd
29 Patch0: %{name}-pld.patch
30 Patch1: %{name}-chage_expdays.patch
31 Patch2: %{name}-typo.patch
32 BuildRequires: autoconf
33 BuildRequires: automake >= 1.0
34 BuildRequires: gettext-devel >= 0.12.1
35 BuildRequires: pam-devel
36 BuildRequires: libtool
37 %{?with_selinux:BuildRequires: libselinux-devel}
38 Requires: pam >= 0.77.3
39 # to force proper coreutils version, so "groups" command exists
40 Requires: /usr/bin/groups
42 Provides: shadow-utils
44 Obsoletes: shadow-utils
46 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49 This package includes the programs necessary to convert standard UNIX
50 password files to the shadow password format, as well as programs for
51 command-line management of the user's accounts.
52 - pwconv - converts everything to the shadow password format,
53 - pwunconv - unconverts from shadow password, generating a file in the
54 current directory called npasswd that is a standard UNIX password
56 - pwck - checks the integrity of the password and shadow files,
57 - lastlog - prints out the last login times of all users,
58 - useradd, userdel, usermod - for accounts management,
59 - groupadd, groupdel, groupmod - for group management.
61 A number of man pages are also included that relate to these
62 utilities, and shadow passwords in general.
65 Este paquete incluye los programas necesarios para convertir Archivos
66 padrón UNIX de contraseña al formato shadow.
67 - pwconv5 - convierte todo al formato de contraseñas del shadow,
68 - pwunconv - deshace la conversión de contraseñas shadow, creando un
69 archivo en el directorio corriente llamado npasswd que es el archivo
70 padrón UNIX de contraseña,
71 - pwck - chequea la integridad de la contraseña y de los archivos
73 - lastlog enseña el último momento de login de todos los usuarios.
74 Están también incluidas, en general, varias páginas de manual sobre
75 estos utilitarios y contraseñas shadow.
78 Pakiet zawiera programy do obs³ugi mechanizmu ukrytych hase³ (shadow
79 password). Znajduj± siê w nim programy do konwersji standardowego
80 pliku hase³ do wersji shadow password a tak¿e programy do zarz±dzania
81 kontami u¿ytkowników w systemie:
82 - pwconv - konwertuje do formatu shadow password
83 - pwunconv - konwertuje z shadow password do formatu standardowego
84 pliku hase³. W bie¿±cym katalogu tworzy plik npasswd bêd±cy
85 standardowym plikiem z has³ami,
86 - lastlog - wy¶wietla czas logowania u¿ytkowników,
87 - useradd, userdel, usermod - do zarz±dzania kontami u¿ytkowników,
88 - groupadd, groupdel, groupmod - do zarz±dzania grupami.
92 Programy znajduj±ce siê w tym pakiecie s± niezbêdne do prawid³owej
93 pracy systemu i podobnie jak pakiet z bibliotekami systemowymi (glibc)
94 nigdy nie powinien zostaæ odinstalowany!
97 Este pacote inclui os programas necessários para converter
98 arquivos-padrão UNIX de senha para o formato shadow.
99 - pwconv - converte tudo para o formato de senhas do shadow,
100 - pwunconv - desconverte senhas shadow, gerando um arquivo no
101 diretório corrente chamado npasswd que é o arquivo-padrão UNIX de
103 - pwck - checa a integridade da senha e dos arquivos shadow,
104 - lastlog - mostra o último momento de login de todos os usuários.
106 Várias páginas de manual estão também incluídas sobre estes
107 utilitários e senhas shadow em geral.
110 Summary: shadow - not often used programs
111 Summary(pl): shadow - programy nieczêsto u¿ywane
112 Group: Applications/System
113 Requires: %{name} = %{epoch}:%{version}-%{release}
115 Conflicts: util-linux < 2.12-10
118 Programs for shadow not often used. If you have small system you may
121 %description extras -l pl
122 Programy nieczêsto u¿ywane. W ma³ych systemach mo¿na je pomin±æ.
130 # ugh, too populated to patch
131 %{__perl} -pi -e 's/instead DES/instead of DES/' src/chpasswd.c po/*.po
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 sed -e 's/usermod/userdel/' 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
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
185 %if %{without shared}
186 # invalid static library
187 rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
190 # included in glibc-devel
191 rm -f $RPM_BUILD_ROOT%{_mandir}/man3/{getspnam,shadow}.3*
193 # /bin/login already in login (from util-linux.spec)
194 rm -f $RPM_BUILD_ROOT{%{_bindir}/login,%{_sbindir}/logoutd,%{_mandir}/{,*/}man1/login.1*,%{_mandir}/{,*/}man5/porttime.5,%{_mandir}/{,*/}man8/logoutd.8}
195 # /bin/id already in coreutils
196 rm -f $RPM_BUILD_ROOT%{_mandir}/cs/man1/id.1
197 # /bin/su already in coreutils
198 rm -f $RPM_BUILD_ROOT{%{_bindir}/su,%{_mandir}/{,*/}man1/su.1}
199 # /usr/bin/groups already in coreutils
200 rm -f $RPM_BUILD_ROOT{%{_bindir}/groups,%{_mandir}/{,*/}man1/groups.1}
201 # /etc/limits not used with pam
202 rm -f $RPM_BUILD_ROOT%{_mandir}/{,*/}man5/limits.5
207 rm -rf $RPM_BUILD_ROOT
210 %{?with_shared:/sbin/ldconfig}
211 if [ ! -f /etc/shadow ]; then
215 %{?with_shared:%postun -p /sbin/ldconfig}
217 %files -f %{name}.lang
218 %defattr(644,root,root,755)
219 %doc ChangeLog NEWS TODO doc/{HOWTO,WISHLIST}
220 %attr(750,root,root) %dir %{_sysconfdir}/default
221 %attr(640,root,root) %config %verify(not md5 mtime size) %{_sysconfdir}/default/*
222 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chage
223 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/passwd
224 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/shadow
225 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/useradd
226 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/usermod
227 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/userdel
228 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/groupadd
229 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/groupdel
230 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/groupmod
231 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/login.defs
232 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %ghost %{_sysconfdir}/shadow
235 %{?with_shared:%attr(755,root,root) %{_libdir}/lib*.so.*.*}
236 %attr(755,root,root) %{_sbindir}/chpasswd
237 %attr(755,root,root) %{_sbindir}/groupadd
238 %attr(755,root,root) %{_sbindir}/groupdel
239 %attr(755,root,root) %{_sbindir}/groupmod
240 %attr(755,root,root) %{_sbindir}/grpck
241 %attr(755,root,root) %{_sbindir}/grpconv
242 %attr(755,root,root) %{_sbindir}/grpunconv
243 %attr(755,root,root) %{_sbindir}/pwck
244 %attr(755,root,root) %{_sbindir}/pwconv
245 %attr(755,root,root) %{_sbindir}/pwunconv
246 %attr(755,root,root) %{_sbindir}/useradd
247 %attr(755,root,root) %{_sbindir}/userdel
248 %attr(755,root,root) %{_sbindir}/usermod
249 %attr(755,root,root) %{_sbindir}/vigr
250 %attr(755,root,root) %{_sbindir}/vipw
251 %attr(755,root,root) %{_bindir}/faillog
252 %attr(755,root,root) %{_bindir}/lastlog
253 %attr(4755,root,root) %{_bindir}/passwd
254 %{_mandir}/man1/passwd.1*
255 %{_mandir}/man5/faillog.5*
256 %{_mandir}/man5/login.defs.5*
257 %{_mandir}/man5/passwd.5*
258 %{_mandir}/man5/shadow.5*
259 %{_mandir}/man5/suauth.5*
260 %{_mandir}/man8/faillog.8*
261 %{_mandir}/man8/groupadd.8*
262 %{_mandir}/man8/groupdel.8*
263 %{_mandir}/man8/groupmod.8*
264 %{_mandir}/man8/grpck.8*
265 %{_mandir}/man8/grpconv.8*
266 %{_mandir}/man8/grpunconv.8*
267 %{_mandir}/man8/lastlog.8*
268 %{_mandir}/man8/pwck.8*
269 %{_mandir}/man8/pwconv.8*
270 %{_mandir}/man8/pwunconv.8*
271 %{_mandir}/man8/useradd.8*
272 %{_mandir}/man8/userdel.8*
273 %{_mandir}/man8/usermod.8*
274 %{_mandir}/man8/vigr.8*
275 %{_mandir}/man8/vipw.8*
276 %{_mandir}/man8/chpasswd.8*
278 %lang(cs) %{_mandir}/cs/man5/passwd.5*
279 %lang(cs) %{_mandir}/cs/man5/shadow.5*
281 %lang(de) %{_mandir}/de/man1/passwd.1*
282 %lang(de) %{_mandir}/de/man8/vigr.8*
283 %lang(de) %{_mandir}/de/man8/vipw.8*
285 %lang(es) %{_mandir}/es/man1/passwd.1*
287 %lang(fr) %{_mandir}/fr/man1/passwd.1*
288 %lang(fr) %{_mandir}/fr/man5/faillog.5*
289 %lang(fr) %{_mandir}/fr/man5/passwd.5*
290 %lang(fr) %{_mandir}/fr/man5/shadow.5*
291 %lang(fr) %{_mandir}/fr/man8/chpasswd.8*
292 %lang(fr) %{_mandir}/fr/man8/useradd.8*
293 %lang(fr) %{_mandir}/fr/man8/userdel.8*
294 %lang(fr) %{_mandir}/fr/man8/usermod.8*
296 %lang(hu) %{_mandir}/hu/man1/passwd.1*
298 %lang(id) %{_mandir}/id/man8/useradd.8*
300 %lang(it) %{_mandir}/it/man1/passwd.1*
301 %lang(it) %{_mandir}/it/man5/passwd.5*
302 %lang(it) %{_mandir}/it/man5/shadow.5*
303 %lang(it) %{_mandir}/it/man8/groupadd.8*
304 %lang(it) %{_mandir}/it/man8/groupdel.8*
305 %lang(it) %{_mandir}/it/man8/groupmod.8*
306 %lang(it) %{_mandir}/it/man8/grpck.8*
307 %lang(it) %{_mandir}/it/man8/grpconv.8*
308 %lang(it) %{_mandir}/it/man8/grpunconv.8*
309 %lang(it) %{_mandir}/it/man8/lastlog.8*
310 %lang(it) %{_mandir}/it/man8/pwconv.8*
311 %lang(it) %{_mandir}/it/man8/pwunconv.8*
312 %lang(it) %{_mandir}/it/man8/useradd.8*
313 %lang(it) %{_mandir}/it/man8/userdel.8*
314 %lang(it) %{_mandir}/it/man8/usermod.8*
315 %lang(it) %{_mandir}/it/man8/vigr.8*
316 %lang(it) %{_mandir}/it/man8/vipw.8*
318 %lang(ja) %{_mandir}/ja/man1/passwd.1*
319 %lang(ja) %{_mandir}/ja/man5/faillog.5*
320 %lang(ja) %{_mandir}/ja/man5/login.defs.5*
321 %lang(ja) %{_mandir}/ja/man5/passwd.5*
322 %lang(ja) %{_mandir}/ja/man5/shadow.5*
323 %lang(ja) %{_mandir}/ja/man5/suauth.5*
324 %lang(ja) %{_mandir}/ja/man8/faillog.8*
325 %lang(ja) %{_mandir}/ja/man8/groupadd.8*
326 %lang(ja) %{_mandir}/ja/man8/groupdel.8*
327 %lang(ja) %{_mandir}/ja/man8/groupmod.8*
328 %lang(ja) %{_mandir}/ja/man8/grpck.8*
329 %lang(ja) %{_mandir}/ja/man8/grpconv.8*
330 %lang(ja) %{_mandir}/ja/man8/grpunconv.8*
331 %lang(ja) %{_mandir}/ja/man8/lastlog.8*
332 %lang(ja) %{_mandir}/ja/man8/pwck.8*
333 %lang(ja) %{_mandir}/ja/man8/pwconv.8*
334 %lang(ja) %{_mandir}/ja/man8/pwunconv.8*
335 %lang(ja) %{_mandir}/ja/man8/useradd.8*
336 %lang(ja) %{_mandir}/ja/man8/userdel.8*
337 %lang(ja) %{_mandir}/ja/man8/usermod.8*
338 %lang(ja) %{_mandir}/ja/man8/vipw.8*
339 %lang(ja) %{_mandir}/ja/man8/vigr.8*
341 %lang(ko) %{_mandir}/ko/man5/passwd.5*
343 %lang(pl) %{_mandir}/pl/man1/passwd.1*
344 %lang(pl) %{_mandir}/pl/man5/faillog.5*
345 %lang(pl) %{_mandir}/pl/man5/login.defs.5*
346 %lang(pl) %{_mandir}/pl/man5/passwd.5*
347 %lang(pl) %{_mandir}/pl/man5/shadow.5*
348 %lang(pl) %{_mandir}/pl/man5/suauth.5*
349 %lang(pl) %{_mandir}/pl/man8/faillog.8*
350 %lang(pl) %{_mandir}/pl/man8/groupadd.8*
351 %lang(pl) %{_mandir}/pl/man8/groupdel.8*
352 %lang(pl) %{_mandir}/pl/man8/groupmod.8*
353 %lang(pl) %{_mandir}/pl/man8/grpck.8*
354 %lang(pl) %{_mandir}/pl/man8/grpconv.8*
355 %lang(pl) %{_mandir}/pl/man8/grpunconv.8*
356 %lang(pl) %{_mandir}/pl/man8/lastlog.8*
357 %lang(pl) %{_mandir}/pl/man8/pwck.8*
358 %lang(pl) %{_mandir}/pl/man8/pwconv.8*
359 %lang(pl) %{_mandir}/pl/man8/pwunconv.8*
360 %lang(pl) %{_mandir}/pl/man8/useradd.8*
361 %lang(pl) %{_mandir}/pl/man8/userdel.8*
362 %lang(pl) %{_mandir}/pl/man8/usermod.8*
363 %lang(pl) %{_mandir}/pl/man8/vigr.8*
364 %lang(pl) %{_mandir}/pl/man8/vipw.8*
366 %lang(pt_BR) %{_mandir}/pt_BR/man5/shadow.5*
367 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupadd.8*
368 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupdel.8*
369 %lang(pt_BR) %{_mandir}/pt_BR/man8/groupmod.8*
371 %lang(ru) %{_mandir}/ru/man5/passwd.5*
373 %lang(zh_CN) %{_mandir}/zh_CN/man8/chpasswd.8*
374 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupadd.8*
375 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupdel.8*
376 %lang(zh_CN) %{_mandir}/zh_CN/man8/groupmod.8*
377 %lang(zh_CN) %{_mandir}/zh_CN/man8/useradd.8*
378 %lang(zh_CN) %{_mandir}/zh_CN/man8/userdel.8*
379 %lang(zh_CN) %{_mandir}/zh_CN/man8/usermod.8*
381 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupadd.8*
382 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupdel.8*
383 %lang(zh_TW) %{_mandir}/zh_TW/man8/groupmod.8*
384 %lang(zh_TW) %{_mandir}/zh_TW/man8/useradd.8*
385 %lang(zh_TW) %{_mandir}/zh_TW/man8/userdel.8*
386 %lang(zh_TW) %{_mandir}/zh_TW/man8/usermod.8*
389 %defattr(644,root,root,755)
390 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chfn
391 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/chsh
392 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/chfn.allow
393 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/chsh.allow
394 %attr(755,root,root) %{_bindir}/chage
395 %attr(4755,root,root) %{_bindir}/chfn
396 %attr(4755,root,root) %{_bindir}/chsh
397 %attr(4755,root,root) %{_bindir}/expiry
398 %attr(4755,root,root) %{_bindir}/gpasswd
399 %attr(755,root,root) %{_bindir}/newgrp
400 %attr(755,root,root) %{_bindir}/sg
401 %attr(755,root,root) %{_sbindir}/newusers
403 %{_mandir}/man1/chage.1*
404 %{_mandir}/man1/chfn.1*
405 %{_mandir}/man1/chsh.1*
406 %{_mandir}/man1/expiry.1*
407 %{_mandir}/man1/gpasswd.1*
408 %{_mandir}/man1/newgrp.1*
409 %{_mandir}/man1/sg.1*
410 %{_mandir}/man8/newusers.8*
412 %lang(de) %{_mandir}/de/man1/chfn.1*
413 %lang(de) %{_mandir}/de/man1/chsh.1*
415 %lang(fr) %{_mandir}/fr/man1/chage.1*
416 %lang(fr) %{_mandir}/fr/man1/chsh.1*
417 %lang(fr) %{_mandir}/fr/man1/gpasswd.1*
418 %lang(fr) %{_mandir}/fr/man1/newgrp.1*
419 %lang(fr) %{_mandir}/fr/man1/sg.1*
421 %lang(hu) %{_mandir}/hu/man1/chsh.1*
422 %lang(hu) %{_mandir}/hu/man1/gpasswd.1*
423 %lang(hu) %{_mandir}/hu/man1/newgrp.1*
424 %lang(hu) %{_mandir}/hu/man1/sg.1*
426 %lang(id) %{_mandir}/id/man1/chsh.1*
428 %lang(it) %{_mandir}/it/man1/chfn.1*
429 %lang(it) %{_mandir}/it/man1/chsh.1*
430 %lang(it) %{_mandir}/it/man1/gpasswd.1*
431 %lang(it) %{_mandir}/it/man1/newgrp.1*
432 %lang(it) %{_mandir}/it/man1/sg.1*
434 %lang(ja) %{_mandir}/ja/man1/chage.1*
435 %lang(ja) %{_mandir}/ja/man1/chfn.1*
436 %lang(ja) %{_mandir}/ja/man1/chsh.1*
437 %lang(ja) %{_mandir}/ja/man1/expiry.1*
438 %lang(ja) %{_mandir}/ja/man1/gpasswd.1*
439 %lang(ja) %{_mandir}/ja/man1/newgrp.1*
440 %lang(ja) %{_mandir}/ja/man1/sg.1*
441 %lang(ja) %{_mandir}/ja/man8/chpasswd.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*
447 #%lang(ko) %{_mandir}/ko/man1/newgrp.1*
448 %lang(ko) %{_mandir}/ko/man1/sg.1*
450 %lang(pl) %{_mandir}/pl/man1/chage.1*
451 %lang(pl) %{_mandir}/pl/man1/chfn.1*
452 %lang(pl) %{_mandir}/pl/man1/chsh.1*
453 %lang(pl) %{_mandir}/pl/man1/expiry.1*
454 %lang(pl) %{_mandir}/pl/man1/gpasswd.1*
455 %lang(pl) %{_mandir}/pl/man1/newgrp.1*
456 %lang(pl) %{_mandir}/pl/man1/sg.1*
457 %lang(pl) %{_mandir}/pl/man8/chpasswd.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*