启用 SASL 的 SVN(在 Debian v7 机器上),使用 Active Directory(在另一台服务器上)
请注意,我已经设置了 samba 和 winbind,其中包括 libsasl2-2,因此还获得了启动可执行文件和 svnserve 和模块(需要 svn plain(或其他)机制工作,这(仅供参考)将它们放在 /usr/lib/ x86_64-linux-gnu/sasl2/libplain.so):
sudo apt-get install sasl2-bin svnserve libsasl2-modules
sudo pico /etc/default/saslauthd
更改START=no
为START=yes
, 和MECHANISMS="pam"
, MECHANISMS="ldap"
and THREADS=0
(不是 5), 去掉最后一行/var
前面的,控制 x, y, 输入/run
OPTIONS="-c -m /run/saslauthd";
sudo pico /etc/saslauthd.conf
添加以下内容(注意:您可能需要在 dc= 系列前面添加一个“ou=folder”):
ldap_servers: ldap://hostname.of.server<br />
ldap_search_base: dc=hostname,dc=of,dc=server<br />
ldap_bind_dn: cn=usernamehere,dc=hostname,dc=of,dc=server<br />
ldap_bind_pw: password<br />
ldap_filter: samaccountname=%u<br />
sudo /etc/init.d/saslauthd start
运行sudo testsaslauthd -u usernamehere -p password
以测试 ldap 设置并cat /var/log/auth.log
查看日志。
将以下行添加到文件中/usr/lib/sasl2/svn.conf
:
pwcheck_method: saslauthd
mech_list: plain
创建存储库:
mkdir /data
svnadmin create /data/repohere
假设某种以前的“svnadmin dump /data/repohere >/data/repohere.dump” svnadmin load /data/repohere
pico /data/repohere/conf/svnserve.conf
取消注释(删除前导磅和前导空格);并且,修改 anon-access 和 authz-db (请注意,我将 authz 放在 /data 中,而不是我的多个 repos 共享它):
anon-access = none<br />
auth-access = write<br />
authz-db = ../../authz<br />
use-sasl = true<br />
pico /data/authz
添加以下内容:
[groups]<br />
whatever = username1,username2<br />
[/]<br />
@whatever = rw<br />
在启动时安排 svnserve(抱歉,找不到,所以手动制作一个):
sudo cp /etc/init.d/skeleton /etc/init.d/svnserve
sudo chmod 755 /etc/init.d/svnserve
sudo update-rc.d svnserve defaults
sudo pico /etc/init.d/svnserve
将DESC更改为“subversion server”,将NAME更改为“svnserve”,将DAEMON的“sbin”中的“s”取出(使其只是/bin/),将DAEMON_ARGS更改为“-d -r /data--日志文件 /var/log.svn.log"
sudo /etc/init.d/svnserver start
测试你最喜欢的 svn 客户端(例如 TortoiseSVN)!