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