2 # - check and package docs: https://fedorahosted.org/releases/l/i/linux-pam/Linux-PAM-1.1.8-docs.tar.bz2
5 %bcond_without doc # don't build documentation
6 %bcond_with prelude # build with Prelude IDS support (in libpam)
7 %bcond_without selinux # build without SELinux support
8 %bcond_without audit # build with Linux Auditing library support
10 %define pam_pld_version 1.1.2-1
11 Summary: Pluggable Authentication Modules: modular, incremental authentication
12 Summary(de.UTF-8): Einsteckbare Authentifizierungsmodule: modulare, inkrementäre Authentifizierung
13 Summary(es.UTF-8): Módulos de autentificación plugables (PAM)
14 Summary(fr.UTF-8): PAM : Pluggable Authentication Modules: modular, incremental authentication
15 Summary(pl.UTF-8): Modularny system uwierzytelniania
16 Summary(pt_BR.UTF-8): Módulos de autenticação plugáveis (PAM)
17 Summary(ru.UTF-8): Интструмент, обеспечивающий аутентификацию для приложений
18 Summary(tr.UTF-8): Modüler, artımsal doğrulama birimleri
19 Summary(uk.UTF-8): Інструмент, що забезпечує аутентифікацію для програм
26 Source0: http://www.linux-pam.org/library/Linux-PAM-%{version}.tar.bz2
27 # Source0-md5: 35b6091af95981b1b2cd60d813b5e4ee
28 Source2: ftp://ftp.pld-linux.org/software/pam/%{name}-pld-%{pam_pld_version}.tar.gz
29 # Source2-md5: f9ec6fcafcf1801bf318e60040244f2e
31 Source4: system-auth.pamd
32 Source5: config-util.pamd
33 Source6: %{name}_selinux_check.pamd
34 Source7: system-auth.5
35 Source8: config-util.5
36 Source9: %{name}.tmpfiles
37 Patch0: %{name}-pld-modules.patch
38 Patch2: %{name}-tally-fail-close.patch
39 Patch3: %{name}-mkhomedir-notfound.patch
40 Patch4: %{name}-db-gdbm.patch
41 Patch5: %{name}-exec-failok.patch
42 Patch6: update-motd.patch
43 URL: http://www.linux-pam.org/
44 %{?with_audit:BuildRequires: audit-libs-devel >= 1.6.9}
45 BuildRequires: autoconf >= 2.61
46 BuildRequires: automake
48 BuildRequires: cracklib-devel >= 2.8.3
49 # gdbm due to db pulling libpthread
51 BuildRequires: gdbm-devel >= 1.8.3-7
52 BuildRequires: gettext-devel >= 0.15
53 BuildRequires: glibc-devel >= 6:2.10.1
54 BuildRequires: glibc-misc
55 %{?with_prelude:BuildRequires: libprelude-devel >= 0.9.0}
56 %{?with_selinux:BuildRequires: libselinux-devel >= 1.33.2}
57 #BuildRequires: libtirpc-devel
58 BuildRequires: libtool >= 2:1.5
59 BuildRequires: libxcrypt-devel
60 %{?with_audit:BuildRequires: linux-libc-headers >= 2.6.23.1}
61 BuildRequires: zlib-devel
63 BuildRequires: docbook-dtd412-xml
64 BuildRequires: docbook-dtd43-xml
65 BuildRequires: docbook-dtd44-xml
66 BuildRequires: docbook-style-xsl >= 1.69.1
69 BuildRequires: libxml2-progs
70 BuildRequires: libxslt-progs
73 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
80 Conflicts: dev < 3.4-4
81 Conflicts: udev < 1:138-5
82 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
84 %define _sbindir /sbin
87 PAM (Pluggable Authentication Modules) is a powerful, flexible,
88 extensible authentication system which allows the system administrator
89 to configure authentication services individually for every
90 pam-compliant application without recompiling any of the applications.
92 %description -l de.UTF-8
93 PAM (Pluggable Authentication Modules) ist ein leistungsfähiges,
94 flexibles und erweiterbares Authentifizierungssystem, mit dem der
95 Systemverwalter Authentifizierungs-Dienste individuell für jede
96 pam-kompatible Anwendung konfigurieren kann, ohne diese neu
97 kompilieren zu müssen.
99 %description -l es.UTF-8
100 PAM (Módulos de Autenticación Plugables) es un potente, flexible y
101 extensible sistema de autentificación, que permite al administrador
102 del sistema configurar servicios de autentificación individualmente
103 para cada aplicación pam compatible, sin la necesidad de recompilar
104 cualquier una de las aplicaciones.
106 %description -l fr.UTF-8
107 PAM (Pluggable Authentication Modules) est un systéme
108 d'authentification puissant, souple et extensible permettant à
109 l'administrateur système de configurer les individuellement les
110 services d'authentification pour chaque application conforme à PAM,
111 sans recompiler aucune application.
113 %description -l pl.UTF-8
114 PAM (Pluggable Authentication Modules) jest silnym i łatwo
115 dostosowywalnym do potrzeb systemem uwierzytelniania, który umożliwia
116 administratorowi indywidualne konfigurowanie poszczególnych usług,
117 które są dostosowane i skonsolidowane z bibliotekami PAM, bez
118 późniejszej ich rekompilacji w momencie zmiany sposobu
119 uwierzytelniania tychże usług.
121 %description -l pt_BR.UTF-8
122 PAM (Módulos de Autenticação Plugáveis) é um poderoso, flexível e
123 extensível sistema de autenticação, que permite o administrador do
124 sistema configurar serviços de autenticação individualmente para cada
125 aplicação pam compatível, sem necessidade de recompilar qualquer uma
128 %description -l uk.UTF-8
129 PAM (Pluggable Authentication Modules) - це потужна, гнучка, здатна до
130 розширення система аутентикації, яка дозволяє системному
131 адміністратору налагоджувати севіси авторизації доступу (аутентикації)
132 індивідуально для кожної pam-сумісної програми без необхідності
133 перекомпіляції самої програми. Це базовий механізм аутентикації в PLD
136 %description -l tr.UTF-8
137 PAM (Pluggable Authentication Modules) sistem yöneticilerinin
138 uygulamalardan herhangi birini yeniden derlemeksizin bütün PAM uyumlu
139 uygulamalar için doğrulama hizmetlerini ayarlamalarına yardımcı olan,
140 güclü, esnek ve kapsamlı bir doğrulama sistemidir.
142 %description -l ru.UTF-8
143 PAM (Pluggable Authentication Modules) - это мощная, гибкая,
144 расширяемая система аутентикации, позволяющая системному
145 администратору конфигурировать сервисы авторизации доступа
146 (аутентикации) индивидуально для каждой pam-совместимой программы без
147 необходимости перекомпилляции самой программы. Это базовый механизм
148 аутентикации в PLD Linux.
151 Summary: PAM modules and libraries
152 Summary(pl.UTF-8): Moduły i biblioteki PAM
154 Requires(triggerpostun): sed >= 4.0
155 %{?with_audit:Requires: audit-libs >= 1.0.8}
156 Requires: cracklib >= 2.8.3
157 Requires: cracklib-dicts >= 2.8.3
158 Requires: crypt(blowfish)
159 Requires: gdbm >= 1.8.3-7
160 Requires: glibc >= 6:2.5-0.5
161 %{?with_selinux:Requires: libselinux >= 1.33.2}
162 Obsoletes: pam-pam_opie
163 Obsoletes: pam-pam_pwdb
164 Obsoletes: pam-pam_radius
165 Obsoletes: pam-pam_skey
166 Obsoletes: pam-pam_tcpd
167 Conflicts: pam < 0:0.80.1-2
170 Core PAM modules and libraries.
172 %description libs -l pl.UTF-8
173 Moduły i biblioteki PAM.
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
226 %description pam_selinux
227 PAM module - SELinux support.
229 %description pam_selinux -l pl.UTF-8
230 Moduł PAM pozwalający na zmianę kontekstów SELinuksa.
233 %setup -q -a2 -n Linux-PAM-%{version}
251 --includedir=%{_includedir}/security \
252 --enable-isadir=../../%{_lib}/security \
254 %{!?with_selinux:--disable-selinux} \
255 %{!?with_prelude:--disable-prelude} \
256 %{!?with_audit:--disable-audit}
258 # we must explicitely update-gmo as we patch a po file
259 %{__make} -C po update-gmo
261 DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE"
264 rm -rf $RPM_BUILD_ROOT
265 install -d $RPM_BUILD_ROOT{%{_libdir},/etc/pam.d,/var/{log,run/sepermit}} \
266 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
269 DESTDIR=$RPM_BUILD_ROOT
272 install -p modules/pam_selinux/.libs/pam_selinux_check $RPM_BUILD_ROOT%{_sbindir}
273 cp -p modules/pam_selinux/pam_selinux_check.8 $RPM_BUILD_ROOT%{_mandir}/man8
274 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/pam_selinux_check
277 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
280 for r in modules/pam_*/README ; do
281 cp -f $r doc/txts/README.$(basename $(dirname $r))
284 cp -f doc/index.html doc/html/
286 # fix PAM/pam man page
287 echo ".so PAM.8" > $RPM_BUILD_ROOT%{_mandir}/man8/pam.8
289 :> $RPM_BUILD_ROOT/etc/security/opasswd
290 :> $RPM_BUILD_ROOT/etc/security/blacklist
292 :> $RPM_BUILD_ROOT/var/log/tallylog
294 mv -f $RPM_BUILD_ROOT/%{_lib}/lib*.a $RPM_BUILD_ROOT%{_libdir}
296 cd $RPM_BUILD_ROOT/%{_lib}
297 for f in lib*.la ; do
298 sed -e 's|/%{_lib}/libpam|%{_libdir}/libpam|g' $f > $RPM_BUILD_ROOT%{_libdir}/$f
300 sed -i -e "s|libdir='/%{_lib}|libdir='%{_libdir}|g" $RPM_BUILD_ROOT%{_libdir}/$f
302 ln -sf /%{_lib}/$(echo libpam.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpam.so
303 ln -sf /%{_lib}/$(echo libpam_misc.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpam_misc.so
304 ln -sf /%{_lib}/$(echo libpamc.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpamc.so
307 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/other
308 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/system-auth
309 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/config-util
311 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_mandir}/man5/system-auth.5
312 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_mandir}/man5/config-util.5
314 # Make sure every module subdirectory gave us a module. Yes, this is hackish.
315 for dir in modules/pam_* ; do
316 %if %{without selinux}
317 [ ${dir} = "modules/pam_selinux" ] && continue
318 [ ${dir} = "modules/pam_sepermit" ] && continue
321 [ ${dir} = "modules/pam_tty_audit" ] && continue
323 if [ -d ${dir} ] ; then
324 if ! ls -1 $RPM_BUILD_ROOT/%{_lib}/security/`basename ${dir}`*.so ; then
325 echo ERROR `basename ${dir}` did not build a module.
331 for module in $RPM_BUILD_ROOT/%{_lib}/security/pam*.so ; do
332 # Check for module problems. Specifically, check that every module we just
333 # installed can actually be loaded by a minimal PAM-aware application.
334 if ! env LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_lib} \
335 ./dlopen.sh -ldl -lpam -L$RPM_BUILD_ROOT/%{_lib} ${module} ; then
336 echo ERROR module: ${module} cannot be loaded.
341 # useless - shut up check-files
342 rm -f $RPM_BUILD_ROOT/%{_lib}/security/*.{la,a}
343 rm -f $RPM_BUILD_ROOT/%{_lib}/lib*.so
344 rm -rf $RPM_BUILD_ROOT%{_docdir}/Linux-PAM
346 %if %{without selinux}
347 rm -rf $RPM_BUILD_ROOT{/%{_lib}/security/pam_selinux.so,%{_sbindir}/pam_selinux_check,%{_mandir}/man8/pam_selinux*.8*}
353 rm -rf $RPM_BUILD_ROOT
355 %triggerpostun libs -- %{name}-libs < 0.99.7.1
356 for f in $(grep -l "\(pam_make\|pam_homedir\)" /etc/pam.d/*); do
358 *rpmorig|*rpmnew|*rpmsave|*~|*.orig)
362 cp -f "$f" "$f.rpmorig"
363 sed -i -e 's/pam_make\.so \(.*\)/pam_exec.so failok seteuid \/usr\/bin\/make -C \1/g' \
364 -e 's/pam_homedir\.so/pam_mkhomedir.so/g' "$f"
368 if [ -d /var/lock/console -a -d /var/run/console ]; then
369 cp -a /var/lock/console/* /var/run/console/ 2> /dev/null
370 rm -rf /var/lock/console
373 %triggerin -- cronie,vixie-cron,hc-cron,fcron,mcron
374 # restart crond if pam is upgraded
375 # (crond is linked with old libpam but tries to open modules linked with new libpam)
376 if [ "$1" != 1 ]; then
377 %service -q crond restart
381 %triggerpostun -- %{name} < 1:1.1.5-8
383 if grep -qs change_uid /etc/pam.d/system-auth; then
384 %{__sed} -i -e '/session/ s/change_uid//' /etc/pam.d/system-auth
387 # We want it added for painless upgarde even if it mean log pollution for non-systemd
389 # If this module is not present on systemd enabled system then `systemctl restart sshd.service`
390 # will kill all sessions.
391 if ! grep -qs pam_systemd /etc/pam.d/system-auth; then
392 echo "-session optional pam_systemd.so" >>/etc/pam.d/system-auth
396 fh, error = io.open("/var/log/tallylog")
400 fh = io.open("/var/log/tallylog", "w+")
402 posix.chmod("/var/log/tallylog", "rw-------")
405 %post libs -p /sbin/ldconfig
406 %postun libs -p /sbin/ldconfig
408 %files -f Linux-PAM.lang
409 %defattr(644,root,root,755)
410 %doc AUTHORS CHANGELOG ChangeLog Copyright NEWS doc/txts/README*
412 %doc doc/specs/*.txt doc/sag/Linux-PAM_*.txt doc/{sag,}/html
415 %dir /etc/security/console.apps
416 %dir /etc/security/console.perms.d
417 %dir /var/run/console
418 %{systemdtmpfilesdir}/%{name}.conf
419 %config(noreplace) %verify(not md5 mtime size) /etc/environment
420 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/other
421 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/system-auth
422 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/config-util
423 %config(noreplace) %verify(not md5 mtime size) /etc/security/access.conf
424 %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist
425 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.handlers
426 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.perms
427 %config(noreplace) %verify(not md5 mtime size) /etc/security/group.conf
428 %config(noreplace) %verify(not md5 mtime size) /etc/security/limits.conf
429 %config(noreplace) %verify(not md5 mtime size) /etc/security/namespace.conf
430 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/namespace.init
431 %config(noreplace) %verify(not md5 mtime size) /etc/security/pam_env.conf
432 %config(noreplace) %verify(not md5 mtime size) /etc/security/time.conf
433 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram
434 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.en
435 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.de
436 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.dk
437 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.es
438 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.fi
439 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.it
440 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.ja
441 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.no
442 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.pl
443 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.perms.d/50-default.perms
444 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/opasswd
445 %attr(755,root,root) %{_bindir}/pam_pwgen
446 %attr(755,root,root) %{_sbindir}/mkhomedir_helper
447 %attr(755,root,root) %{_sbindir}/pam_console_apply
448 %attr(755,root,root) %{_sbindir}/pam_tally
449 %attr(755,root,root) %{_sbindir}/pam_tally2
450 %attr(755,root,root) %{_sbindir}/pam_timestamp_check
451 %attr(755,root,root) %{_sbindir}/pwgen_trigram
452 %attr(4755,root,root) %{_sbindir}/unix_chkpwd
453 %attr(4755,root,root) %{_sbindir}/unix_update
454 %{_mandir}/man5/access.conf.5*
455 %{_mandir}/man5/config-util.5*
456 %{_mandir}/man5/console.apps.5*
457 %{_mandir}/man5/console.handlers.5*
458 %{_mandir}/man5/console.perms.5*
459 %{_mandir}/man5/group.conf.5*
460 %{_mandir}/man5/limits.conf.5*
461 %{_mandir}/man5/namespace.conf.5*
462 %{_mandir}/man5/pam.conf.5*
463 %{_mandir}/man5/pam.d.5*
464 %{_mandir}/man5/pam_env.conf.5*
465 %{_mandir}/man5/system-auth.5*
466 %{_mandir}/man5/time.conf.5*
467 %{_mandir}/man8/PAM.8*
468 %{_mandir}/man8/mkhomedir_helper.8*
469 %{_mandir}/man8/pam.8*
470 %{_mandir}/man8/pam_*.8*
471 %{_mandir}/man8/unix_chkpwd.8*
472 %{_mandir}/man8/unix_update.8*
474 %exclude %{_mandir}/man8/pam_selinux*.8*
475 %exclude %{_mandir}/man8/pam_sepermit.8*
477 %ghost %verify(not md5 mtime size) /var/log/tallylog
480 %defattr(644,root,root,755)
481 %dir /%{_lib}/security/pam_filter
482 %attr(755,root,root) /%{_lib}/libpam.so.*.*.*
483 %attr(755,root,root) %ghost /%{_lib}/libpam.so.0
484 %attr(755,root,root) /%{_lib}/libpam_misc.so.*.*.*
485 %attr(755,root,root) %ghost /%{_lib}/libpam_misc.so.0
486 %attr(755,root,root) /%{_lib}/libpamc.so.*.*.*
487 %attr(755,root,root) %ghost /%{_lib}/libpamc.so.0
488 %attr(755,root,root) /%{_lib}/security/pam_access.so
489 %attr(755,root,root) /%{_lib}/security/pam_console.so
490 %attr(755,root,root) /%{_lib}/security/pam_cracklib.so
491 %attr(755,root,root) /%{_lib}/security/pam_debug.so
492 %attr(755,root,root) /%{_lib}/security/pam_deny.so
493 %attr(755,root,root) /%{_lib}/security/pam_echo.so
494 %attr(755,root,root) /%{_lib}/security/pam_env.so
495 %attr(755,root,root) /%{_lib}/security/pam_exec.so
496 %attr(755,root,root) /%{_lib}/security/pam_faildelay.so
497 %attr(755,root,root) /%{_lib}/security/pam_filter.so
498 %attr(755,root,root) /%{_lib}/security/pam_filter/upperLOWER
499 %attr(755,root,root) /%{_lib}/security/pam_ftp.so
500 %attr(755,root,root) /%{_lib}/security/pam_group.so
501 %attr(755,root,root) /%{_lib}/security/pam_issue.so
502 %attr(755,root,root) /%{_lib}/security/pam_keyinit.so
503 %attr(755,root,root) /%{_lib}/security/pam_lastlog.so
504 %attr(755,root,root) /%{_lib}/security/pam_limits.so
505 %attr(755,root,root) /%{_lib}/security/pam_listfile.so
506 %attr(755,root,root) /%{_lib}/security/pam_localuser.so
507 %attr(755,root,root) /%{_lib}/security/pam_loginuid.so
508 %attr(755,root,root) /%{_lib}/security/pam_mail.so
509 %attr(755,root,root) /%{_lib}/security/pam_mkhomedir.so
510 %attr(755,root,root) /%{_lib}/security/pam_motd.so
511 %attr(755,root,root) /%{_lib}/security/pam_namespace.so
512 %attr(755,root,root) /%{_lib}/security/pam_nologin.so
513 %attr(755,root,root) /%{_lib}/security/pam_permit.so
514 %attr(755,root,root) /%{_lib}/security/pam_pwexport.so
515 %attr(755,root,root) /%{_lib}/security/pam_pwgen.so
516 %attr(755,root,root) /%{_lib}/security/pam_pwhistory.so
517 %attr(755,root,root) /%{_lib}/security/pam_rhosts.so
518 %attr(755,root,root) /%{_lib}/security/pam_rootok.so
519 %attr(755,root,root) /%{_lib}/security/pam_rps.so
520 %attr(755,root,root) /%{_lib}/security/pam_securetty.so
521 %attr(755,root,root) /%{_lib}/security/pam_shells.so
522 %attr(755,root,root) /%{_lib}/security/pam_stress.so
523 %attr(755,root,root) /%{_lib}/security/pam_succeed_if.so
524 %attr(755,root,root) /%{_lib}/security/pam_tally2.so
525 %attr(755,root,root) /%{_lib}/security/pam_tally.so
526 %attr(755,root,root) /%{_lib}/security/pam_time.so
527 %attr(755,root,root) /%{_lib}/security/pam_timestamp.so
528 %{?with_audit:%attr(755,root,root) /%{_lib}/security/pam_tty_audit.so}
529 %attr(755,root,root) /%{_lib}/security/pam_umask.so
530 %attr(755,root,root) /%{_lib}/security/pam_unix.so
531 %attr(755,root,root) /%{_lib}/security/pam_userdb.so
532 %attr(755,root,root) /%{_lib}/security/pam_warn.so
533 %attr(755,root,root) /%{_lib}/security/pam_wheel.so
534 %attr(755,root,root) /%{_lib}/security/pam_xauth.so
537 %defattr(644,root,root,755)
539 %doc doc/{adg,mwg}/Linux-PAM_*.txt doc/{adg,mwg,}/html
541 %attr(755,root,root) %{_libdir}/libpam.so
542 %attr(755,root,root) %{_libdir}/libpam_misc.so
543 %attr(755,root,root) %{_libdir}/libpamc.so
545 %{_libdir}/libpam_misc.la
546 %{_libdir}/libpamc.la
547 %{_includedir}/security/_pam_*.h
548 %{_includedir}/security/pam*.h
549 %{_mandir}/man3/misc_conv.3*
550 %{_mandir}/man3/pam*.3*
553 %defattr(644,root,root,755)
556 %{_libdir}/libpam_misc.a
560 %defattr(644,root,root,755)
561 %attr(755,root,root) /%{_lib}/security/pam_selinux.so
562 %attr(755,root,root) /%{_lib}/security/pam_sepermit.so
563 %attr(755,root,root) %{_sbindir}/pam_selinux_check
564 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/pam_selinux_check
565 %config(noreplace) %verify(not md5 mtime size) /etc/security/sepermit.conf
566 %{_mandir}/man5/sepermit.conf.5*
567 %{_mandir}/man8/pam_selinux*.8*
568 %{_mandir}/man8/pam_sepermit.8*
569 %dir /var/run/sepermit