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