I'd like to setup Subversion repository so that same username and password could be used to access repository as in ssh login. I managed to get login work so that correct username is required, but it accepts any password. How I can get it to require valid password also?
I'm running Ubuntu server 8.04.2 with "standard modules", Apache2, Subversion and libapache2-mod-authnz-external. In addition I found utility called pwauth to help with authentication.
Here are the relevant parts from configuration:
/etc/apache/apache2.conf
AddExternalAuth pwauth /usr/local/bin/pwauth
SetExternalAuthMethod pwauth pipe
AddExternalGroup unixgroup /usr/local/bin/unixgroup
SetExternalGroupMethod unixgroup environment
/etc/apache/mods-available/dav_svn.conf:
AuthType Basic
AuthBasicProvider external
AuthExternal pwauth
GroupExternal unixgroup
AuthName "Subversion repository"
Require group users
Require user myaccount
/etc/pam.d/pwauth:
auth required pam_succeed_if.so user=www-data
account required pam_localuser.so
config.h for pwauth:
#define PAM /* Linux PAM or OpenPAM*/
#define UNIX_LASTLOG /**/
#define HAVE_LASTLOG_H /**/
#define NOLOGIN_FILE "/etc/nologin" /**/
#define MIN_NOLOGIN_UID 1 /**/
#define CHECK_LOGIN_EXPIRATION /**/
#define CHECK_PASSWORD_EXPIRATION /**/
#define SERVER_UIDS 33 /* user "www-data" */
#define MIN_UNIX_UID 500 /**/
#define SLEEP_LOCK "/var/run/pwauth.lock"
(is something missing?)
Edit: I'm aware about potential security issues, but I want know why this setup doesn't work.