2 # - fix pdf gen or disable it: No fo2pdf processor installed, skip PDF generation
3 # - replace pam_cracklib.so with pam_pwquality.so (backwards compatible with its options), comes with pam-pam_pwquality package
4 # - pam_tally, pam_tally2 are deprecated in favor of pam_faillock
5 # NOTE: https://github.com/linux-pam/linux-pam/releases/download/v%{version}/Linux-PAM-%{version}-docs.tar.xz
6 # is not needed here: it contains documentation in target formats (HTML, PDF) built from sources included in main tarball
9 %bcond_without doc # documentation
10 %bcond_with prelude # Prelude IDS support (in libpam)
11 %bcond_without selinux # SELinux support
12 %bcond_without audit # Linux Auditing library support
14 %define pam_pld_version 1.1.2-1
15 Summary: Pluggable Authentication Modules: modular, incremental authentication
16 Summary(de.UTF-8): Einsteckbare Authentifizierungsmodule: modulare, inkrementäre Authentifizierung
17 Summary(es.UTF-8): Módulos de autentificación plugables (PAM)
18 Summary(fr.UTF-8): PAM : Pluggable Authentication Modules: modular, incremental authentication
19 Summary(pl.UTF-8): Modularny system uwierzytelniania
20 Summary(pt_BR.UTF-8): Módulos de autenticação plugáveis (PAM)
21 Summary(ru.UTF-8): Интструмент, обеспечивающий аутентификацию для приложений
22 Summary(tr.UTF-8): Modüler, artımsal doğrulama birimleri
23 Summary(uk.UTF-8): Інструмент, що забезпечує аутентифікацію для програм
28 # The library is BSD licensed with option to relicense as GPLv2+
29 # - this option is redundant as the BSD license allows that anyway.
30 # pam_timestamp, pam_loginuid, and pam_console modules are GPLv2+.
31 License: BSD and GPL v2+
33 Source0: https://github.com/linux-pam/linux-pam/releases/download/v%{version}/Linux-PAM-%{version}.tar.xz
34 # Source0-md5: a913bd5fbf9edeafaacf3eb1eb86fd83
35 Source2: ftp://ftp.pld-linux.org/software/pam/%{name}-pld-%{pam_pld_version}.tar.gz
36 # Source2-md5: f9ec6fcafcf1801bf318e60040244f2e
38 Source4: system-auth.pamd
39 Source5: config-util.pamd
40 Source6: %{name}_selinux_check.pamd
41 Source7: system-auth.5
42 Source8: config-util.5
43 Source9: %{name}.tmpfiles
44 Source10: postlogin.pamd
45 Patch0: %{name}-pld-modules.patch
46 Patch1: %{name}_console-lex-static.patch
47 Patch3: %{name}-mkhomedir-notfound.patch
48 Patch4: %{name}-db-gdbm.patch
49 Patch5: %{name}-exec-failok.patch
50 Patch6: pam_console_pam_tty.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
57 # gdbm due to db pulling libpthread
58 BuildRequires: gdbm-devel >= 1.8.3-7
59 BuildRequires: gettext-tools >= 0.18.3
60 BuildRequires: glibc-devel >= 6:2.10.1
61 BuildRequires: libnsl-devel
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 >= 7:2.6.23.1}
68 BuildRequires: pkgconfig
69 BuildRequires: tar >= 1:1.22
71 BuildRequires: zlib-devel
73 BuildRequires: docbook-dtd412-xml
74 BuildRequires: docbook-dtd43-xml
75 BuildRequires: docbook-dtd44-xml
76 BuildRequires: docbook-dtd50-xml
77 BuildRequires: docbook-style-xsl >= 1.69.1
80 BuildRequires: libxml2-progs
81 BuildRequires: libxslt-progs
84 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
85 %{?with_audit:Requires: audit-libs >= 1.0.8}
87 Requires: crypt(blowfish)
88 Requires: glibc >= 6:2.5-0.5
89 %{?with_selinux:Requires: libselinux >= 2.1.9}
91 Suggests: pam-pam_pwquality
92 Suggests: pam-pam_userdb = %{epoch}:%{version}-%{release}
94 Obsoletes: pam-pam_opie
95 Obsoletes: pam-pam_pwdb
96 Obsoletes: pam-pam_radius
97 Obsoletes: pam-pam_skey
98 Obsoletes: pam-pam_tcpd
101 Conflicts: dev < 3.4-4
102 Conflicts: pam < 0:0.80.1-2
103 Conflicts: udev < 1:138-5
104 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
106 %define _sbindir /sbin
109 PAM (Pluggable Authentication Modules) is a powerful, flexible,
110 extensible authentication system which allows the system administrator
111 to configure authentication services individually for every
112 pam-compliant application without recompiling any of the applications.
114 %description -l de.UTF-8
115 PAM (Pluggable Authentication Modules) ist ein leistungsfähiges,
116 flexibles und erweiterbares Authentifizierungssystem, mit dem der
117 Systemverwalter Authentifizierungs-Dienste individuell für jede
118 pam-kompatible Anwendung konfigurieren kann, ohne diese neu
119 kompilieren zu müssen.
121 %description -l es.UTF-8
122 PAM (Módulos de Autenticación Plugables) es un potente, flexible y
123 extensible sistema de autentificación, que permite al administrador
124 del sistema configurar servicios de autentificación individualmente
125 para cada aplicación pam compatible, sin la necesidad de recompilar
126 cualquier una de las aplicaciones.
128 %description -l fr.UTF-8
129 PAM (Pluggable Authentication Modules) est un systéme
130 d'authentification puissant, souple et extensible permettant à
131 l'administrateur système de configurer les individuellement les
132 services d'authentification pour chaque application conforme à PAM,
133 sans recompiler aucune application.
135 %description -l pl.UTF-8
136 PAM (Pluggable Authentication Modules) jest silnym i łatwo
137 dostosowywalnym do potrzeb systemem uwierzytelniania, który umożliwia
138 administratorowi indywidualne konfigurowanie poszczególnych usług,
139 które są dostosowane i skonsolidowane z bibliotekami PAM, bez
140 późniejszej ich rekompilacji w momencie zmiany sposobu
141 uwierzytelniania tychże usług.
143 %description -l pt_BR.UTF-8
144 PAM (Módulos de Autenticação Plugáveis) é um poderoso, flexível e
145 extensível sistema de autenticação, que permite o administrador do
146 sistema configurar serviços de autenticação individualmente para cada
147 aplicação pam compatível, sem necessidade de recompilar qualquer uma
150 %description -l uk.UTF-8
151 PAM (Pluggable Authentication Modules) - це потужна, гнучка, здатна до
152 розширення система аутентикації, яка дозволяє системному
153 адміністратору налагоджувати севіси авторизації доступу (аутентикації)
154 індивідуально для кожної pam-сумісної програми без необхідності
155 перекомпіляції самої програми. Це базовий механізм аутентикації в PLD
158 %description -l tr.UTF-8
159 PAM (Pluggable Authentication Modules) sistem yöneticilerinin
160 uygulamalardan herhangi birini yeniden derlemeksizin bütün PAM uyumlu
161 uygulamalar için doğrulama hizmetlerini ayarlamalarına yardımcı olan,
162 güclü, esnek ve kapsamlı bir doğrulama sistemidir.
164 %description -l ru.UTF-8
165 PAM (Pluggable Authentication Modules) - это мощная, гибкая,
166 расширяемая система аутентикации, позволяющая системному
167 администратору конфигурировать сервисы авторизации доступа
168 (аутентикации) индивидуально для каждой pam-совместимой программы без
169 необходимости перекомпилляции самой программы. Это базовый механизм
170 аутентикации в PLD Linux.
173 Summary: PAM libraries
174 Summary(pl.UTF-8): Moduły PAM
181 %description libs -l pl.UTF-8
185 Summary: PAM header files
186 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja programisty do PAM
187 Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento com PAM
188 Summary(ru.UTF-8): Библиотеки разработчика для PAM
189 Summary(uk.UTF-8): Бібліотеки програміста для PAM
190 Group: Development/Libraries
191 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
192 %{?with_audit:Requires: audit-libs-devel >= 1.0.8}
193 Requires: filesystem >= 3.0-11
196 Header files for developing PAM based applications.
198 %description devel -l pl.UTF-8
199 Pliki nagłówkowe i dokumentacja programisty do PAM.
201 %description devel -l pt_BR.UTF-8
202 Bibliotecas e arquivos de inclusão para desenvolvimento com PAM
204 %description devel -l ru.UTF-8
205 Этот пакет содержит хедеры и библиотеки разработчика для PAM.
207 %description devel -l uk.UTF-8
208 Цей пакет містить хедери та бібліотеки програміста для PAM.
211 Summary: PAM static libraries
212 Summary(pl.UTF-8): Biblioteki statyczne PAM
213 Summary(ru.UTF-8): Статические библиотеки разработчика для PAM
214 Summary(uk.UTF-8): Статичні бібліотеки програміста для PAM
215 Group: Development/Libraries
216 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
219 PAM static libraries.
221 %description static -l pl.UTF-8
222 Biblioteki statyczne PAM.
224 %description static -l ru.UTF-8
225 Этот пакет содержит статические библиотеки разработчика для PAM.
227 %description static -l uk.UTF-8
228 Цей пакет містить статичні бібліотеки програміста для PAM.
231 Summary: PAM module - SELinux support
232 Summary(pl.UTF-8): Moduł PAM pozwalający na zmianę kontekstów SELinuksa
234 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
235 Requires: libselinux >= 2.1.9
237 %description pam_selinux
238 PAM module - SELinux support.
240 %description pam_selinux -l pl.UTF-8
241 Moduł PAM pozwalający na zmianę kontekstów SELinuksa.
244 Summary: PAM module - authenticate against GDBM database
245 Summary(pl.UTF-8): Moduł PAM do uwierzytelniania względem bazy danych GDBM
247 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
248 Requires: gdbm >= 1.8.3-7
250 %description pam_userdb
251 pam_userdb - PAM module to authenticate against GDBM database.
253 %description pam_userdb -l pl.UTF-8
254 pam_userdb - moduł PAM służący do uwierzytelniania względem bazy
258 %setup -q -a2 -n Linux-PAM-%{version}
277 --includedir=%{_includedir}/security \
278 %{!?with_audit:--disable-audit} \
280 %{!?with_doc:--disable-regenerate-docu} \
281 --enable-isadir=../../%{_lib}/security \
283 %{!?with_prelude:--disable-prelude} \
284 %{!?with_selinux:--disable-selinux} \
286 # we must explicitely update-gmo as we patch a po file
287 %{__make} -C po update-gmo
289 DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE"
292 rm -rf $RPM_BUILD_ROOT
293 install -d $RPM_BUILD_ROOT{%{_libdir},/etc/pam.d,/usr/lib/pam.d,/var/{log,run/sepermit}} \
294 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
297 DESTDIR=$RPM_BUILD_ROOT \
298 pkgconfigdir=%{_pkgconfigdir} \
299 servicedir=%{systemdunitdir}
302 install -p modules/pam_selinux/.libs/pam_selinux_check $RPM_BUILD_ROOT%{_sbindir}
303 cp -p modules/pam_selinux/pam_selinux_check.8 $RPM_BUILD_ROOT%{_mandir}/man8
304 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/pam_selinux_check
307 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
310 for r in modules/pam_*/README; do
311 cp -pf $r doc/txts/README.$(basename $(dirname $r))
313 %{__rm} doc/txts/README.pam_userdb
315 cp -pf doc/index.html doc/html/
317 # fix PAM/pam man page
318 echo ".so PAM.8" > $RPM_BUILD_ROOT%{_mandir}/man8/pam.8
320 :> $RPM_BUILD_ROOT/etc/security/opasswd
321 :> $RPM_BUILD_ROOT/etc/security/blacklist
323 %{__mv} $RPM_BUILD_ROOT/%{_lib}/lib*.a $RPM_BUILD_ROOT%{_libdir}
324 %{__rm} $RPM_BUILD_ROOT/%{_lib}/lib*.la
326 cd $RPM_BUILD_ROOT/%{_lib}
327 ln -sf /%{_lib}/$(echo libpam.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpam.so
328 ln -sf /%{_lib}/$(echo libpam_misc.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpam_misc.so
329 ln -sf /%{_lib}/$(echo libpamc.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpamc.so
332 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/other
333 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/system-auth
334 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/config-util
335 cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/postlogin
337 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_mandir}/man5/system-auth.5
338 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_mandir}/man5/config-util.5
340 # Make sure every module subdirectory gave us a module. Yes, this is hackish.
341 for dir in modules/pam_* ; do
342 %if %{without selinux}
343 [ ${dir} = "modules/pam_selinux" ] && continue
344 [ ${dir} = "modules/pam_sepermit" ] && continue
347 [ ${dir} = "modules/pam_tty_audit" ] && continue
349 if [ -d ${dir} ] ; then
350 if ! ls -1 $RPM_BUILD_ROOT/%{_lib}/security/`basename ${dir}`*.so ; then
351 echo ERROR `basename ${dir}` did not build a module.
357 for module in $RPM_BUILD_ROOT/%{_lib}/security/pam*.so ; do
358 # Check for module problems. Specifically, check that every module we just
359 # installed can actually be loaded by a minimal PAM-aware application.
360 if ! env LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_lib} \
361 ./dlopen.sh -ldl -lpam -L$RPM_BUILD_ROOT/%{_lib} ${module} ; then
362 echo ERROR module: ${module} cannot be loaded.
367 # useless - shut up check-files
368 %{__rm} $RPM_BUILD_ROOT/%{_lib}/security/*.{la,a}
369 %{__rm} $RPM_BUILD_ROOT/%{_lib}/lib*.so
370 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/Linux-PAM
375 cp -a doc/html rpm-doc/html
376 cp -a doc/sag/html rpm-doc/sag-html
377 cp -a doc/adg/html rpm-doc/adg-html
378 cp -a doc/mwg/html rpm-doc/mwg-html
381 %if %{without selinux}
382 rm -rf $RPM_BUILD_ROOT{/%{_lib}/security/pam_selinux.so,%{_sbindir}/pam_selinux_check,%{_mandir}/man8/pam_selinux*.8*}
388 rm -rf $RPM_BUILD_ROOT
390 %triggerpostun libs -- %{name}-libs < 0.99.7.1
391 for f in $(grep -l "\(pam_make\|pam_homedir\)" /etc/pam.d/*); do
393 *rpmorig|*rpmnew|*rpmsave|*~|*.orig)
397 cp -f "$f" "$f.rpmorig"
398 sed -i -e 's/pam_make\.so \(.*\)/pam_exec.so failok seteuid \/usr\/bin\/make -C \1/g' \
399 -e 's/pam_homedir\.so/pam_mkhomedir.so/g' "$f"
403 if [ -d /var/lock/console -a -d /var/run/console ]; then
404 cp -a /var/lock/console/* /var/run/console/ 2> /dev/null
405 rm -rf /var/lock/console
408 %triggerin -- cronie,vixie-cron,hc-cron,fcron,mcron
409 # restart crond if pam is upgraded
410 # (crond is linked with old libpam but tries to open modules linked with new libpam)
411 if [ "$1" != 1 ]; then
412 %service -q crond restart
416 %triggerpostun -- %{name} < 1:1.1.5-8
418 if grep -qs change_uid /etc/pam.d/system-auth; then
419 %{__sed} -i -e '/session/ s/change_uid//' /etc/pam.d/system-auth
422 # We want it added for painless upgarde even if it mean log pollution for non-systemd
424 # If this module is not present on systemd enabled system then `systemctl restart sshd.service`
425 # will kill all sessions.
426 if ! grep -qs pam_systemd /etc/pam.d/system-auth; then
427 echo "-session optional pam_systemd.so" >>/etc/pam.d/system-auth
430 %post libs -p /sbin/ldconfig
431 %postun libs -p /sbin/ldconfig
433 %files -f Linux-PAM.lang
434 %defattr(644,root,root,755)
435 %doc AUTHORS CHANGELOG ChangeLog Copyright NEWS doc/txts/README*
437 %doc doc/specs/*.txt doc/sag/Linux-PAM_*.txt rpm-doc/{html,sag-html}
440 %dir /etc/security/console.apps
441 %dir /etc/security/console.perms.d
442 %dir /etc/security/limits.d
444 %dir /var/run/console
445 %{systemdtmpfilesdir}/%{name}.conf
446 %config(noreplace) %verify(not md5 mtime size) /etc/environment
447 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/other
448 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/system-auth
449 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/config-util
450 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/postlogin
451 %config(noreplace) %verify(not md5 mtime size) /etc/security/access.conf
452 %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist
453 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.handlers
454 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.perms
455 %config(noreplace) %verify(not md5 mtime size) /etc/security/faillock.conf
456 %config(noreplace) %verify(not md5 mtime size) /etc/security/group.conf
457 %config(noreplace) %verify(not md5 mtime size) /etc/security/limits.conf
458 %config(noreplace) %verify(not md5 mtime size) /etc/security/namespace.conf
459 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/namespace.init
460 %config(noreplace) %verify(not md5 mtime size) /etc/security/pam_env.conf
461 %config(noreplace) %verify(not md5 mtime size) /etc/security/pwhistory.conf
462 %config(noreplace) %verify(not md5 mtime size) /etc/security/time.conf
463 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram
464 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.en
465 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.de
466 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.dk
467 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.es
468 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.fi
469 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.it
470 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.ja
471 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.no
472 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.pl
473 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.perms.d/50-default.perms
474 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/opasswd
475 %attr(755,root,root) %{_bindir}/pam_pwgen
476 %attr(755,root,root) %{_sbindir}/faillock
477 %attr(755,root,root) %{_sbindir}/mkhomedir_helper
478 %attr(755,root,root) %{_sbindir}/pam_console_apply
479 %attr(755,root,root) %{_sbindir}/pam_namespace_helper
480 %attr(755,root,root) %{_sbindir}/pam_timestamp_check
481 %attr(755,root,root) %{_sbindir}/pwgen_trigram
482 %attr(755,root,root) %{_sbindir}/pwhistory_helper
483 %attr(4755,root,root) %{_sbindir}/unix_chkpwd
484 %attr(4755,root,root) %{_sbindir}/unix_update
485 %{systemdunitdir}/pam_namespace.service
486 %{_mandir}/man5/access.conf.5*
487 %{_mandir}/man5/config-util.5*
488 %{_mandir}/man5/console.apps.5*
489 %{_mandir}/man5/console.handlers.5*
490 %{_mandir}/man5/console.perms.5*
491 %{_mandir}/man5/environment.5*
492 %{_mandir}/man5/faillock.conf.5*
493 %{_mandir}/man5/group.conf.5*
494 %{_mandir}/man5/limits.conf.5*
495 %{_mandir}/man5/namespace.conf.5*
496 %{_mandir}/man5/pam.conf.5*
497 %{_mandir}/man5/pam.d.5*
498 %{_mandir}/man5/pam_env.conf.5*
499 %{_mandir}/man5/pwhistory.conf.5*
500 %{_mandir}/man5/system-auth.5*
501 %{_mandir}/man5/time.conf.5*
502 %{_mandir}/man8/PAM.8*
503 %{_mandir}/man8/faillock.8*
504 %{_mandir}/man8/mkhomedir_helper.8*
505 %{_mandir}/man8/pam.8*
506 %{_mandir}/man8/pam_*.8*
507 %{_mandir}/man8/pwhistory_helper.8*
508 %{_mandir}/man8/unix_chkpwd.8*
509 %{_mandir}/man8/unix_update.8*
511 %exclude %{_mandir}/man8/pam_selinux*.8*
512 %exclude %{_mandir}/man8/pam_sepermit.8*
514 %exclude %{_mandir}/man8/pam_userdb.8*
517 %attr(755,root,root) /%{_lib}/security/pam_access.so
518 %attr(755,root,root) /%{_lib}/security/pam_console.so
519 %attr(755,root,root) /%{_lib}/security/pam_debug.so
520 %attr(755,root,root) /%{_lib}/security/pam_deny.so
521 %attr(755,root,root) /%{_lib}/security/pam_echo.so
522 %attr(755,root,root) /%{_lib}/security/pam_env.so
523 %attr(755,root,root) /%{_lib}/security/pam_exec.so
524 %attr(755,root,root) /%{_lib}/security/pam_faildelay.so
525 %attr(755,root,root) /%{_lib}/security/pam_faillock.so
526 %attr(755,root,root) /%{_lib}/security/pam_filter.so
527 %attr(755,root,root) /%{_lib}/security/pam_filter/upperLOWER
528 %attr(755,root,root) /%{_lib}/security/pam_ftp.so
529 %attr(755,root,root) /%{_lib}/security/pam_group.so
530 %attr(755,root,root) /%{_lib}/security/pam_issue.so
531 %attr(755,root,root) /%{_lib}/security/pam_keyinit.so
532 %attr(755,root,root) /%{_lib}/security/pam_lastlog.so
533 %attr(755,root,root) /%{_lib}/security/pam_limits.so
534 %attr(755,root,root) /%{_lib}/security/pam_listfile.so
535 %attr(755,root,root) /%{_lib}/security/pam_localuser.so
536 %attr(755,root,root) /%{_lib}/security/pam_loginuid.so
537 %attr(755,root,root) /%{_lib}/security/pam_mail.so
538 %attr(755,root,root) /%{_lib}/security/pam_mkhomedir.so
539 %attr(755,root,root) /%{_lib}/security/pam_motd.so
540 %attr(755,root,root) /%{_lib}/security/pam_namespace.so
541 %attr(755,root,root) /%{_lib}/security/pam_nologin.so
542 %attr(755,root,root) /%{_lib}/security/pam_permit.so
543 %attr(755,root,root) /%{_lib}/security/pam_pwexport.so
544 %attr(755,root,root) /%{_lib}/security/pam_pwgen.so
545 %attr(755,root,root) /%{_lib}/security/pam_pwhistory.so
546 %attr(755,root,root) /%{_lib}/security/pam_rhosts.so
547 %attr(755,root,root) /%{_lib}/security/pam_rootok.so
548 %attr(755,root,root) /%{_lib}/security/pam_rps.so
549 %attr(755,root,root) /%{_lib}/security/pam_securetty.so
550 %attr(755,root,root) /%{_lib}/security/pam_setquota.so
551 %attr(755,root,root) /%{_lib}/security/pam_shells.so
552 %attr(755,root,root) /%{_lib}/security/pam_stress.so
553 %attr(755,root,root) /%{_lib}/security/pam_succeed_if.so
554 %attr(755,root,root) /%{_lib}/security/pam_time.so
555 %attr(755,root,root) /%{_lib}/security/pam_timestamp.so
556 %{?with_audit:%attr(755,root,root) /%{_lib}/security/pam_tty_audit.so}
557 %attr(755,root,root) /%{_lib}/security/pam_umask.so
558 %attr(755,root,root) /%{_lib}/security/pam_unix.so
559 %attr(755,root,root) /%{_lib}/security/pam_usertype.so
560 %attr(755,root,root) /%{_lib}/security/pam_warn.so
561 %attr(755,root,root) /%{_lib}/security/pam_wheel.so
562 %attr(755,root,root) /%{_lib}/security/pam_xauth.so
565 %defattr(644,root,root,755)
566 %dir /%{_lib}/security/pam_filter
567 %attr(755,root,root) /%{_lib}/libpam.so.*.*.*
568 %attr(755,root,root) %ghost /%{_lib}/libpam.so.0
569 %attr(755,root,root) /%{_lib}/libpam_misc.so.*.*.*
570 %attr(755,root,root) %ghost /%{_lib}/libpam_misc.so.0
571 %attr(755,root,root) /%{_lib}/libpamc.so.*.*.*
572 %attr(755,root,root) %ghost /%{_lib}/libpamc.so.0
575 %defattr(644,root,root,755)
577 %doc doc/{adg,mwg}/Linux-PAM_*.txt rpm-doc/{adg,mwg}-html
579 %attr(755,root,root) %{_libdir}/libpam.so
580 %attr(755,root,root) %{_libdir}/libpam_misc.so
581 %attr(755,root,root) %{_libdir}/libpamc.so
582 %{_pkgconfigdir}/pam.pc
583 %{_pkgconfigdir}/pam_misc.pc
584 %{_pkgconfigdir}/pamc.pc
585 %{_includedir}/security/_pam_*.h
586 %{_includedir}/security/pam*.h
587 %{_mandir}/man3/misc_conv.3*
588 %{_mandir}/man3/pam*.3*
591 %defattr(644,root,root,755)
594 %{_libdir}/libpam_misc.a
598 %defattr(644,root,root,755)
599 %attr(755,root,root) /%{_lib}/security/pam_selinux.so
600 %attr(755,root,root) /%{_lib}/security/pam_sepermit.so
601 %attr(755,root,root) %{_sbindir}/pam_selinux_check
602 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/pam_selinux_check
603 %config(noreplace) %verify(not md5 mtime size) /etc/security/sepermit.conf
604 %{_mandir}/man5/sepermit.conf.5*
605 %{_mandir}/man8/pam_selinux*.8*
606 %{_mandir}/man8/pam_sepermit.8*
607 %dir /var/run/sepermit
611 %defattr(644,root,root,755)
612 %doc modules/pam_userdb/README
613 %attr(755,root,root) /%{_lib}/security/pam_userdb.so
614 %{_mandir}/man8/pam_userdb.8*