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
5 # /usr/share/man/man5/environment.5
8 %bcond_without doc # don't build documentation
9 %bcond_with prelude # build with Prelude IDS support (in libpam)
10 %bcond_without selinux # build without SELinux support
11 %bcond_without audit # build with Linux Auditing library support
13 %define pam_pld_version 1.1.2-1
14 Summary: Pluggable Authentication Modules: modular, incremental authentication
15 Summary(de.UTF-8): Einsteckbare Authentifizierungsmodule: modulare, inkrementäre Authentifizierung
16 Summary(es.UTF-8): Módulos de autentificación plugables (PAM)
17 Summary(fr.UTF-8): PAM : Pluggable Authentication Modules: modular, incremental authentication
18 Summary(pl.UTF-8): Modularny system uwierzytelniania
19 Summary(pt_BR.UTF-8): Módulos de autenticação plugáveis (PAM)
20 Summary(ru.UTF-8): Интструмент, обеспечивающий аутентификацию для приложений
21 Summary(tr.UTF-8): Modüler, artımsal doğrulama birimleri
22 Summary(uk.UTF-8): Інструмент, що забезпечує аутентифікацію для програм
29 Source0: http://www.linux-pam.org/library/Linux-PAM-%{version}.tar.bz2
30 # Source0-md5: da4b2289b7cfb19583d54e9eaaef1c3a
31 Source1: http://www.linux-pam.org/library/Linux-PAM-%{version}-docs.tar.bz2
32 # Source1-md5: 30fa7fa696a5b3b8d2c3c41d9373a8f3
33 Source2: ftp://ftp.pld-linux.org/software/pam/%{name}-pld-%{pam_pld_version}.tar.gz
34 # Source2-md5: f9ec6fcafcf1801bf318e60040244f2e
36 Source4: system-auth.pamd
37 Source5: config-util.pamd
38 Source6: %{name}_selinux_check.pamd
39 Source7: system-auth.5
40 Source8: config-util.5
41 Source9: %{name}.tmpfiles
42 Source10: postlogin.pamd
43 Patch0: %{name}-pld-modules.patch
44 Patch2: %{name}-tally-fail-close.patch
45 Patch3: %{name}-mkhomedir-notfound.patch
46 Patch4: %{name}-db-gdbm.patch
47 Patch5: %{name}-exec-failok.patch
48 Patch6: update-motd.patch
49 URL: http://www.linux-pam.org/
50 %{?with_audit:BuildRequires: audit-libs-devel >= 1.6.9}
51 BuildRequires: autoconf >= 2.61
52 BuildRequires: automake
54 BuildRequires: cracklib-devel >= 2.8.3
55 # gdbm due to db pulling libpthread
57 BuildRequires: gdbm-devel >= 1.8.3-7
58 BuildRequires: gettext-tools >= 0.18.3
59 BuildRequires: glibc-devel >= 6:2.10.1
60 %{?with_prelude:BuildRequires: libprelude-devel >= 0.9.0}
61 %{?with_selinux:BuildRequires: libselinux-devel >= 1.33.2}
62 #BuildRequires: libtirpc-devel
63 BuildRequires: libtool >= 2:1.5
64 BuildRequires: libxcrypt-devel
65 %{?with_audit:BuildRequires: linux-libc-headers >= 2.6.23.1}
66 BuildRequires: pkgconfig
67 BuildRequires: zlib-devel
69 BuildRequires: docbook-dtd412-xml
70 BuildRequires: docbook-dtd43-xml
71 BuildRequires: docbook-dtd44-xml
72 BuildRequires: docbook-style-xsl >= 1.69.1
75 BuildRequires: libxml2-progs
76 BuildRequires: libxslt-progs
79 Requires: %{name}-libs = %{epoch}:%{version}-%{release}
80 %{?with_audit:Requires: audit-libs >= 1.0.8}
82 Requires: cracklib >= 2.8.3
83 Requires: cracklib-dicts >= 2.8.3
84 Requires: crypt(blowfish)
85 Requires: glibc >= 6:2.5-0.5
87 Suggests: pam-pam_userdb = %{epoch}:%{version}-%{release}
89 Obsoletes: pam-pam_opie
90 Obsoletes: pam-pam_pwdb
91 Obsoletes: pam-pam_radius
92 Obsoletes: pam-pam_skey
93 Obsoletes: pam-pam_tcpd
96 Conflicts: dev < 3.4-4
97 Conflicts: pam < 0:0.80.1-2
98 Conflicts: udev < 1:138-5
99 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
101 %define _sbindir /sbin
104 PAM (Pluggable Authentication Modules) is a powerful, flexible,
105 extensible authentication system which allows the system administrator
106 to configure authentication services individually for every
107 pam-compliant application without recompiling any of the applications.
109 %description -l de.UTF-8
110 PAM (Pluggable Authentication Modules) ist ein leistungsfähiges,
111 flexibles und erweiterbares Authentifizierungssystem, mit dem der
112 Systemverwalter Authentifizierungs-Dienste individuell für jede
113 pam-kompatible Anwendung konfigurieren kann, ohne diese neu
114 kompilieren zu müssen.
116 %description -l es.UTF-8
117 PAM (Módulos de Autenticación Plugables) es un potente, flexible y
118 extensible sistema de autentificación, que permite al administrador
119 del sistema configurar servicios de autentificación individualmente
120 para cada aplicación pam compatible, sin la necesidad de recompilar
121 cualquier una de las aplicaciones.
123 %description -l fr.UTF-8
124 PAM (Pluggable Authentication Modules) est un systéme
125 d'authentification puissant, souple et extensible permettant à
126 l'administrateur système de configurer les individuellement les
127 services d'authentification pour chaque application conforme à PAM,
128 sans recompiler aucune application.
130 %description -l pl.UTF-8
131 PAM (Pluggable Authentication Modules) jest silnym i łatwo
132 dostosowywalnym do potrzeb systemem uwierzytelniania, który umożliwia
133 administratorowi indywidualne konfigurowanie poszczególnych usług,
134 które są dostosowane i skonsolidowane z bibliotekami PAM, bez
135 późniejszej ich rekompilacji w momencie zmiany sposobu
136 uwierzytelniania tychże usług.
138 %description -l pt_BR.UTF-8
139 PAM (Módulos de Autenticação Plugáveis) é um poderoso, flexível e
140 extensível sistema de autenticação, que permite o administrador do
141 sistema configurar serviços de autenticação individualmente para cada
142 aplicação pam compatível, sem necessidade de recompilar qualquer uma
145 %description -l uk.UTF-8
146 PAM (Pluggable Authentication Modules) - це потужна, гнучка, здатна до
147 розширення система аутентикації, яка дозволяє системному
148 адміністратору налагоджувати севіси авторизації доступу (аутентикації)
149 індивідуально для кожної pam-сумісної програми без необхідності
150 перекомпіляції самої програми. Це базовий механізм аутентикації в PLD
153 %description -l tr.UTF-8
154 PAM (Pluggable Authentication Modules) sistem yöneticilerinin
155 uygulamalardan herhangi birini yeniden derlemeksizin bütün PAM uyumlu
156 uygulamalar için doğrulama hizmetlerini ayarlamalarına yardımcı olan,
157 güclü, esnek ve kapsamlı bir doğrulama sistemidir.
159 %description -l ru.UTF-8
160 PAM (Pluggable Authentication Modules) - это мощная, гибкая,
161 расширяемая система аутентикации, позволяющая системному
162 администратору конфигурировать сервисы авторизации доступа
163 (аутентикации) индивидуально для каждой pam-совместимой программы без
164 необходимости перекомпилляции самой программы. Это базовый механизм
165 аутентикации в PLD Linux.
168 Summary: PAM libraries
169 Summary(pl.UTF-8): Moduły PAM
171 Requires(triggerpostun): sed >= 4.0
176 %description libs -l pl.UTF-8
180 Summary: PAM header files
181 Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja programisty do PAM
182 Summary(pt_BR.UTF-8): Bibliotecas e arquivos de inclusão para desenvolvimento com PAM
183 Summary(ru.UTF-8): Библиотеки разработчика для PAM
184 Summary(uk.UTF-8): Бібліотеки програміста для PAM
185 Group: Development/Libraries
186 Requires: %{name} = %{epoch}:%{version}-%{release}
187 %{?with_audit:Requires: audit-libs-devel >= 1.0.8}
188 Requires: filesystem >= 3.0-11
191 Header files for developing PAM based applications.
193 %description devel -l pl.UTF-8
194 Pliki nagłówkowe i dokumentacja programisty do PAM.
196 %description devel -l pt_BR.UTF-8
197 Bibliotecas e arquivos de inclusão para desenvolvimento com PAM
199 %description devel -l ru.UTF-8
200 Этот пакет содержит хедеры и библиотеки разработчика для PAM.
202 %description devel -l uk.UTF-8
203 Цей пакет містить хедери та бібліотеки програміста для PAM.
206 Summary: PAM static libraries
207 Summary(pl.UTF-8): Biblioteki statyczne PAM
208 Summary(ru.UTF-8): Статические библиотеки разработчика для PAM
209 Summary(uk.UTF-8): Статичні бібліотеки програміста для PAM
210 Group: Development/Libraries
211 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
214 PAM static libraries.
216 %description static -l pl.UTF-8
217 Biblioteki statyczne PAM.
219 %description static -l ru.UTF-8
220 Этот пакет содержит статические библиотеки разработчика для PAM.
222 %description static -l uk.UTF-8
223 Цей пакет містить статичні бібліотеки програміста для PAM.
226 Summary: PAM module - SELinux support
227 Summary(pl.UTF-8): Moduł PAM pozwalający na zmianę kontekstów SELinuksa
229 Requires: libselinux >= 1.33.2
231 %description pam_selinux
232 PAM module - SELinux support.
234 %description pam_selinux -l pl.UTF-8
235 Moduł PAM pozwalający na zmianę kontekstów SELinuksa.
238 Summary: PAM module - authenticate against db database
240 Requires: gdbm >= 1.8.3-7
241 Conflicts: pam-libs < 1:1.1.8-3.1
243 %description pam_userdb
244 pam_userdb - PAM module to authenticate against a Berkeley DB database
247 %setup -q -a2 -n Linux-PAM-%{version}
266 --includedir=%{_includedir}/security \
267 --enable-isadir=../../%{_lib}/security \
269 %{!?with_selinux:--disable-selinux} \
270 %{!?with_prelude:--disable-prelude} \
271 %{!?with_audit:--disable-audit}
273 # we must explicitely update-gmo as we patch a po file
274 %{__make} -C po update-gmo
276 DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE"
279 rm -rf $RPM_BUILD_ROOT
280 install -d $RPM_BUILD_ROOT{%{_libdir},/etc/pam.d,/var/{log,run/sepermit}} \
281 $RPM_BUILD_ROOT%{systemdtmpfilesdir}
284 DESTDIR=$RPM_BUILD_ROOT
287 install -p modules/pam_selinux/.libs/pam_selinux_check $RPM_BUILD_ROOT%{_sbindir}
288 cp -p modules/pam_selinux/pam_selinux_check.8 $RPM_BUILD_ROOT%{_mandir}/man8
289 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/pam_selinux_check
292 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
295 for r in modules/pam_*/README; do
296 cp -pf $r doc/txts/README.$(basename $(dirname $r))
298 rm doc/txts/README.pam_userdb
300 cp -pf doc/index.html doc/html/
302 # fix PAM/pam man page
303 echo ".so PAM.8" > $RPM_BUILD_ROOT%{_mandir}/man8/pam.8
305 :> $RPM_BUILD_ROOT/etc/security/opasswd
306 :> $RPM_BUILD_ROOT/etc/security/blacklist
308 :> $RPM_BUILD_ROOT/var/log/tallylog
310 mv -f $RPM_BUILD_ROOT/%{_lib}/lib*.a $RPM_BUILD_ROOT%{_libdir}
312 cd $RPM_BUILD_ROOT/%{_lib}
313 for f in lib*.la ; do
314 sed -e 's|/%{_lib}/libpam|%{_libdir}/libpam|g' $f > $RPM_BUILD_ROOT%{_libdir}/$f
316 sed -i -e "s|libdir='/%{_lib}|libdir='%{_libdir}|g" $RPM_BUILD_ROOT%{_libdir}/$f
318 ln -sf /%{_lib}/$(echo libpam.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpam.so
319 ln -sf /%{_lib}/$(echo libpam_misc.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpam_misc.so
320 ln -sf /%{_lib}/$(echo libpamc.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpamc.so
323 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/other
324 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/system-auth
325 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/config-util
326 cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/postlogin
328 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_mandir}/man5/system-auth.5
329 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_mandir}/man5/config-util.5
331 # Make sure every module subdirectory gave us a module. Yes, this is hackish.
332 for dir in modules/pam_* ; do
333 %if %{without selinux}
334 [ ${dir} = "modules/pam_selinux" ] && continue
335 [ ${dir} = "modules/pam_sepermit" ] && continue
338 [ ${dir} = "modules/pam_tty_audit" ] && continue
340 if [ -d ${dir} ] ; then
341 if ! ls -1 $RPM_BUILD_ROOT/%{_lib}/security/`basename ${dir}`*.so ; then
342 echo ERROR `basename ${dir}` did not build a module.
348 for module in $RPM_BUILD_ROOT/%{_lib}/security/pam*.so ; do
349 # Check for module problems. Specifically, check that every module we just
350 # installed can actually be loaded by a minimal PAM-aware application.
351 if ! env LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_lib} \
352 ./dlopen.sh -ldl -lpam -L$RPM_BUILD_ROOT/%{_lib} ${module} ; then
353 echo ERROR module: ${module} cannot be loaded.
358 # useless - shut up check-files
359 rm -f $RPM_BUILD_ROOT/%{_lib}/security/*.{la,a}
360 rm -f $RPM_BUILD_ROOT/%{_lib}/lib*.so
361 rm -rf $RPM_BUILD_ROOT%{_docdir}/Linux-PAM
363 %if %{without selinux}
364 rm -rf $RPM_BUILD_ROOT{/%{_lib}/security/pam_selinux.so,%{_sbindir}/pam_selinux_check,%{_mandir}/man8/pam_selinux*.8*}
370 rm -rf $RPM_BUILD_ROOT
372 %triggerpostun libs -- %{name}-libs < 0.99.7.1
373 for f in $(grep -l "\(pam_make\|pam_homedir\)" /etc/pam.d/*); do
375 *rpmorig|*rpmnew|*rpmsave|*~|*.orig)
379 cp -f "$f" "$f.rpmorig"
380 sed -i -e 's/pam_make\.so \(.*\)/pam_exec.so failok seteuid \/usr\/bin\/make -C \1/g' \
381 -e 's/pam_homedir\.so/pam_mkhomedir.so/g' "$f"
385 if [ -d /var/lock/console -a -d /var/run/console ]; then
386 cp -a /var/lock/console/* /var/run/console/ 2> /dev/null
387 rm -rf /var/lock/console
390 %triggerin -- cronie,vixie-cron,hc-cron,fcron,mcron
391 # restart crond if pam is upgraded
392 # (crond is linked with old libpam but tries to open modules linked with new libpam)
393 if [ "$1" != 1 ]; then
394 %service -q crond restart
398 %triggerpostun -- %{name} < 1:1.1.5-8
400 if grep -qs change_uid /etc/pam.d/system-auth; then
401 %{__sed} -i -e '/session/ s/change_uid//' /etc/pam.d/system-auth
404 # We want it added for painless upgarde even if it mean log pollution for non-systemd
406 # If this module is not present on systemd enabled system then `systemctl restart sshd.service`
407 # will kill all sessions.
408 if ! grep -qs pam_systemd /etc/pam.d/system-auth; then
409 echo "-session optional pam_systemd.so" >>/etc/pam.d/system-auth
413 fh, error = io.open("/var/log/tallylog")
417 fh = io.open("/var/log/tallylog", "w+")
419 posix.chmod("/var/log/tallylog", "rw-------")
422 %post libs -p /sbin/ldconfig
423 %postun libs -p /sbin/ldconfig
425 %files -f Linux-PAM.lang
426 %defattr(644,root,root,755)
427 %doc AUTHORS CHANGELOG ChangeLog Copyright NEWS doc/txts/README*
429 %doc doc/specs/*.txt doc/sag/Linux-PAM_*.txt doc/{sag,}/html
432 %dir /etc/security/console.apps
433 %dir /etc/security/console.perms.d
434 %dir /var/run/console
435 %{systemdtmpfilesdir}/%{name}.conf
436 %config(noreplace) %verify(not md5 mtime size) /etc/environment
437 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/other
438 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/system-auth
439 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/config-util
440 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/postlogin
441 %config(noreplace) %verify(not md5 mtime size) /etc/security/access.conf
442 %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist
443 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.handlers
444 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.perms
445 %config(noreplace) %verify(not md5 mtime size) /etc/security/group.conf
446 %config(noreplace) %verify(not md5 mtime size) /etc/security/limits.conf
447 %config(noreplace) %verify(not md5 mtime size) /etc/security/namespace.conf
448 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/namespace.init
449 %config(noreplace) %verify(not md5 mtime size) /etc/security/pam_env.conf
450 %config(noreplace) %verify(not md5 mtime size) /etc/security/time.conf
451 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram
452 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.en
453 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.de
454 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.dk
455 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.es
456 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.fi
457 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.it
458 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.ja
459 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.no
460 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.pl
461 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.perms.d/50-default.perms
462 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/opasswd
463 %attr(755,root,root) %{_bindir}/pam_pwgen
464 %attr(755,root,root) %{_sbindir}/mkhomedir_helper
465 %attr(755,root,root) %{_sbindir}/pam_console_apply
466 %attr(755,root,root) %{_sbindir}/pam_tally
467 %attr(755,root,root) %{_sbindir}/pam_tally2
468 %attr(755,root,root) %{_sbindir}/pam_timestamp_check
469 %attr(755,root,root) %{_sbindir}/pwgen_trigram
470 %attr(4755,root,root) %{_sbindir}/unix_chkpwd
471 %attr(4755,root,root) %{_sbindir}/unix_update
472 %{_mandir}/man5/access.conf.5*
473 %{_mandir}/man5/config-util.5*
474 %{_mandir}/man5/console.apps.5*
475 %{_mandir}/man5/console.handlers.5*
476 %{_mandir}/man5/console.perms.5*
477 %{_mandir}/man5/group.conf.5*
478 %{_mandir}/man5/limits.conf.5*
479 %{_mandir}/man5/namespace.conf.5*
480 %{_mandir}/man5/pam.conf.5*
481 %{_mandir}/man5/pam.d.5*
482 %{_mandir}/man5/pam_env.conf.5*
483 %{_mandir}/man5/system-auth.5*
484 %{_mandir}/man5/time.conf.5*
485 %{_mandir}/man8/PAM.8*
486 %{_mandir}/man8/mkhomedir_helper.8*
487 %{_mandir}/man8/pam.8*
488 %{_mandir}/man8/pam_*.8*
489 %{_mandir}/man8/unix_chkpwd.8*
490 %{_mandir}/man8/unix_update.8*
492 %exclude %{_mandir}/man8/pam_selinux*.8*
493 %exclude %{_mandir}/man8/pam_sepermit.8*
495 %exclude %{_mandir}/man8/pam_userdb.8*
496 %ghost %verify(not md5 mtime size) /var/log/tallylog
499 %attr(755,root,root) /%{_lib}/security/pam_access.so
500 %attr(755,root,root) /%{_lib}/security/pam_console.so
501 %attr(755,root,root) /%{_lib}/security/pam_cracklib.so
502 %attr(755,root,root) /%{_lib}/security/pam_debug.so
503 %attr(755,root,root) /%{_lib}/security/pam_deny.so
504 %attr(755,root,root) /%{_lib}/security/pam_echo.so
505 %attr(755,root,root) /%{_lib}/security/pam_env.so
506 %attr(755,root,root) /%{_lib}/security/pam_exec.so
507 %attr(755,root,root) /%{_lib}/security/pam_faildelay.so
508 %attr(755,root,root) /%{_lib}/security/pam_filter.so
509 %attr(755,root,root) /%{_lib}/security/pam_filter/upperLOWER
510 %attr(755,root,root) /%{_lib}/security/pam_ftp.so
511 %attr(755,root,root) /%{_lib}/security/pam_group.so
512 %attr(755,root,root) /%{_lib}/security/pam_issue.so
513 %attr(755,root,root) /%{_lib}/security/pam_keyinit.so
514 %attr(755,root,root) /%{_lib}/security/pam_lastlog.so
515 %attr(755,root,root) /%{_lib}/security/pam_limits.so
516 %attr(755,root,root) /%{_lib}/security/pam_listfile.so
517 %attr(755,root,root) /%{_lib}/security/pam_localuser.so
518 %attr(755,root,root) /%{_lib}/security/pam_loginuid.so
519 %attr(755,root,root) /%{_lib}/security/pam_mail.so
520 %attr(755,root,root) /%{_lib}/security/pam_mkhomedir.so
521 %attr(755,root,root) /%{_lib}/security/pam_motd.so
522 %attr(755,root,root) /%{_lib}/security/pam_namespace.so
523 %attr(755,root,root) /%{_lib}/security/pam_nologin.so
524 %attr(755,root,root) /%{_lib}/security/pam_permit.so
525 %attr(755,root,root) /%{_lib}/security/pam_pwexport.so
526 %attr(755,root,root) /%{_lib}/security/pam_pwgen.so
527 %attr(755,root,root) /%{_lib}/security/pam_pwhistory.so
528 %attr(755,root,root) /%{_lib}/security/pam_rhosts.so
529 %attr(755,root,root) /%{_lib}/security/pam_rootok.so
530 %attr(755,root,root) /%{_lib}/security/pam_rps.so
531 %attr(755,root,root) /%{_lib}/security/pam_securetty.so
532 %attr(755,root,root) /%{_lib}/security/pam_shells.so
533 %attr(755,root,root) /%{_lib}/security/pam_stress.so
534 %attr(755,root,root) /%{_lib}/security/pam_succeed_if.so
535 %attr(755,root,root) /%{_lib}/security/pam_tally2.so
536 %attr(755,root,root) /%{_lib}/security/pam_tally.so
537 %attr(755,root,root) /%{_lib}/security/pam_time.so
538 %attr(755,root,root) /%{_lib}/security/pam_timestamp.so
539 %{?with_audit:%attr(755,root,root) /%{_lib}/security/pam_tty_audit.so}
540 %attr(755,root,root) /%{_lib}/security/pam_umask.so
541 %attr(755,root,root) /%{_lib}/security/pam_unix.so
542 %attr(755,root,root) /%{_lib}/security/pam_warn.so
543 %attr(755,root,root) /%{_lib}/security/pam_wheel.so
544 %attr(755,root,root) /%{_lib}/security/pam_xauth.so
547 %defattr(644,root,root,755)
548 %dir /%{_lib}/security/pam_filter
549 %attr(755,root,root) /%{_lib}/libpam.so.*.*.*
550 %attr(755,root,root) %ghost /%{_lib}/libpam.so.0
551 %attr(755,root,root) /%{_lib}/libpam_misc.so.*.*.*
552 %attr(755,root,root) %ghost /%{_lib}/libpam_misc.so.0
553 %attr(755,root,root) /%{_lib}/libpamc.so.*.*.*
554 %attr(755,root,root) %ghost /%{_lib}/libpamc.so.0
557 %defattr(644,root,root,755)
559 %doc doc/{adg,mwg}/Linux-PAM_*.txt doc/{adg,mwg,}/html
561 %attr(755,root,root) %{_libdir}/libpam.so
562 %attr(755,root,root) %{_libdir}/libpam_misc.so
563 %attr(755,root,root) %{_libdir}/libpamc.so
565 %{_libdir}/libpam_misc.la
566 %{_libdir}/libpamc.la
567 %{_includedir}/security/_pam_*.h
568 %{_includedir}/security/pam*.h
569 %{_mandir}/man3/misc_conv.3*
570 %{_mandir}/man3/pam*.3*
573 %defattr(644,root,root,755)
576 %{_libdir}/libpam_misc.a
580 %defattr(644,root,root,755)
581 %attr(755,root,root) /%{_lib}/security/pam_selinux.so
582 %attr(755,root,root) /%{_lib}/security/pam_sepermit.so
583 %attr(755,root,root) %{_sbindir}/pam_selinux_check
584 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/pam_selinux_check
585 %config(noreplace) %verify(not md5 mtime size) /etc/security/sepermit.conf
586 %{_mandir}/man5/sepermit.conf.5*
587 %{_mandir}/man8/pam_selinux*.8*
588 %{_mandir}/man8/pam_sepermit.8*
589 %dir /var/run/sepermit
593 %defattr(644,root,root,755)
594 %doc modules/pam_userdb/README
595 %attr(755,root,root) /%{_lib}/security/pam_userdb.so
596 %{_mandir}/man8/pam_userdb.8*