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: ee4a480d77b341c99e8b1375f8f180c0
29 Source2: ftp://ftp.pld-linux.org/software/pam/%{name}-pld-%{pam_pld_version}.tar.gz
30 # Source2-md5: f9ec6fcafcf1801bf318e60040244f2e
32 Source4: system-auth.pamd
33 Source5: config-util.pamd
34 Source6: %{name}_selinux_check.pamd
35 Source7: system-auth.5
36 Source8: config-util.5
37 Source9: %{name}.tmpfiles
38 Source10: postlogin.pamd
39 Patch0: %{name}-pld-modules.patch
40 Patch2: %{name}-tally-fail-close.patch
41 Patch3: %{name}-mkhomedir-notfound.patch
42 Patch4: %{name}-db-gdbm.patch
43 Patch5: %{name}-exec-failok.patch
44 Patch6: update-motd.patch
45 URL: http://www.linux-pam.org/
46 %{?with_audit:BuildRequires: audit-libs-devel >= 1.6.9}
47 BuildRequires: autoconf >= 2.61
48 BuildRequires: automake
50 BuildRequires: cracklib-devel >= 2.8.3
51 # gdbm due to db pulling libpthread
53 BuildRequires: gdbm-devel >= 1.8.3-7
54 BuildRequires: gettext-tools >= 0.18.3
55 BuildRequires: glibc-devel >= 6:2.10.1
56 BuildRequires: glibc-misc
57 %{?with_prelude:BuildRequires: libprelude-devel >= 0.9.0}
58 %{?with_selinux:BuildRequires: libselinux-devel >= 1.33.2}
59 #BuildRequires: libtirpc-devel
60 BuildRequires: libtool >= 2:1.5
61 BuildRequires: libxcrypt-devel
62 %{?with_audit:BuildRequires: linux-libc-headers >= 2.6.23.1}
63 BuildRequires: zlib-devel
65 BuildRequires: docbook-dtd412-xml
66 BuildRequires: docbook-dtd43-xml
67 BuildRequires: docbook-dtd44-xml
68 BuildRequires: docbook-style-xsl >= 1.69.1
71 BuildRequires: libxml2-progs
72 BuildRequires: libxslt-progs
75 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
76 %{?with_audit:Requires: audit-libs >= 1.0.8}
78 Requires: cracklib >= 2.8.3
79 Requires: cracklib-dicts >= 2.8.3
80 Requires: crypt(blowfish)
81 Requires: glibc >= 6:2.5-0.5
83 Suggests: pam-pam_userdb = %{epoch}:%{version}-%{release}
85 Obsoletes: pam-pam_opie
86 Obsoletes: pam-pam_pwdb
87 Obsoletes: pam-pam_radius
88 Obsoletes: pam-pam_skey
89 Obsoletes: pam-pam_tcpd
92 Conflicts: dev < 3.4-4
93 Conflicts: pam < 0:0.80.1-2
94 Conflicts: udev < 1:138-5
95 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
97 %define _sbindir /sbin
100 PAM (Pluggable Authentication Modules) is a powerful, flexible,
101 extensible authentication system which allows the system administrator
102 to configure authentication services individually for every
103 pam-compliant application without recompiling any of the applications.
105 %description -l de.UTF-8
106 PAM (Pluggable Authentication Modules) ist ein leistungsfähiges,
107 flexibles und erweiterbares Authentifizierungssystem, mit dem der
108 Systemverwalter Authentifizierungs-Dienste individuell für jede
109 pam-kompatible Anwendung konfigurieren kann, ohne diese neu
110 kompilieren zu müssen.
112 %description -l es.UTF-8
113 PAM (Módulos de Autenticación Plugables) es un potente, flexible y
114 extensible sistema de autentificación, que permite al administrador
115 del sistema configurar servicios de autentificación individualmente
116 para cada aplicación pam compatible, sin la necesidad de recompilar
117 cualquier una de las aplicaciones.
119 %description -l fr.UTF-8
120 PAM (Pluggable Authentication Modules) est un systéme
121 d'authentification puissant, souple et extensible permettant à
122 l'administrateur système de configurer les individuellement les
123 services d'authentification pour chaque application conforme à PAM,
124 sans recompiler aucune application.
126 %description -l pl.UTF-8
127 PAM (Pluggable Authentication Modules) jest silnym i łatwo
128 dostosowywalnym do potrzeb systemem uwierzytelniania, który umożliwia
129 administratorowi indywidualne konfigurowanie poszczególnych usług,
130 które są dostosowane i skonsolidowane z bibliotekami PAM, bez
131 późniejszej ich rekompilacji w momencie zmiany sposobu
132 uwierzytelniania tychże usług.
134 %description -l pt_BR.UTF-8
135 PAM (Módulos de Autenticação Plugáveis) é um poderoso, flexível e
136 extensível sistema de autenticação, que permite o administrador do
137 sistema configurar serviços de autenticação individualmente para cada
138 aplicação pam compatível, sem necessidade de recompilar qualquer uma
141 %description -l uk.UTF-8
142 PAM (Pluggable Authentication Modules) - це потужна, гнучка, здатна до
143 розширення система аутентикації, яка дозволяє системному
144 адміністратору налагоджувати севіси авторизації доступу (аутентикації)
145 індивідуально для кожної pam-сумісної програми без необхідності
146 перекомпіляції самої програми. Це базовий механізм аутентикації в PLD
149 %description -l tr.UTF-8
150 PAM (Pluggable Authentication Modules) sistem yöneticilerinin
151 uygulamalardan herhangi birini yeniden derlemeksizin bütün PAM uyumlu
152 uygulamalar için doğrulama hizmetlerini ayarlamalarına yardımcı olan,
153 güclü, esnek ve kapsamlı bir doğrulama sistemidir.
155 %description -l ru.UTF-8
156 PAM (Pluggable Authentication Modules) - это мощная, гибкая,
157 расширяемая система аутентикации, позволяющая системному
158 администратору конфигурировать сервисы авторизации доступа
159 (аутентикации) индивидуально для каждой pam-совместимой программы без
160 необходимости перекомпилляции самой программы. Это базовый механизм
161 аутентикации в PLD Linux.
164 Summary: PAM libraries
165 Summary(pl.UTF-8): Moduły PAM
167 Requires(triggerpostun): sed >= 4.0
172 %description libs -l pl.UTF-8
176 Summary: PAM header files
177 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja programisty do PAM
178 Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento com PAM
179 Summary(ru.UTF-8): Библиотеки разработчика для PAM
180 Summary(uk.UTF-8): Бібліотеки програміста для PAM
181 Group: Development/Libraries
182 Requires: %{name} = %{epoch}:%{version}-%{release}
183 %{?with_audit:Requires: audit-libs-devel >= 1.0.8}
184 Requires: filesystem >= 3.0-11
187 Header files for developing PAM based applications.
189 %description devel -l pl.UTF-8
190 Pliki nagłówkowe i dokumentacja programisty do PAM.
192 %description devel -l pt_BR.UTF-8
193 Bibliotecas e arquivos de inclusão para desenvolvimento com PAM
195 %description devel -l ru.UTF-8
196 Этот пакет содержит хедеры и библиотеки разработчика для PAM.
198 %description devel -l uk.UTF-8
199 Цей пакет містить хедери та бібліотеки програміста для PAM.
202 Summary: PAM static libraries
203 Summary(pl.UTF-8): Biblioteki statyczne PAM
204 Summary(ru.UTF-8): Статические библиотеки разработчика для PAM
205 Summary(uk.UTF-8): Статичні бібліотеки програміста для PAM
206 Group: Development/Libraries
207 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
210 PAM static libraries.
212 %description static -l pl.UTF-8
213 Biblioteki statyczne PAM.
215 %description static -l ru.UTF-8
216 Этот пакет содержит статические библиотеки разработчика для PAM.
218 %description static -l uk.UTF-8
219 Цей пакет містить статичні бібліотеки програміста для PAM.
222 Summary: PAM module - SELinux support
223 Summary(pl.UTF-8): Moduł PAM pozwalający na zmianę kontekstów SELinuksa
225 Requires: libselinux >= 1.33.2
227 %description pam_selinux
228 PAM module - SELinux support.
230 %description pam_selinux -l pl.UTF-8
231 Moduł PAM pozwalający na zmianę kontekstów SELinuksa.
234 Summary: PAM module - authenticate against db database
236 Requires: gdbm >= 1.8.3-7
237 Conflicts: pam-libs < 1:1.1.8-3.1
239 %description pam_userdb
240 pam_userdb - PAM module to authenticate against a Berkeley DB database
243 %setup -q -a2 -n Linux-PAM-%{version}
262 --includedir=%{_includedir}/security \
263 --enable-isadir=../../%{_lib}/security \
265 %{!?with_selinux:--disable-selinux} \
266 %{!?with_prelude:--disable-prelude} \
267 %{!?with_audit:--disable-audit}
269 # we must explicitely update-gmo as we patch a po file
270 %{__make} -C po update-gmo
272 DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE"
275 rm -rf $RPM_BUILD_ROOT
276 install -d $RPM_BUILD_ROOT{%{_libdir},/etc/pam.d,/var/{log,run/sepermit}} \
277 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
280 DESTDIR=$RPM_BUILD_ROOT
283 install -p modules/pam_selinux/.libs/pam_selinux_check $RPM_BUILD_ROOT%{_sbindir}
284 cp -p modules/pam_selinux/pam_selinux_check.8 $RPM_BUILD_ROOT%{_mandir}/man8
285 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/pam_selinux_check
288 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
291 for r in modules/pam_*/README; do
292 cp -pf $r doc/txts/README.$(basename $(dirname $r))
294 rm doc/txts/README.pam_userdb
296 cp -pf doc/index.html doc/html/
298 # fix PAM/pam man page
299 echo ".so PAM.8" > $RPM_BUILD_ROOT%{_mandir}/man8/pam.8
301 :> $RPM_BUILD_ROOT/etc/security/opasswd
302 :> $RPM_BUILD_ROOT/etc/security/blacklist
304 :> $RPM_BUILD_ROOT/var/log/tallylog
306 mv -f $RPM_BUILD_ROOT/%{_lib}/lib*.a $RPM_BUILD_ROOT%{_libdir}
308 cd $RPM_BUILD_ROOT/%{_lib}
309 for f in lib*.la ; do
310 sed -e 's|/%{_lib}/libpam|%{_libdir}/libpam|g' $f > $RPM_BUILD_ROOT%{_libdir}/$f
312 sed -i -e "s|libdir='/%{_lib}|libdir='%{_libdir}|g" $RPM_BUILD_ROOT%{_libdir}/$f
314 ln -sf /%{_lib}/$(echo libpam.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpam.so
315 ln -sf /%{_lib}/$(echo libpam_misc.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpam_misc.so
316 ln -sf /%{_lib}/$(echo libpamc.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpamc.so
319 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/other
320 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/system-auth
321 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/config-util
322 cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/postlogin
324 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_mandir}/man5/system-auth.5
325 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_mandir}/man5/config-util.5
327 # Make sure every module subdirectory gave us a module. Yes, this is hackish.
328 for dir in modules/pam_* ; do
329 %if %{without selinux}
330 [ ${dir} = "modules/pam_selinux" ] && continue
331 [ ${dir} = "modules/pam_sepermit" ] && continue
334 [ ${dir} = "modules/pam_tty_audit" ] && continue
336 if [ -d ${dir} ] ; then
337 if ! ls -1 $RPM_BUILD_ROOT/%{_lib}/security/`basename ${dir}`*.so ; then
338 echo ERROR `basename ${dir}` did not build a module.
344 for module in $RPM_BUILD_ROOT/%{_lib}/security/pam*.so ; do
345 # Check for module problems. Specifically, check that every module we just
346 # installed can actually be loaded by a minimal PAM-aware application.
347 if ! env LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_lib} \
348 ./dlopen.sh -ldl -lpam -L$RPM_BUILD_ROOT/%{_lib} ${module} ; then
349 echo ERROR module: ${module} cannot be loaded.
354 # useless - shut up check-files
355 rm -f $RPM_BUILD_ROOT/%{_lib}/security/*.{la,a}
356 rm -f $RPM_BUILD_ROOT/%{_lib}/lib*.so
357 rm -rf $RPM_BUILD_ROOT%{_docdir}/Linux-PAM
359 %if %{without selinux}
360 rm -rf $RPM_BUILD_ROOT{/%{_lib}/security/pam_selinux.so,%{_sbindir}/pam_selinux_check,%{_mandir}/man8/pam_selinux*.8*}
366 rm -rf $RPM_BUILD_ROOT
368 %triggerpostun libs -- %{name}-libs < 0.99.7.1
369 for f in $(grep -l "\(pam_make\|pam_homedir\)" /etc/pam.d/*); do
371 *rpmorig|*rpmnew|*rpmsave|*~|*.orig)
375 cp -f "$f" "$f.rpmorig"
376 sed -i -e 's/pam_make\.so \(.*\)/pam_exec.so failok seteuid \/usr\/bin\/make -C \1/g' \
377 -e 's/pam_homedir\.so/pam_mkhomedir.so/g' "$f"
381 if [ -d /var/lock/console -a -d /var/run/console ]; then
382 cp -a /var/lock/console/* /var/run/console/ 2> /dev/null
383 rm -rf /var/lock/console
386 %triggerin -- cronie,vixie-cron,hc-cron,fcron,mcron
387 # restart crond if pam is upgraded
388 # (crond is linked with old libpam but tries to open modules linked with new libpam)
389 if [ "$1" != 1 ]; then
390 %service -q crond restart
394 %triggerpostun -- %{name} < 1:1.1.5-8
396 if grep -qs change_uid /etc/pam.d/system-auth; then
397 %{__sed} -i -e '/session/ s/change_uid//' /etc/pam.d/system-auth
400 # We want it added for painless upgarde even if it mean log pollution for non-systemd
402 # If this module is not present on systemd enabled system then `systemctl restart sshd.service`
403 # will kill all sessions.
404 if ! grep -qs pam_systemd /etc/pam.d/system-auth; then
405 echo "-session optional pam_systemd.so" >>/etc/pam.d/system-auth
409 fh, error = io.open("/var/log/tallylog")
413 fh = io.open("/var/log/tallylog", "w+")
415 posix.chmod("/var/log/tallylog", "rw-------")
418 %post libs -p /sbin/ldconfig
419 %postun libs -p /sbin/ldconfig
421 %files -f Linux-PAM.lang
422 %defattr(644,root,root,755)
423 %doc AUTHORS CHANGELOG ChangeLog Copyright NEWS doc/txts/README*
425 %doc doc/specs/*.txt doc/sag/Linux-PAM_*.txt doc/{sag,}/html
428 %dir /etc/security/console.apps
429 %dir /etc/security/console.perms.d
430 %dir /var/run/console
431 %{systemdtmpfilesdir}/%{name}.conf
432 %config(noreplace) %verify(not md5 mtime size) /etc/environment
433 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/other
434 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/system-auth
435 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/config-util
436 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/postlogin
437 %config(noreplace) %verify(not md5 mtime size) /etc/security/access.conf
438 %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist
439 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.handlers
440 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.perms
441 %config(noreplace) %verify(not md5 mtime size) /etc/security/group.conf
442 %config(noreplace) %verify(not md5 mtime size) /etc/security/limits.conf
443 %config(noreplace) %verify(not md5 mtime size) /etc/security/namespace.conf
444 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/namespace.init
445 %config(noreplace) %verify(not md5 mtime size) /etc/security/pam_env.conf
446 %config(noreplace) %verify(not md5 mtime size) /etc/security/time.conf
447 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram
448 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.en
449 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.de
450 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.dk
451 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.es
452 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.fi
453 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.it
454 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.ja
455 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.no
456 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.pl
457 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.perms.d/50-default.perms
458 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/opasswd
459 %attr(755,root,root) %{_bindir}/pam_pwgen
460 %attr(755,root,root) %{_sbindir}/mkhomedir_helper
461 %attr(755,root,root) %{_sbindir}/pam_console_apply
462 %attr(755,root,root) %{_sbindir}/pam_tally
463 %attr(755,root,root) %{_sbindir}/pam_tally2
464 %attr(755,root,root) %{_sbindir}/pam_timestamp_check
465 %attr(755,root,root) %{_sbindir}/pwgen_trigram
466 %attr(4755,root,root) %{_sbindir}/unix_chkpwd
467 %attr(4755,root,root) %{_sbindir}/unix_update
468 %{_mandir}/man5/access.conf.5*
469 %{_mandir}/man5/config-util.5*
470 %{_mandir}/man5/console.apps.5*
471 %{_mandir}/man5/console.handlers.5*
472 %{_mandir}/man5/console.perms.5*
473 %{_mandir}/man5/group.conf.5*
474 %{_mandir}/man5/limits.conf.5*
475 %{_mandir}/man5/namespace.conf.5*
476 %{_mandir}/man5/pam.conf.5*
477 %{_mandir}/man5/pam.d.5*
478 %{_mandir}/man5/pam_env.conf.5*
479 %{_mandir}/man5/system-auth.5*
480 %{_mandir}/man5/time.conf.5*
481 %{_mandir}/man8/PAM.8*
482 %{_mandir}/man8/mkhomedir_helper.8*
483 %{_mandir}/man8/pam.8*
484 %{_mandir}/man8/pam_*.8*
485 %{_mandir}/man8/unix_chkpwd.8*
486 %{_mandir}/man8/unix_update.8*
488 %exclude %{_mandir}/man8/pam_selinux*.8*
489 %exclude %{_mandir}/man8/pam_sepermit.8*
491 %exclude %{_mandir}/man8/pam_userdb.8*
492 %ghost %verify(not md5 mtime size) /var/log/tallylog
495 %attr(755,root,root) /%{_lib}/security/pam_access.so
496 %attr(755,root,root) /%{_lib}/security/pam_console.so
497 %attr(755,root,root) /%{_lib}/security/pam_cracklib.so
498 %attr(755,root,root) /%{_lib}/security/pam_debug.so
499 %attr(755,root,root) /%{_lib}/security/pam_deny.so
500 %attr(755,root,root) /%{_lib}/security/pam_echo.so
501 %attr(755,root,root) /%{_lib}/security/pam_env.so
502 %attr(755,root,root) /%{_lib}/security/pam_exec.so
503 %attr(755,root,root) /%{_lib}/security/pam_faildelay.so
504 %attr(755,root,root) /%{_lib}/security/pam_filter.so
505 %attr(755,root,root) /%{_lib}/security/pam_filter/upperLOWER
506 %attr(755,root,root) /%{_lib}/security/pam_ftp.so
507 %attr(755,root,root) /%{_lib}/security/pam_group.so
508 %attr(755,root,root) /%{_lib}/security/pam_issue.so
509 %attr(755,root,root) /%{_lib}/security/pam_keyinit.so
510 %attr(755,root,root) /%{_lib}/security/pam_lastlog.so
511 %attr(755,root,root) /%{_lib}/security/pam_limits.so
512 %attr(755,root,root) /%{_lib}/security/pam_listfile.so
513 %attr(755,root,root) /%{_lib}/security/pam_localuser.so
514 %attr(755,root,root) /%{_lib}/security/pam_loginuid.so
515 %attr(755,root,root) /%{_lib}/security/pam_mail.so
516 %attr(755,root,root) /%{_lib}/security/pam_mkhomedir.so
517 %attr(755,root,root) /%{_lib}/security/pam_motd.so
518 %attr(755,root,root) /%{_lib}/security/pam_namespace.so
519 %attr(755,root,root) /%{_lib}/security/pam_nologin.so
520 %attr(755,root,root) /%{_lib}/security/pam_permit.so
521 %attr(755,root,root) /%{_lib}/security/pam_pwexport.so
522 %attr(755,root,root) /%{_lib}/security/pam_pwgen.so
523 %attr(755,root,root) /%{_lib}/security/pam_pwhistory.so
524 %attr(755,root,root) /%{_lib}/security/pam_rhosts.so
525 %attr(755,root,root) /%{_lib}/security/pam_rootok.so
526 %attr(755,root,root) /%{_lib}/security/pam_rps.so
527 %attr(755,root,root) /%{_lib}/security/pam_securetty.so
528 %attr(755,root,root) /%{_lib}/security/pam_shells.so
529 %attr(755,root,root) /%{_lib}/security/pam_stress.so
530 %attr(755,root,root) /%{_lib}/security/pam_succeed_if.so
531 %attr(755,root,root) /%{_lib}/security/pam_tally2.so
532 %attr(755,root,root) /%{_lib}/security/pam_tally.so
533 %attr(755,root,root) /%{_lib}/security/pam_time.so
534 %attr(755,root,root) /%{_lib}/security/pam_timestamp.so
535 %{?with_audit:%attr(755,root,root) /%{_lib}/security/pam_tty_audit.so}
536 %attr(755,root,root) /%{_lib}/security/pam_umask.so
537 %attr(755,root,root) /%{_lib}/security/pam_unix.so
538 %attr(755,root,root) /%{_lib}/security/pam_warn.so
539 %attr(755,root,root) /%{_lib}/security/pam_wheel.so
540 %attr(755,root,root) /%{_lib}/security/pam_xauth.so
543 %defattr(644,root,root,755)
544 %dir /%{_lib}/security/pam_filter
545 %attr(755,root,root) /%{_lib}/libpam.so.*.*.*
546 %attr(755,root,root) %ghost /%{_lib}/libpam.so.0
547 %attr(755,root,root) /%{_lib}/libpam_misc.so.*.*.*
548 %attr(755,root,root) %ghost /%{_lib}/libpam_misc.so.0
549 %attr(755,root,root) /%{_lib}/libpamc.so.*.*.*
550 %attr(755,root,root) %ghost /%{_lib}/libpamc.so.0
553 %defattr(644,root,root,755)
555 %doc doc/{adg,mwg}/Linux-PAM_*.txt doc/{adg,mwg,}/html
557 %attr(755,root,root) %{_libdir}/libpam.so
558 %attr(755,root,root) %{_libdir}/libpam_misc.so
559 %attr(755,root,root) %{_libdir}/libpamc.so
561 %{_libdir}/libpam_misc.la
562 %{_libdir}/libpamc.la
563 %{_includedir}/security/_pam_*.h
564 %{_includedir}/security/pam*.h
565 %{_mandir}/man3/misc_conv.3*
566 %{_mandir}/man3/pam*.3*
569 %defattr(644,root,root,755)
572 %{_libdir}/libpam_misc.a
576 %defattr(644,root,root,755)
577 %attr(755,root,root) /%{_lib}/security/pam_selinux.so
578 %attr(755,root,root) /%{_lib}/security/pam_sepermit.so
579 %attr(755,root,root) %{_sbindir}/pam_selinux_check
580 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/pam_selinux_check
581 %config(noreplace) %verify(not md5 mtime size) /etc/security/sepermit.conf
582 %{_mandir}/man5/sepermit.conf.5*
583 %{_mandir}/man8/pam_selinux*.8*
584 %{_mandir}/man8/pam_sepermit.8*
585 %dir /var/run/sepermit
589 %defattr(644,root,root,755)
590 %doc modules/pam_userdb/README
591 %attr(755,root,root) /%{_lib}/security/pam_userdb.so
592 %{_mandir}/man8/pam_userdb.8*