1 %define mod_name auth_shadow
2 %define apxs /usr/sbin/apxs
3 Summary: Apache module: authenticating against a /etc/shadow file
4 Summary(pl.UTF-8): Moduł do apache: autoryzacja przez plik /etc/shadow
5 Name: apache-mod_%{mod_name}
9 Group: Networking/Daemons/HTTP
10 Source0: http://dl.sourceforge.net/mod-auth-shadow/mod_auth_shadow-%{version}.tar.gz
11 # Source0-md5: 3a7c4e053edd148a18d1eeee54cb73f7
12 Patch0: %{name}-make.patch
13 URL: http://mod-auth-shadow.sourceforge.net/
14 BuildRequires: %{apxs}
15 BuildRequires: apache-devel >= 2.0
16 BuildRequires: rpmbuild(macros) >= 1.268
17 Requires: apache(modules-api) = %apache_modules_api
18 Obsoletes: apache-mod_auth-shadow
19 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
21 %define _pkglibdir %(%{apxs} -q LIBEXECDIR 2>/dev/null)
22 %define _sysconfdir %(%{apxs} -q SYSCONFDIR 2>/dev/null)
25 mod_auth_shadow is an Apache module for authenticating users via an
28 When performing this task one encounters one fundamental difficulty:
29 the /etc/shadow file is supposed to be read/writeable only by root.
30 However, the webserver is supposed to run under a non-root user, such
33 mod_auth_shadow addresses this difficulty by opening a pipe to an suid
34 root program, validate, which does the actual validation. When there
35 is a failure, validate writes an error message to the system log, and
36 waits three seconds before exiting.
38 %description -l pl.UTF-8
39 mod_auth_shadow to moduł Apache'a do uwierzytelniania użytkowników
40 poprzez plik /etc/shadow.
42 Przy wykonywaniu tego zadania jest jedna zasadnicza trudność: plik
43 /etc/shadow może być odczytywany/zapisywany tylko przez roota. Jednak
44 serwer WWW ma działać z prawami użytkownika innego niż root, takiego
47 mod_auth_shadow obchodzi ten problem poprzez otwieranie potoku do
48 programu z ustawionym atrybutem suid root - validate - wykonującego
49 właściwe sprawdzanie hasła. W przypadku błędu validate zapisuje
50 komunikat do loga systemowego i czeka trzy sekundy przed zakończeniem.
53 %setup -q -n mod_%{mod_name}-%{version}
59 INSTBINDIR=%{_sbindir} \
63 rm -rf $RPM_BUILD_ROOT
64 install -d $RPM_BUILD_ROOT{%{_pkglibdir},%{_sbindir},%{_sysconfdir}/httpd.conf}
66 install .libs/mod_%{mod_name}.so $RPM_BUILD_ROOT%{_pkglibdir}
67 install validate $RPM_BUILD_ROOT%{_sbindir}
68 echo 'LoadModule %{mod_name}_module modules/mod_%{mod_name}.so' > \
69 $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf/90_mod_%{mod_name}.conf
72 rm -rf $RPM_BUILD_ROOT
75 %service -q httpd restart
78 if [ "$1" = "0" ]; then
79 %service -q httpd restart
83 %defattr(644,root,root,755)
84 %doc CHANGES INSTALL README
85 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf/*_mod_%{mod_name}.conf
86 %attr(755,root,root) %{_pkglibdir}/*.so
87 %attr(4755,root,root) %{_sbindir}/validate