Проверка подлинности Svnserve с использованием учетных записей SASL и обычных пользователей
Можно ли настроить svnserve таким образом, чтобы он аутентифицировался с использованием системных пользователей и паролей (например, с помощью файла /etc/shadow)? Я предполагаю, что это будет с SASL, но я не смог найти конфигурацию SASL, которая работала бы таким образом.
У меня есть сервер Subversion, работающий под Apache, но он очень медленный. Использование svnserve в некоторых случаях происходит немного быстрее, поэтому я бы хотел перейти на это. Метод svn + ssh кажется сложным для пользователей, которым необходимо настроить закрытые / открытые ключи.
2 ответа
Я исследовал этот вариант немного:
Со стороны SASL вы можете использовать механизм PLAIN для аутентификации по системным учетным записям. Лучший вариант, вероятно, PAM и saslauthd
, Но механизмы "общего секрета" невозможны (если пароль вашей системной учетной записи не хранится в открытом виде).
Со стороны Subversion, SASL отмечает список 1.6.4 в разделе "Известные проблемы", что они напрямую отключают механизм PLAIN как в ra_svn, так и в svnserve, потому что он отправляет пароль в виде открытого текста. В примечаниях к 1.6.5 они сняли это ограничение и объяснили, что вам следует позаботиться о защите вашего сетевого взаимодействия. Они, вероятно, сделали это изменение, потому что они знают, что это необходимо использовать saslauthd
:
В частности, эта проблема затрагивает пользователей, использующих демон saslauthd для аутентификации пользователей, поскольку этот метод (=PLAIN) работает только с простыми текстовыми паролями.
Итак, в заключение, я думаю, что вы можете заставить его работать, но только для очень ограниченного числа конфигураций: клиент и сервер должны иметь Subversion 1.6.5 или выше с скомпилированным SASL.
Я не следовал этому руководству, поэтому я не знаю, является ли оно актуальным и точным, но здесь идет речь:
Кроме того, вам не нужно использовать закрытые / открытые ключи (если у вас нет корпоративной политики или чего-то еще) для аутентификации с помощью SVN. Вы можете просто использовать встроенную подсказку пароля клиента SVN и использовать опцию для кэширования пароля, если вы не хотите вводить его каждый раз.
Кроме того, вы можете выяснить, почему Apache кажется медленным. За эти годы я обнаружил, что SVN+Apache дает вам максимальную гибкость и надежность. Я не могу представить переход от svn+apache к svnserve.