2 # - check and package docs: https://fedorahosted.org/releases/l/i/linux-pam/Linux-PAM-1.1.8-docs.tar.bz2
3 # - fix pdf gen or disable it: No fo2pdf processor installed, skip PDF generation
6 %bcond_without doc # don't build documentation
7 %bcond_with prelude # build with Prelude IDS support (in libpam)
8 %bcond_without selinux # build without SELinux support
9 %bcond_without audit # build with Linux Auditing library support
11 %define pam_pld_version 1.1.2-1
12 Summary: Pluggable Authentication Modules: modular, incremental authentication
13 Summary(de.UTF-8): Einsteckbare Authentifizierungsmodule: modulare, inkrementäre Authentifizierung
14 Summary(es.UTF-8): Módulos de autentificación plugables (PAM)
15 Summary(fr.UTF-8): PAM : Pluggable Authentication Modules: modular, incremental authentication
16 Summary(pl.UTF-8): Modularny system uwierzytelniania
17 Summary(pt_BR.UTF-8): Módulos de autenticação plugáveis (PAM)
18 Summary(ru.UTF-8): Интструмент, обеспечивающий аутентификацию для приложений
19 Summary(tr.UTF-8): Modüler, artımsal doğrulama birimleri
20 Summary(uk.UTF-8): Інструмент, що забезпечує аутентифікацію для програм
27 Source0: http://www.linux-pam.org/library/Linux-PAM-%{version}.tar.bz2
28 # Source0-md5: da4b2289b7cfb19583d54e9eaaef1c3a
29 Source1: http://www.linux-pam.org/library/Linux-PAM-%{version}-docs.tar.bz2
30 # Source1-md5: 30fa7fa696a5b3b8d2c3c41d9373a8f3
31 Source2: ftp://ftp.pld-linux.org/software/pam/%{name}-pld-%{pam_pld_version}.tar.gz
32 # Source2-md5: f9ec6fcafcf1801bf318e60040244f2e
34 Source4: system-auth.pamd
35 Source5: config-util.pamd
36 Source6: %{name}_selinux_check.pamd
37 Source7: system-auth.5
38 Source8: config-util.5
39 Source9: %{name}.tmpfiles
40 Source10: postlogin.pamd
41 Patch0: %{name}-pld-modules.patch
42 Patch2: %{name}-tally-fail-close.patch
43 Patch3: %{name}-mkhomedir-notfound.patch
44 Patch4: %{name}-db-gdbm.patch
45 Patch5: %{name}-exec-failok.patch
46 Patch6: update-motd.patch
47 URL: http://www.linux-pam.org/
48 %{?with_audit:BuildRequires: audit-libs-devel >= 1.6.9}
49 BuildRequires: autoconf >= 2.61
50 BuildRequires: automake
52 BuildRequires: cracklib-devel >= 2.8.3
53 # gdbm due to db pulling libpthread
55 BuildRequires: gdbm-devel >= 1.8.3-7
56 BuildRequires: gettext-tools >= 0.18.3
57 BuildRequires: glibc-devel >= 6:2.10.1
58 %{?with_prelude:BuildRequires: libprelude-devel >= 0.9.0}
59 %{?with_selinux:BuildRequires: libselinux-devel >= 2.1.9}
60 BuildRequires: libtirpc-devel
61 BuildRequires: libtool >= 2:2
62 BuildRequires: libxcrypt-devel
63 %{?with_audit:BuildRequires: linux-libc-headers >= 2.6.23.1}
64 BuildRequires: pkgconfig
65 BuildRequires: zlib-devel
67 BuildRequires: docbook-dtd412-xml
68 BuildRequires: docbook-dtd43-xml
69 BuildRequires: docbook-dtd44-xml
70 BuildRequires: docbook-style-xsl >= 1.69.1
73 BuildRequires: libxml2-progs
74 BuildRequires: libxslt-progs
77 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
78 %{?with_audit:Requires: audit-libs >= 1.0.8}
80 Requires: cracklib >= 2.8.3
81 Requires: cracklib-dicts >= 2.8.3
82 Requires: crypt(blowfish)
83 Requires: glibc >= 6:2.5-0.5
84 %{?with_selinux:Requires: libselinux >= 2.1.9}
86 Suggests: pam-pam_userdb = %{epoch}:%{version}-%{release}
88 Obsoletes: pam-pam_opie
89 Obsoletes: pam-pam_pwdb
90 Obsoletes: pam-pam_radius
91 Obsoletes: pam-pam_skey
92 Obsoletes: pam-pam_tcpd
95 Conflicts: dev < 3.4-4
96 Conflicts: pam < 0:0.80.1-2
97 Conflicts: udev < 1:138-5
98 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
100 %define _sbindir /sbin
103 PAM (Pluggable Authentication Modules) is a powerful, flexible,
104 extensible authentication system which allows the system administrator
105 to configure authentication services individually for every
106 pam-compliant application without recompiling any of the applications.
108 %description -l de.UTF-8
109 PAM (Pluggable Authentication Modules) ist ein leistungsfähiges,
110 flexibles und erweiterbares Authentifizierungssystem, mit dem der
111 Systemverwalter Authentifizierungs-Dienste individuell für jede
112 pam-kompatible Anwendung konfigurieren kann, ohne diese neu
113 kompilieren zu müssen.
115 %description -l es.UTF-8
116 PAM (Módulos de Autenticación Plugables) es un potente, flexible y
117 extensible sistema de autentificación, que permite al administrador
118 del sistema configurar servicios de autentificación individualmente
119 para cada aplicación pam compatible, sin la necesidad de recompilar
120 cualquier una de las aplicaciones.
122 %description -l fr.UTF-8
123 PAM (Pluggable Authentication Modules) est un systéme
124 d'authentification puissant, souple et extensible permettant à
125 l'administrateur système de configurer les individuellement les
126 services d'authentification pour chaque application conforme à PAM,
127 sans recompiler aucune application.
129 %description -l pl.UTF-8
130 PAM (Pluggable Authentication Modules) jest silnym i łatwo
131 dostosowywalnym do potrzeb systemem uwierzytelniania, który umożliwia
132 administratorowi indywidualne konfigurowanie poszczególnych usług,
133 które są dostosowane i skonsolidowane z bibliotekami PAM, bez
134 późniejszej ich rekompilacji w momencie zmiany sposobu
135 uwierzytelniania tychże usług.
137 %description -l pt_BR.UTF-8
138 PAM (Módulos de Autenticação Plugáveis) é um poderoso, flexível e
139 extensível sistema de autenticação, que permite o administrador do
140 sistema configurar serviços de autenticação individualmente para cada
141 aplicação pam compatível, sem necessidade de recompilar qualquer uma
144 %description -l uk.UTF-8
145 PAM (Pluggable Authentication Modules) - це потужна, гнучка, здатна до
146 розширення система аутентикації, яка дозволяє системному
147 адміністратору налагоджувати севіси авторизації доступу (аутентикації)
148 індивідуально для кожної pam-сумісної програми без необхідності
149 перекомпіляції самої програми. Це базовий механізм аутентикації в PLD
152 %description -l tr.UTF-8
153 PAM (Pluggable Authentication Modules) sistem yöneticilerinin
154 uygulamalardan herhangi birini yeniden derlemeksizin bütün PAM uyumlu
155 uygulamalar için doğrulama hizmetlerini ayarlamalarına yardımcı olan,
156 güclü, esnek ve kapsamlı bir doğrulama sistemidir.
158 %description -l ru.UTF-8
159 PAM (Pluggable Authentication Modules) - это мощная, гибкая,
160 расширяемая система аутентикации, позволяющая системному
161 администратору конфигурировать сервисы авторизации доступа
162 (аутентикации) индивидуально для каждой pam-совместимой программы без
163 необходимости перекомпилляции самой программы. Это базовый механизм
164 аутентикации в PLD Linux.
167 Summary: PAM libraries
168 Summary(pl.UTF-8): Moduły PAM
170 Requires(triggerpostun): sed >= 4.0
175 %description libs -l pl.UTF-8
179 Summary: PAM header files
180 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja programisty do PAM
181 Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento com PAM
182 Summary(ru.UTF-8): Библиотеки разработчика для PAM
183 Summary(uk.UTF-8): Бібліотеки програміста для PAM
184 Group: Development/Libraries
185 Requires: %{name} = %{epoch}:%{version}-%{release}
186 %{?with_audit:Requires: audit-libs-devel >= 1.0.8}
187 Requires: filesystem >= 3.0-11
190 Header files for developing PAM based applications.
192 %description devel -l pl.UTF-8
193 Pliki nagłówkowe i dokumentacja programisty do PAM.
195 %description devel -l pt_BR.UTF-8
196 Bibliotecas e arquivos de inclusão para desenvolvimento com PAM
198 %description devel -l ru.UTF-8
199 Этот пакет содержит хедеры и библиотеки разработчика для PAM.
201 %description devel -l uk.UTF-8
202 Цей пакет містить хедери та бібліотеки програміста для PAM.
205 Summary: PAM static libraries
206 Summary(pl.UTF-8): Biblioteki statyczne PAM
207 Summary(ru.UTF-8): Статические библиотеки разработчика для PAM
208 Summary(uk.UTF-8): Статичні бібліотеки програміста для PAM
209 Group: Development/Libraries
210 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
213 PAM static libraries.
215 %description static -l pl.UTF-8
216 Biblioteki statyczne PAM.
218 %description static -l ru.UTF-8
219 Этот пакет содержит статические библиотеки разработчика для PAM.
221 %description static -l uk.UTF-8
222 Цей пакет містить статичні бібліотеки програміста для PAM.
225 Summary: PAM module - SELinux support
226 Summary(pl.UTF-8): Moduł PAM pozwalający na zmianę kontekstów SELinuksa
228 Requires: libselinux >= 2.1.9
230 %description pam_selinux
231 PAM module - SELinux support.
233 %description pam_selinux -l pl.UTF-8
234 Moduł PAM pozwalający na zmianę kontekstów SELinuksa.
237 Summary: PAM module - authenticate against db database
239 Requires: gdbm >= 1.8.3-7
240 Conflicts: pam-libs < 1:1.1.8-3.1
242 %description pam_userdb
243 pam_userdb - PAM module to authenticate against a Berkeley DB database
246 %setup -q -a2 -n Linux-PAM-%{version}
265 --includedir=%{_includedir}/security \
266 --enable-isadir=../../%{_lib}/security \
268 %{!?with_selinux:--disable-selinux} \
269 %{!?with_prelude:--disable-prelude} \
270 %{!?with_audit:--disable-audit}
272 # we must explicitely update-gmo as we patch a po file
273 %{__make} -C po update-gmo
275 DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE"
278 rm -rf $RPM_BUILD_ROOT
279 install -d $RPM_BUILD_ROOT{%{_libdir},/etc/pam.d,/var/{log,run/sepermit}} \
280 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
283 DESTDIR=$RPM_BUILD_ROOT
286 install -p modules/pam_selinux/.libs/pam_selinux_check $RPM_BUILD_ROOT%{_sbindir}
287 cp -p modules/pam_selinux/pam_selinux_check.8 $RPM_BUILD_ROOT%{_mandir}/man8
288 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/pam_selinux_check
291 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
294 for r in modules/pam_*/README; do
295 cp -pf $r doc/txts/README.$(basename $(dirname $r))
297 %{__rm} doc/txts/README.pam_userdb
299 cp -pf doc/index.html doc/html/
301 # fix PAM/pam man page
302 echo ".so PAM.8" > $RPM_BUILD_ROOT%{_mandir}/man8/pam.8
304 :> $RPM_BUILD_ROOT/etc/security/opasswd
305 :> $RPM_BUILD_ROOT/etc/security/blacklist
307 :> $RPM_BUILD_ROOT/var/log/tallylog
309 %{__mv} $RPM_BUILD_ROOT/%{_lib}/lib*.a $RPM_BUILD_ROOT%{_libdir}
311 cd $RPM_BUILD_ROOT/%{_lib}
312 for f in lib*.la ; do
313 %{__sed} -e 's|/%{_lib}/libpam|%{_libdir}/libpam|g' \
314 -e "s|libdir='/%{_lib}|libdir='%{_libdir}|g" $f > $RPM_BUILD_ROOT%{_libdir}/$f
317 ln -sf /%{_lib}/$(echo libpam.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpam.so
318 ln -sf /%{_lib}/$(echo libpam_misc.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpam_misc.so
319 ln -sf /%{_lib}/$(echo libpamc.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpamc.so
322 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/other
323 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/system-auth
324 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/config-util
325 cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/postlogin
327 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_mandir}/man5/system-auth.5
328 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_mandir}/man5/config-util.5
330 # Make sure every module subdirectory gave us a module. Yes, this is hackish.
331 for dir in modules/pam_* ; do
332 %if %{without selinux}
333 [ ${dir} = "modules/pam_selinux" ] && continue
334 [ ${dir} = "modules/pam_sepermit" ] && continue
337 [ ${dir} = "modules/pam_tty_audit" ] && continue
339 if [ -d ${dir} ] ; then
340 if ! ls -1 $RPM_BUILD_ROOT/%{_lib}/security/`basename ${dir}`*.so ; then
341 echo ERROR `basename ${dir}` did not build a module.
347 for module in $RPM_BUILD_ROOT/%{_lib}/security/pam*.so ; do
348 # Check for module problems. Specifically, check that every module we just
349 # installed can actually be loaded by a minimal PAM-aware application.
350 if ! env LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_lib} \
351 ./dlopen.sh -ldl -lpam -L$RPM_BUILD_ROOT/%{_lib} ${module} ; then
352 echo ERROR module: ${module} cannot be loaded.
357 # useless - shut up check-files
358 %{__rm} $RPM_BUILD_ROOT/%{_lib}/security/*.{la,a}
359 %{__rm} $RPM_BUILD_ROOT/%{_lib}/lib*.so
360 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/Linux-PAM
362 %if %{without selinux}
363 rm -rf $RPM_BUILD_ROOT{/%{_lib}/security/pam_selinux.so,%{_sbindir}/pam_selinux_check,%{_mandir}/man8/pam_selinux*.8*}
369 rm -rf $RPM_BUILD_ROOT
371 %triggerpostun libs -- %{name}-libs < 0.99.7.1
372 for f in $(grep -l "\(pam_make\|pam_homedir\)" /etc/pam.d/*); do
374 *rpmorig|*rpmnew|*rpmsave|*~|*.orig)
378 cp -f "$f" "$f.rpmorig"
379 sed -i -e 's/pam_make\.so \(.*\)/pam_exec.so failok seteuid \/usr\/bin\/make -C \1/g' \
380 -e 's/pam_homedir\.so/pam_mkhomedir.so/g' "$f"
384 if [ -d /var/lock/console -a -d /var/run/console ]; then
385 cp -a /var/lock/console/* /var/run/console/ 2> /dev/null
386 rm -rf /var/lock/console
389 %triggerin -- cronie,vixie-cron,hc-cron,fcron,mcron
390 # restart crond if pam is upgraded
391 # (crond is linked with old libpam but tries to open modules linked with new libpam)
392 if [ "$1" != 1 ]; then
393 %service -q crond restart
397 %triggerpostun -- %{name} < 1:1.1.5-8
399 if grep -qs change_uid /etc/pam.d/system-auth; then
400 %{__sed} -i -e '/session/ s/change_uid//' /etc/pam.d/system-auth
403 # We want it added for painless upgarde even if it mean log pollution for non-systemd
405 # If this module is not present on systemd enabled system then `systemctl restart sshd.service`
406 # will kill all sessions.
407 if ! grep -qs pam_systemd /etc/pam.d/system-auth; then
408 echo "-session optional pam_systemd.so" >>/etc/pam.d/system-auth
412 fh, error = io.open("/var/log/tallylog")
416 fh = io.open("/var/log/tallylog", "w+")
418 posix.chmod("/var/log/tallylog", "rw-------")
421 %post libs -p /sbin/ldconfig
422 %postun libs -p /sbin/ldconfig
424 %files -f Linux-PAM.lang
425 %defattr(644,root,root,755)
426 %doc AUTHORS CHANGELOG ChangeLog Copyright NEWS doc/txts/README*
428 %doc doc/specs/*.txt doc/sag/Linux-PAM_*.txt doc/{sag,}/html
431 %dir /etc/security/console.apps
432 %dir /etc/security/console.perms.d
433 %dir /var/run/console
434 %{systemdtmpfilesdir}/%{name}.conf
435 %config(noreplace) %verify(not md5 mtime size) /etc/environment
436 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/other
437 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/system-auth
438 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/config-util
439 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/postlogin
440 %config(noreplace) %verify(not md5 mtime size) /etc/security/access.conf
441 %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist
442 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.handlers
443 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.perms
444 %config(noreplace) %verify(not md5 mtime size) /etc/security/group.conf
445 %config(noreplace) %verify(not md5 mtime size) /etc/security/limits.conf
446 %config(noreplace) %verify(not md5 mtime size) /etc/security/namespace.conf
447 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/namespace.init
448 %config(noreplace) %verify(not md5 mtime size) /etc/security/pam_env.conf
449 %config(noreplace) %verify(not md5 mtime size) /etc/security/time.conf
450 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram
451 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.en
452 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.de
453 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.dk
454 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.es
455 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.fi
456 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.it
457 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.ja
458 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.no
459 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.pl
460 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.perms.d/50-default.perms
461 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/opasswd
462 %attr(755,root,root) %{_bindir}/pam_pwgen
463 %attr(755,root,root) %{_sbindir}/mkhomedir_helper
464 %attr(755,root,root) %{_sbindir}/pam_console_apply
465 %attr(755,root,root) %{_sbindir}/pam_tally
466 %attr(755,root,root) %{_sbindir}/pam_tally2
467 %attr(755,root,root) %{_sbindir}/pam_timestamp_check
468 %attr(755,root,root) %{_sbindir}/pwgen_trigram
469 %attr(4755,root,root) %{_sbindir}/unix_chkpwd
470 %attr(4755,root,root) %{_sbindir}/unix_update
471 %{_mandir}/man5/access.conf.5*
472 %{_mandir}/man5/config-util.5*
473 %{_mandir}/man5/console.apps.5*
474 %{_mandir}/man5/console.handlers.5*
475 %{_mandir}/man5/console.perms.5*
476 %{_mandir}/man5/environment.5*
477 %{_mandir}/man5/group.conf.5*
478 %{_mandir}/man5/limits.conf.5*
479 %{_mandir}/man5/namespace.conf.5*
480 %{_mandir}/man5/pam.conf.5*
481 %{_mandir}/man5/pam.d.5*
482 %{_mandir}/man5/pam_env.conf.5*
483 %{_mandir}/man5/system-auth.5*
484 %{_mandir}/man5/time.conf.5*
485 %{_mandir}/man8/PAM.8*
486 %{_mandir}/man8/mkhomedir_helper.8*
487 %{_mandir}/man8/pam.8*
488 %{_mandir}/man8/pam_*.8*
489 %{_mandir}/man8/unix_chkpwd.8*
490 %{_mandir}/man8/unix_update.8*
492 %exclude %{_mandir}/man8/pam_selinux*.8*
493 %exclude %{_mandir}/man8/pam_sepermit.8*
495 %exclude %{_mandir}/man8/pam_userdb.8*
496 %ghost %verify(not md5 mtime size) /var/log/tallylog
499 %attr(755,root,root) /%{_lib}/security/pam_access.so
500 %attr(755,root,root) /%{_lib}/security/pam_console.so
501 %attr(755,root,root) /%{_lib}/security/pam_cracklib.so
502 %attr(755,root,root) /%{_lib}/security/pam_debug.so
503 %attr(755,root,root) /%{_lib}/security/pam_deny.so
504 %attr(755,root,root) /%{_lib}/security/pam_echo.so
505 %attr(755,root,root) /%{_lib}/security/pam_env.so
506 %attr(755,root,root) /%{_lib}/security/pam_exec.so
507 %attr(755,root,root) /%{_lib}/security/pam_faildelay.so
508 %attr(755,root,root) /%{_lib}/security/pam_filter.so
509 %attr(755,root,root) /%{_lib}/security/pam_filter/upperLOWER
510 %attr(755,root,root) /%{_lib}/security/pam_ftp.so
511 %attr(755,root,root) /%{_lib}/security/pam_group.so
512 %attr(755,root,root) /%{_lib}/security/pam_issue.so
513 %attr(755,root,root) /%{_lib}/security/pam_keyinit.so
514 %attr(755,root,root) /%{_lib}/security/pam_lastlog.so
515 %attr(755,root,root) /%{_lib}/security/pam_limits.so
516 %attr(755,root,root) /%{_lib}/security/pam_listfile.so
517 %attr(755,root,root) /%{_lib}/security/pam_localuser.so
518 %attr(755,root,root) /%{_lib}/security/pam_loginuid.so
519 %attr(755,root,root) /%{_lib}/security/pam_mail.so
520 %attr(755,root,root) /%{_lib}/security/pam_mkhomedir.so
521 %attr(755,root,root) /%{_lib}/security/pam_motd.so
522 %attr(755,root,root) /%{_lib}/security/pam_namespace.so
523 %attr(755,root,root) /%{_lib}/security/pam_nologin.so
524 %attr(755,root,root) /%{_lib}/security/pam_permit.so
525 %attr(755,root,root) /%{_lib}/security/pam_pwexport.so
526 %attr(755,root,root) /%{_lib}/security/pam_pwgen.so
527 %attr(755,root,root) /%{_lib}/security/pam_pwhistory.so
528 %attr(755,root,root) /%{_lib}/security/pam_rhosts.so
529 %attr(755,root,root) /%{_lib}/security/pam_rootok.so
530 %attr(755,root,root) /%{_lib}/security/pam_rps.so
531 %attr(755,root,root) /%{_lib}/security/pam_securetty.so
532 %attr(755,root,root) /%{_lib}/security/pam_shells.so
533 %attr(755,root,root) /%{_lib}/security/pam_stress.so
534 %attr(755,root,root) /%{_lib}/security/pam_succeed_if.so
535 %attr(755,root,root) /%{_lib}/security/pam_tally2.so
536 %attr(755,root,root) /%{_lib}/security/pam_tally.so
537 %attr(755,root,root) /%{_lib}/security/pam_time.so
538 %attr(755,root,root) /%{_lib}/security/pam_timestamp.so
539 %{?with_audit:%attr(755,root,root) /%{_lib}/security/pam_tty_audit.so}
540 %attr(755,root,root) /%{_lib}/security/pam_umask.so
541 %attr(755,root,root) /%{_lib}/security/pam_unix.so
542 %attr(755,root,root) /%{_lib}/security/pam_warn.so
543 %attr(755,root,root) /%{_lib}/security/pam_wheel.so
544 %attr(755,root,root) /%{_lib}/security/pam_xauth.so
547 %defattr(644,root,root,755)
548 %dir /%{_lib}/security/pam_filter
549 %attr(755,root,root) /%{_lib}/libpam.so.*.*.*
550 %attr(755,root,root) %ghost /%{_lib}/libpam.so.0
551 %attr(755,root,root) /%{_lib}/libpam_misc.so.*.*.*
552 %attr(755,root,root) %ghost /%{_lib}/libpam_misc.so.0
553 %attr(755,root,root) /%{_lib}/libpamc.so.*.*.*
554 %attr(755,root,root) %ghost /%{_lib}/libpamc.so.0
557 %defattr(644,root,root,755)
559 %doc doc/{adg,mwg}/Linux-PAM_*.txt doc/{adg,mwg,}/html
561 %attr(755,root,root) %{_libdir}/libpam.so
562 %attr(755,root,root) %{_libdir}/libpam_misc.so
563 %attr(755,root,root) %{_libdir}/libpamc.so
565 %{_libdir}/libpam_misc.la
566 %{_libdir}/libpamc.la
567 %{_includedir}/security/_pam_*.h
568 %{_includedir}/security/pam*.h
569 %{_mandir}/man3/misc_conv.3*
570 %{_mandir}/man3/pam*.3*
573 %defattr(644,root,root,755)
576 %{_libdir}/libpam_misc.a
580 %defattr(644,root,root,755)
581 %attr(755,root,root) /%{_lib}/security/pam_selinux.so
582 %attr(755,root,root) /%{_lib}/security/pam_sepermit.so
583 %attr(755,root,root) %{_sbindir}/pam_selinux_check
584 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/pam_selinux_check
585 %config(noreplace) %verify(not md5 mtime size) /etc/security/sepermit.conf
586 %{_mandir}/man5/sepermit.conf.5*
587 %{_mandir}/man8/pam_selinux*.8*
588 %{_mandir}/man8/pam_sepermit.8*
589 %dir /var/run/sepermit
593 %defattr(644,root,root,755)
594 %doc modules/pam_userdb/README
595 %attr(755,root,root) /%{_lib}/security/pam_userdb.so
596 %{_mandir}/man8/pam_userdb.8*