]> git.pld-linux.org Git - packages/pam.git/blob - pam.spec
Rel 9; don't force password change if using weaker pass hashes
[packages/pam.git] / pam.spec
1 # TODO
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
7 #
8 # Conditional build:
9 %bcond_without  doc             # documentation
10 %bcond_with     prelude         # Prelude IDS support (in libpam)
11 %bcond_without  cracklib        # (deprecated) cracklib module
12 %bcond_without  tally           # (deprecated) tally/tally2 modules
13 %bcond_without  selinux         # SELinux support
14 %bcond_without  audit           # Linux Auditing library support
15
16 %define         pam_pld_version 1.1.2-1
17 Summary:        Pluggable Authentication Modules: modular, incremental authentication
18 Summary(de.UTF-8):      Einsteckbare Authentifizierungsmodule: modulare, inkrementäre Authentifizierung
19 Summary(es.UTF-8):      Módulos de autentificación plugables (PAM)
20 Summary(fr.UTF-8):      PAM : Pluggable Authentication Modules: modular, incremental authentication
21 Summary(pl.UTF-8):      Modularny system uwierzytelniania
22 Summary(pt_BR.UTF-8):   Módulos de autenticação plugáveis (PAM)
23 Summary(ru.UTF-8):      Интструмент, обеспечивающий аутентификацию для приложений
24 Summary(tr.UTF-8):      Modüler, artımsal doğrulama birimleri
25 Summary(uk.UTF-8):      Інструмент, що забезпечує аутентифікацію для програм
26 Name:           pam
27 Version:        1.4.0
28 Release:        9
29 Epoch:          1
30 # The library is BSD licensed with option to relicense as GPLv2+
31 # - this option is redundant as the BSD license allows that anyway.
32 # pam_timestamp, pam_loginuid, and pam_console modules are GPLv2+.
33 License:        BSD and GPL v2+
34 Group:          Base
35 Source0:        https://github.com/linux-pam/linux-pam/releases/download/v%{version}/Linux-PAM-%{version}.tar.xz
36 # Source0-md5:  39fca0523bccec6af4b63b5322276c84
37 Source2:        ftp://ftp.pld-linux.org/software/pam/%{name}-pld-%{pam_pld_version}.tar.gz
38 # Source2-md5:  f9ec6fcafcf1801bf318e60040244f2e
39 Source3:        other.pamd
40 Source4:        system-auth.pamd
41 Source5:        config-util.pamd
42 Source6:        %{name}_selinux_check.pamd
43 Source7:        system-auth.5
44 Source8:        config-util.5
45 Source9:        %{name}.tmpfiles
46 Source10:       postlogin.pamd
47 Patch0:         %{name}-pld-modules.patch
48 Patch1:         %{name}_console-lex-static.patch
49 Patch2:         %{name}-tally-fail-close.patch
50 Patch3:         %{name}-mkhomedir-notfound.patch
51 Patch4:         %{name}-db-gdbm.patch
52 Patch5:         %{name}-exec-failok.patch
53 Patch6:         pam_console_pam_tty.patch
54 Patch7:         no-force-pass-change.patch
55 URL:            http://www.linux-pam.org/
56 %{?with_audit:BuildRequires:    audit-libs-devel >= 1.6.9}
57 BuildRequires:  autoconf >= 2.61
58 BuildRequires:  automake
59 BuildRequires:  bison
60 %{?with_cracklib:BuildRequires: cracklib-devel >= 2.8.3}
61 BuildRequires:  flex
62 # gdbm due to db pulling libpthread
63 BuildRequires:  gdbm-devel >= 1.8.3-7
64 BuildRequires:  gettext-tools >= 0.18.3
65 BuildRequires:  glibc-devel >= 6:2.10.1
66 BuildRequires:  libnsl-devel
67 %{?with_prelude:BuildRequires:  libprelude-devel >= 0.9.0}
68 %{?with_selinux:BuildRequires:  libselinux-devel >= 2.1.9}
69 BuildRequires:  libtirpc-devel
70 BuildRequires:  libtool >= 2:2
71 BuildRequires:  libxcrypt-devel
72 %{?with_audit:BuildRequires:    linux-libc-headers >= 7:2.6.23.1}
73 BuildRequires:  pkgconfig
74 BuildRequires:  tar >= 1:1.22
75 BuildRequires:  xz
76 BuildRequires:  zlib-devel
77 %if %{with doc}
78 BuildRequires:  docbook-dtd412-xml
79 BuildRequires:  docbook-dtd43-xml
80 BuildRequires:  docbook-dtd44-xml
81 BuildRequires:  docbook-style-xsl >= 1.69.1
82 # For building PDFs
83 #BuildRequires: fop
84 BuildRequires:  libxml2-progs
85 BuildRequires:  libxslt-progs
86 BuildRequires:  w3m
87 %endif
88 Requires:       %{name}-libs = %{epoch}:%{version}-%{release}
89 %{?with_audit:Requires: audit-libs >= 1.0.8}
90 Requires:       awk
91 Requires:       crypt(blowfish)
92 Requires:       glibc >= 6:2.5-0.5
93 %{?with_selinux:Requires:       libselinux >= 2.1.9}
94 %{?with_cracklib:Requires:      pam-pam_cracklib = %{epoch}:%{version}-%{release}}
95 %{?with_tally:Requires: pam-pam_tally = %{epoch}:%{version}-%{release}}
96 Suggests:       make
97 Suggests:       pam-pam_pwquality
98 Suggests:       pam-pam_userdb = %{epoch}:%{version}-%{release}
99 Obsoletes:      pam-doc
100 Obsoletes:      pam-pam_opie
101 Obsoletes:      pam-pam_pwdb
102 Obsoletes:      pam-pam_radius
103 Obsoletes:      pam-pam_skey
104 Obsoletes:      pam-pam_tcpd
105 Obsoletes:      pam_make
106 Obsoletes:      pamconfig
107 Conflicts:      dev < 3.4-4
108 Conflicts:      pam < 0:0.80.1-2
109 Conflicts:      udev < 1:138-5
110 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
111
112 %define         _sbindir        /sbin
113
114 %description
115 PAM (Pluggable Authentication Modules) is a powerful, flexible,
116 extensible authentication system which allows the system administrator
117 to configure authentication services individually for every
118 pam-compliant application without recompiling any of the applications.
119
120 %description -l de.UTF-8
121 PAM (Pluggable Authentication Modules) ist ein leistungsfähiges,
122 flexibles und erweiterbares Authentifizierungssystem, mit dem der
123 Systemverwalter Authentifizierungs-Dienste individuell für jede
124 pam-kompatible Anwendung konfigurieren kann, ohne diese neu
125 kompilieren zu müssen.
126
127 %description -l es.UTF-8
128 PAM (Módulos de Autenticación Plugables) es un potente, flexible y
129 extensible sistema de autentificación, que permite al administrador
130 del sistema configurar servicios de autentificación individualmente
131 para cada aplicación pam compatible, sin la necesidad de recompilar
132 cualquier una de las aplicaciones.
133
134 %description -l fr.UTF-8
135 PAM (Pluggable Authentication Modules) est un systéme
136 d'authentification puissant, souple et extensible permettant à
137 l'administrateur système de configurer les individuellement les
138 services d'authentification pour chaque application conforme à PAM,
139 sans recompiler aucune application.
140
141 %description -l pl.UTF-8
142 PAM (Pluggable Authentication Modules) jest silnym i łatwo
143 dostosowywalnym do potrzeb systemem uwierzytelniania, który umożliwia
144 administratorowi indywidualne konfigurowanie poszczególnych usług,
145 które są dostosowane i skonsolidowane z bibliotekami PAM, bez
146 późniejszej ich rekompilacji w momencie zmiany sposobu
147 uwierzytelniania tychże usług.
148
149 %description -l pt_BR.UTF-8
150 PAM (Módulos de Autenticação Plugáveis) é um poderoso, flexível e
151 extensível sistema de autenticação, que permite o administrador do
152 sistema configurar serviços de autenticação individualmente para cada
153 aplicação pam compatível, sem necessidade de recompilar qualquer uma
154 das aplicações.
155
156 %description -l uk.UTF-8
157 PAM (Pluggable Authentication Modules) - це потужна, гнучка, здатна до
158 розширення система аутентикації, яка дозволяє системному
159 адміністратору налагоджувати севіси авторизації доступу (аутентикації)
160 індивідуально для кожної pam-сумісної програми без необхідності
161 перекомпіляції самої програми. Це базовий механізм аутентикації в PLD
162 Linux.
163
164 %description -l tr.UTF-8
165 PAM (Pluggable Authentication Modules) sistem yöneticilerinin
166 uygulamalardan herhangi birini yeniden derlemeksizin bütün PAM uyumlu
167 uygulamalar için doğrulama hizmetlerini ayarlamalarına yardımcı olan,
168 güclü, esnek ve kapsamlı bir doğrulama sistemidir.
169
170 %description -l ru.UTF-8
171 PAM (Pluggable Authentication Modules) - это мощная, гибкая,
172 расширяемая система аутентикации, позволяющая системному
173 администратору конфигурировать сервисы авторизации доступа
174 (аутентикации) индивидуально для каждой pam-совместимой программы без
175 необходимости перекомпилляции самой программы. Это базовый механизм
176 аутентикации в PLD Linux.
177
178 %package libs
179 Summary:        PAM libraries
180 Summary(pl.UTF-8):      Moduły PAM
181 Group:          Libraries
182 Requires:       sed >= 4.0
183
184 %description libs
185 PAM libraries.
186
187 %description libs -l pl.UTF-8
188 Moduły PAM.
189
190 %package devel
191 Summary:        PAM header files
192 Summary(pl.UTF-8):      Pliki nagłówkowe i dokumentacja programisty do PAM
193 Summary(pt_BR.UTF-8):   Bibliotecas e arquivos de inclusão para desenvolvimento com PAM
194 Summary(ru.UTF-8):      Библиотеки разработчика для PAM
195 Summary(uk.UTF-8):      Бібліотеки програміста для PAM
196 Group:          Development/Libraries
197 Requires:       %{name}-libs = %{epoch}:%{version}-%{release}
198 %{?with_audit:Requires: audit-libs-devel >= 1.0.8}
199 Requires:       filesystem >= 3.0-11
200
201 %description devel
202 Header files for developing PAM based applications.
203
204 %description devel -l pl.UTF-8
205 Pliki nagłówkowe i dokumentacja programisty do PAM.
206
207 %description devel -l pt_BR.UTF-8
208 Bibliotecas e arquivos de inclusão para desenvolvimento com PAM
209
210 %description devel -l ru.UTF-8
211 Этот пакет содержит хедеры и библиотеки разработчика для PAM.
212
213 %description devel -l uk.UTF-8
214 Цей пакет містить хедери та бібліотеки програміста для PAM.
215
216 %package static
217 Summary:        PAM static libraries
218 Summary(pl.UTF-8):      Biblioteki statyczne PAM
219 Summary(ru.UTF-8):      Статические библиотеки разработчика для PAM
220 Summary(uk.UTF-8):      Статичні бібліотеки програміста для PAM
221 Group:          Development/Libraries
222 Requires:       %{name}-devel = %{epoch}:%{version}-%{release}
223
224 %description static
225 PAM static libraries.
226
227 %description static -l pl.UTF-8
228 Biblioteki statyczne PAM.
229
230 %description static -l ru.UTF-8
231 Этот пакет содержит статические библиотеки разработчика для PAM.
232
233 %description static -l uk.UTF-8
234 Цей пакет містить статичні бібліотеки програміста для PAM.
235
236 %package pam_cracklib
237 Summary:        PAM module to check the password against dictionary words
238 Summary(pl.UTF-8):      Moduł PAM do sprawdzania haseł względem słów ze słownika
239 Group:          Base
240 Requires:       %{name}-libs = %{epoch}:%{version}-%{release}
241 Requires:       cracklib >= 2.8.3
242 Requires:       cracklib-dicts >= 2.8.3
243
244 %description pam_cracklib
245 PAM module to check the password against dictionary words.
246
247 %description pam_cracklib -l pl.UTF-8
248 Moduł PAM do sprawdzania haseł względem słów ze słownika.
249
250 %package pam_selinux
251 Summary:        PAM module - SELinux support
252 Summary(pl.UTF-8):      Moduł PAM pozwalający na zmianę kontekstów SELinuksa
253 Group:          Base
254 Requires:       %{name}-libs = %{epoch}:%{version}-%{release}
255 Requires:       libselinux >= 2.1.9
256
257 %description pam_selinux
258 PAM module - SELinux support.
259
260 %description pam_selinux -l pl.UTF-8
261 Moduł PAM pozwalający na zmianę kontekstów SELinuksa.
262
263 %package pam_tally
264 Summary:        PAM module to check login counts (tallying)
265 Summary(pl.UTF-8):      Moduł PAM do sprawdzania liczby logowań
266 Group:          Base
267 Requires:       %{name}-libs = %{epoch}:%{version}-%{release}
268
269 %description pam_tally
270 This module maintains a count of attempted accesses, can reset count
271 on success, can deny access if too many attempts fail.
272
273 %description pam_tally -l pl.UTF-8
274 Ten moduł utrzymuje licznik prób logowań, może zerować licznik przy
275 udanym logowaniu, może też blokować dostęp przy zbyt wielu
276 niepowodzeniach.
277
278 %package pam_userdb
279 Summary:        PAM module - authenticate against GDBM database
280 Summary(pl.UTF-8):      Moduł PAM do uwierzytelniania względem bazy danych GDBM
281 Group:          Base
282 Requires:       %{name}-libs = %{epoch}:%{version}-%{release}
283 Requires:       gdbm >= 1.8.3-7
284
285 %description pam_userdb
286 pam_userdb - PAM module to authenticate against GDBM database.
287
288 %description pam_userdb -l pl.UTF-8
289 pam_userdb - moduł PAM służący do uwierzytelniania względem bazy
290 danych GDBM.
291
292 %prep
293 %setup -q -a2 -n Linux-PAM-%{version}
294 %patch0 -p1
295 %patch1 -p1
296 %patch2 -p1
297 %patch3 -p1
298 %patch4 -p1
299 %patch5 -p1
300 %patch6 -p1
301 %patch7 -p1
302
303 %build
304 %{__libtoolize}
305 %{__aclocal} -I m4
306 %{__autoconf}
307 %{__autoheader}
308 %{__automake}
309 %configure \
310         ac_cv_path_FO2PDF= \
311         --enable-static \
312         --enable-shared \
313         --libdir=/%{_lib} \
314         --includedir=%{_includedir}/security \
315         %{!?with_audit:--disable-audit} \
316         %{?with_cracklib:--enable-cracklib} \
317         --enable-db=gdbm \
318         %{!?with_doc:--disable-regenerate-docu} \
319         --enable-isadir=../../%{_lib}/security \
320         %{!?with_prelude:--disable-prelude} \
321         %{!?with_selinux:--disable-selinux} \
322         %{?with_tally:--enable-tally} \
323         %{?with_tally:--enable-tally2}
324
325 # we must explicitely update-gmo as we patch a po file
326 %{__make} -C po update-gmo
327 %{__make} \
328         DEFS="-DHAVE_CONFIG_H -D_GNU_SOURCE"
329
330 %install
331 rm -rf $RPM_BUILD_ROOT
332 install -d $RPM_BUILD_ROOT{%{_libdir},/etc/pam.d,/usr/lib/pam.d,/var/{log,run/sepermit}} \
333         $RPM_BUILD_ROOT%{systemdtmpfilesdir}
334
335 %{__make} install \
336         DESTDIR=$RPM_BUILD_ROOT \
337         servicedir=%{systemdunitdir}
338
339 %if %{with selinux}
340 install -p modules/pam_selinux/.libs/pam_selinux_check $RPM_BUILD_ROOT%{_sbindir}
341 cp -p modules/pam_selinux/pam_selinux_check.8 $RPM_BUILD_ROOT%{_mandir}/man8
342 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/pam_selinux_check
343 %endif
344
345 cp -p %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
346
347 install -d doc/txts
348 for r in modules/pam_*/README; do
349         cp -pf $r doc/txts/README.$(basename $(dirname $r))
350 done
351 %{__rm} doc/txts/README.pam_userdb
352 %{__rm} doc/txts/README.pam_cracklib
353 install -d doc/html
354 cp -pf doc/index.html doc/html/
355
356 # fix PAM/pam man page
357 echo ".so PAM.8" > $RPM_BUILD_ROOT%{_mandir}/man8/pam.8
358
359 :> $RPM_BUILD_ROOT/etc/security/opasswd
360 :> $RPM_BUILD_ROOT/etc/security/blacklist
361
362 %if %{with tally}
363 :> $RPM_BUILD_ROOT/var/log/tallylog
364 %endif
365
366 %{__mv} $RPM_BUILD_ROOT/%{_lib}/lib*.a $RPM_BUILD_ROOT%{_libdir}
367
368 cd $RPM_BUILD_ROOT/%{_lib}
369 for f in lib*.la ; do
370         %{__sed} -e 's|/%{_lib}/libpam|%{_libdir}/libpam|g' \
371                  -e "s|libdir='/%{_lib}|libdir='%{_libdir}|g" $f > $RPM_BUILD_ROOT%{_libdir}/$f
372         %{__rm} $f
373 done
374 ln -sf /%{_lib}/$(echo libpam.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpam.so
375 ln -sf /%{_lib}/$(echo libpam_misc.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpam_misc.so
376 ln -sf /%{_lib}/$(echo libpamc.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/libpamc.so
377 cd -
378
379 cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/other
380 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/system-auth
381 cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/pam.d/config-util
382 cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/postlogin
383
384 cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_mandir}/man5/system-auth.5
385 cp -p %{SOURCE8} $RPM_BUILD_ROOT%{_mandir}/man5/config-util.5
386
387 # Make sure every module subdirectory gave us a module.  Yes, this is hackish.
388 for dir in modules/pam_* ; do
389 %if %{without selinux}
390 [ ${dir} = "modules/pam_selinux" ] && continue
391 [ ${dir} = "modules/pam_sepermit" ] && continue
392 %endif
393 %if %{without audit}
394 [ ${dir} = "modules/pam_tty_audit" ] && continue
395 %endif
396         if [ -d ${dir} ] ; then
397                 if ! ls -1 $RPM_BUILD_ROOT/%{_lib}/security/`basename ${dir}`*.so ; then
398                         echo ERROR `basename ${dir}` did not build a module.
399                         exit 1
400                 fi
401         fi
402 done
403
404 for module in $RPM_BUILD_ROOT/%{_lib}/security/pam*.so ; do
405 # Check for module problems.  Specifically, check that every module we just
406 # installed can actually be loaded by a minimal PAM-aware application.
407         if ! env LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_lib} \
408                         ./dlopen.sh -ldl -lpam -L$RPM_BUILD_ROOT/%{_lib} ${module} ; then
409                 echo ERROR module: ${module} cannot be loaded.
410                 exit 1
411         fi
412 done
413
414 # useless - shut up check-files
415 %{__rm} $RPM_BUILD_ROOT/%{_lib}/security/*.{la,a}
416 %{__rm} $RPM_BUILD_ROOT/%{_lib}/lib*.so
417 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/Linux-PAM
418
419 %if %{with doc}
420 rm -rf rpm-doc
421 install -d rpm-doc
422 cp -a doc/html rpm-doc/html
423 cp -a doc/sag/html rpm-doc/sag-html
424 cp -a doc/adg/html rpm-doc/adg-html
425 cp -a doc/mwg/html rpm-doc/mwg-html
426 %endif
427
428 %if %{without selinux}
429 rm -rf $RPM_BUILD_ROOT{/%{_lib}/security/pam_selinux.so,%{_sbindir}/pam_selinux_check,%{_mandir}/man8/pam_selinux*.8*}
430 %endif
431
432 %find_lang Linux-PAM
433
434 %clean
435 rm -rf $RPM_BUILD_ROOT
436
437 %triggerpostun libs -- %{name}-libs < 0.99.7.1
438 for f in $(grep -l "\(pam_make\|pam_homedir\)" /etc/pam.d/*); do
439         case "$f" in
440         *rpmorig|*rpmnew|*rpmsave|*~|*.orig)
441                 continue
442                 ;;
443         *)
444                 cp -f "$f" "$f.rpmorig"
445                 sed -i -e 's/pam_make\.so \(.*\)/pam_exec.so failok seteuid \/usr\/bin\/make -C \1/g' \
446                        -e 's/pam_homedir\.so/pam_mkhomedir.so/g' "$f"
447                 ;;
448         esac
449 done
450 if [ -d /var/lock/console -a -d /var/run/console ]; then
451         cp -a /var/lock/console/* /var/run/console/ 2> /dev/null
452         rm -rf /var/lock/console
453 fi
454
455 %triggerin -- cronie,vixie-cron,hc-cron,fcron,mcron
456 # restart crond if pam is upgraded
457 # (crond is linked with old libpam but tries to open modules linked with new libpam)
458 if [ "$1" != 1 ]; then
459         %service -q crond restart
460 fi
461 exit 0
462
463 %triggerpostun -- %{name} < 1:1.1.5-8
464 # removed in 1.1.4
465 if grep -qs change_uid /etc/pam.d/system-auth; then
466         %{__sed} -i -e '/session/ s/change_uid//' /etc/pam.d/system-auth
467 fi
468
469 # We want it added for painless upgarde even if it mean log pollution for non-systemd
470 # enabled systems,
471 # If this module is not present on systemd enabled system then `systemctl restart sshd.service`
472 # will kill all sessions.
473 if ! grep -qs pam_systemd /etc/pam.d/system-auth; then
474         echo "-session  optional        pam_systemd.so" >>/etc/pam.d/system-auth
475 fi
476
477 %post pam_tally -p <lua>
478 fh, error = io.open("/var/log/tallylog")
479 if fh ~= nil then
480         io.close(fh)
481 else
482         fh = io.open("/var/log/tallylog", "w+")
483         io.close(fh)
484         posix.chmod("/var/log/tallylog", "rw-------")
485 end
486
487 %post   libs -p /sbin/ldconfig
488 %postun libs -p /sbin/ldconfig
489
490 %files -f Linux-PAM.lang
491 %defattr(644,root,root,755)
492 %doc AUTHORS CHANGELOG ChangeLog Copyright NEWS doc/txts/README*
493 %if %{with doc}
494 %doc doc/specs/*.txt doc/sag/Linux-PAM_*.txt rpm-doc/{html,sag-html}
495 %endif
496 %dir /etc/pam.d
497 %dir /etc/security/console.apps
498 %dir /etc/security/console.perms.d
499 %dir /etc/security/limits.d
500 %dir /usr/lib/pam.d
501 %dir /var/run/console
502 %{systemdtmpfilesdir}/%{name}.conf
503 %config(noreplace) %verify(not md5 mtime size) /etc/environment
504 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/other
505 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/system-auth
506 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/config-util
507 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/postlogin
508 %config(noreplace) %verify(not md5 mtime size) /etc/security/access.conf
509 %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist
510 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.handlers
511 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.perms
512 %config(noreplace) %verify(not md5 mtime size) /etc/security/faillock.conf
513 %config(noreplace) %verify(not md5 mtime size) /etc/security/group.conf
514 %config(noreplace) %verify(not md5 mtime size) /etc/security/limits.conf
515 %config(noreplace) %verify(not md5 mtime size) /etc/security/namespace.conf
516 %attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/namespace.init
517 %config(noreplace) %verify(not md5 mtime size) /etc/security/pam_env.conf
518 %config(noreplace) %verify(not md5 mtime size) /etc/security/time.conf
519 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram
520 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.en
521 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.de
522 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.dk
523 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.es
524 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.fi
525 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.it
526 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.ja
527 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.no
528 %config(noreplace) %verify(not md5 mtime size) /etc/security/trigram.pl
529 %config(noreplace) %verify(not md5 mtime size) /etc/security/console.perms.d/50-default.perms
530 %attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/opasswd
531 %attr(755,root,root) %{_bindir}/pam_pwgen
532 %attr(755,root,root) %{_sbindir}/faillock
533 %attr(755,root,root) %{_sbindir}/mkhomedir_helper
534 %attr(755,root,root) %{_sbindir}/pam_console_apply
535 %attr(755,root,root) %{_sbindir}/pam_namespace_helper
536 %attr(755,root,root) %{_sbindir}/pam_timestamp_check
537 %attr(755,root,root) %{_sbindir}/pwgen_trigram
538 %attr(4755,root,root) %{_sbindir}/unix_chkpwd
539 %attr(4755,root,root) %{_sbindir}/unix_update
540 %{systemdunitdir}/pam_namespace.service
541 %{_mandir}/man5/access.conf.5*
542 %{_mandir}/man5/config-util.5*
543 %{_mandir}/man5/console.apps.5*
544 %{_mandir}/man5/console.handlers.5*
545 %{_mandir}/man5/console.perms.5*
546 %{_mandir}/man5/environment.5*
547 %{_mandir}/man5/faillock.conf.5*
548 %{_mandir}/man5/group.conf.5*
549 %{_mandir}/man5/limits.conf.5*
550 %{_mandir}/man5/namespace.conf.5*
551 %{_mandir}/man5/pam.conf.5*
552 %{_mandir}/man5/pam.d.5*
553 %{_mandir}/man5/pam_env.conf.5*
554 %{_mandir}/man5/system-auth.5*
555 %{_mandir}/man5/time.conf.5*
556 %{_mandir}/man8/PAM.8*
557 %{_mandir}/man8/faillock.8*
558 %{_mandir}/man8/mkhomedir_helper.8*
559 %{_mandir}/man8/pam.8*
560 %{_mandir}/man8/pam_*.8*
561 %{_mandir}/man8/unix_chkpwd.8*
562 %{_mandir}/man8/unix_update.8*
563 %if %{with cracklib}
564 %exclude %{_mandir}/man8/pam_cracklib.8*
565 %endif
566 %if %{with selinux}
567 %exclude %{_mandir}/man8/pam_selinux*.8*
568 %exclude %{_mandir}/man8/pam_sepermit.8*
569 %endif
570 %exclude %{_mandir}/man8/pam_userdb.8*
571
572 # PAM modules
573 %attr(755,root,root) /%{_lib}/security/pam_access.so
574 %attr(755,root,root) /%{_lib}/security/pam_console.so
575 %attr(755,root,root) /%{_lib}/security/pam_debug.so
576 %attr(755,root,root) /%{_lib}/security/pam_deny.so
577 %attr(755,root,root) /%{_lib}/security/pam_echo.so
578 %attr(755,root,root) /%{_lib}/security/pam_env.so
579 %attr(755,root,root) /%{_lib}/security/pam_exec.so
580 %attr(755,root,root) /%{_lib}/security/pam_faildelay.so
581 %attr(755,root,root) /%{_lib}/security/pam_faillock.so
582 %attr(755,root,root) /%{_lib}/security/pam_filter.so
583 %attr(755,root,root) /%{_lib}/security/pam_filter/upperLOWER
584 %attr(755,root,root) /%{_lib}/security/pam_ftp.so
585 %attr(755,root,root) /%{_lib}/security/pam_group.so
586 %attr(755,root,root) /%{_lib}/security/pam_issue.so
587 %attr(755,root,root) /%{_lib}/security/pam_keyinit.so
588 %attr(755,root,root) /%{_lib}/security/pam_lastlog.so
589 %attr(755,root,root) /%{_lib}/security/pam_limits.so
590 %attr(755,root,root) /%{_lib}/security/pam_listfile.so
591 %attr(755,root,root) /%{_lib}/security/pam_localuser.so
592 %attr(755,root,root) /%{_lib}/security/pam_loginuid.so
593 %attr(755,root,root) /%{_lib}/security/pam_mail.so
594 %attr(755,root,root) /%{_lib}/security/pam_mkhomedir.so
595 %attr(755,root,root) /%{_lib}/security/pam_motd.so
596 %attr(755,root,root) /%{_lib}/security/pam_namespace.so
597 %attr(755,root,root) /%{_lib}/security/pam_nologin.so
598 %attr(755,root,root) /%{_lib}/security/pam_permit.so
599 %attr(755,root,root) /%{_lib}/security/pam_pwexport.so
600 %attr(755,root,root) /%{_lib}/security/pam_pwgen.so
601 %attr(755,root,root) /%{_lib}/security/pam_pwhistory.so
602 %attr(755,root,root) /%{_lib}/security/pam_rhosts.so
603 %attr(755,root,root) /%{_lib}/security/pam_rootok.so
604 %attr(755,root,root) /%{_lib}/security/pam_rps.so
605 %attr(755,root,root) /%{_lib}/security/pam_securetty.so
606 %attr(755,root,root) /%{_lib}/security/pam_setquota.so
607 %attr(755,root,root) /%{_lib}/security/pam_shells.so
608 %attr(755,root,root) /%{_lib}/security/pam_stress.so
609 %attr(755,root,root) /%{_lib}/security/pam_succeed_if.so
610 %attr(755,root,root) /%{_lib}/security/pam_time.so
611 %attr(755,root,root) /%{_lib}/security/pam_timestamp.so
612 %{?with_audit:%attr(755,root,root) /%{_lib}/security/pam_tty_audit.so}
613 %attr(755,root,root) /%{_lib}/security/pam_umask.so
614 %attr(755,root,root) /%{_lib}/security/pam_unix.so
615 %attr(755,root,root) /%{_lib}/security/pam_usertype.so
616 %attr(755,root,root) /%{_lib}/security/pam_warn.so
617 %attr(755,root,root) /%{_lib}/security/pam_wheel.so
618 %attr(755,root,root) /%{_lib}/security/pam_xauth.so
619
620 %files libs
621 %defattr(644,root,root,755)
622 %dir /%{_lib}/security/pam_filter
623 %attr(755,root,root) /%{_lib}/libpam.so.*.*.*
624 %attr(755,root,root) %ghost /%{_lib}/libpam.so.0
625 %attr(755,root,root) /%{_lib}/libpam_misc.so.*.*.*
626 %attr(755,root,root) %ghost /%{_lib}/libpam_misc.so.0
627 %attr(755,root,root) /%{_lib}/libpamc.so.*.*.*
628 %attr(755,root,root) %ghost /%{_lib}/libpamc.so.0
629
630 %files devel
631 %defattr(644,root,root,755)
632 %if %{with doc}
633 %doc doc/{adg,mwg}/Linux-PAM_*.txt rpm-doc/{adg,mwg}-html
634 %endif
635 %attr(755,root,root) %{_libdir}/libpam.so
636 %attr(755,root,root) %{_libdir}/libpam_misc.so
637 %attr(755,root,root) %{_libdir}/libpamc.so
638 %{_libdir}/libpam.la
639 %{_libdir}/libpam_misc.la
640 %{_libdir}/libpamc.la
641 %{_includedir}/security/_pam_*.h
642 %{_includedir}/security/pam*.h
643 %{_mandir}/man3/misc_conv.3*
644 %{_mandir}/man3/pam*.3*
645
646 %files static
647 %defattr(644,root,root,755)
648 %{_libdir}/libpam.a
649 %{_libdir}/libpamc.a
650 %{_libdir}/libpam_misc.a
651
652 %if %{with cracklib}
653 %files pam_cracklib
654 %defattr(644,root,root,755)
655 %doc modules/pam_cracklib/README
656 %attr(755,root,root) /%{_lib}/security/pam_cracklib.so
657 %{_mandir}/man8/pam_cracklib.8*
658 %endif
659
660 %if %{with selinux}
661 %files pam_selinux
662 %defattr(644,root,root,755)
663 %attr(755,root,root) /%{_lib}/security/pam_selinux.so
664 %attr(755,root,root) /%{_lib}/security/pam_sepermit.so
665 %attr(755,root,root) %{_sbindir}/pam_selinux_check
666 %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/pam_selinux_check
667 %config(noreplace) %verify(not md5 mtime size) /etc/security/sepermit.conf
668 %{_mandir}/man5/sepermit.conf.5*
669 %{_mandir}/man8/pam_selinux*.8*
670 %{_mandir}/man8/pam_sepermit.8*
671 %dir /var/run/sepermit
672 %endif
673
674 %if %{with tally}
675 %files pam_tally
676 %defattr(644,root,root,755)
677 %attr(755,root,root) %{_sbindir}/pam_tally
678 %attr(755,root,root) %{_sbindir}/pam_tally2
679 %attr(755,root,root) /%{_lib}/security/pam_tally.so
680 %attr(755,root,root) /%{_lib}/security/pam_tally2.so
681 %ghost %verify(not md5 mtime size) /var/log/tallylog
682 %endif
683
684 %files pam_userdb
685 %defattr(644,root,root,755)
686 %doc modules/pam_userdb/README
687 %attr(755,root,root) /%{_lib}/security/pam_userdb.so
688 %{_mandir}/man8/pam_userdb.8*
This page took 0.212928 seconds and 3 git commands to generate.