Проблема в настройках безопасности хранилища Subversion, обслуживаемого через веб-сервер Apache.
Я использую Аутентификацию на основе пути, чтобы защитить некоторую информацию о компании от внешних соавторов. Мне нужно что-то, что проверяет, что авторизация дана людям, которых я хочу, т.е. мне нужно проверить, что я не допустил ошибок в конфигурации.
Существует простой способ проверить это: смоделировать доступ к ресурсу, используя имя пользователя и пароль пользователей. Но этот метод требует знания пароля пользователей.
Например, следующий скрипт BASH проверяет авторизацию каждого пользователя по указанному пути ($ url). Примечание: файл users-files.txt содержит имя пользователя и пароль пользователей в форме «имя пользователя: пароль».
url="http://my.company.com/svn/repo1/private-data/"
while read line; do
username="${line%:*}"
password="${line#*:}"
if wget --quiet --user="$username" --password="$password" -- "$url"; then
echo -e "$username:\tgranted"
else
echo -e "$username:\tdenied"
fi
done < users-list.txt
Есть способ выполнить эту проверку, не зная паролей пользователей, а только имя пользователя? Я root на машине, где работает HTTPD и Subversion. Предоставляет ли HTTPD какой-либо инструмент аудита?
Аутентификация настраивается следующим образом:
<Location /svn/>
DAV svn
SVNParentPath /var/svn/
AuthType Basic
AuthBasicProvider ldap
AuthName "Subversion repository"
AuthLDAPURL ldap://127.0.0.1:389/ou=People,o=mycompany.com?uid?sub?(objectClass=*)
Require valid-user
AuthzSVNAccessFile /var/svn/svn-access-file.conf
Options Indexes
SVNListParentPath on
</Location>