7 设置SVN的权限
7.1 修改Apache的配置
为了实现细粒度的权限控制,可以通过修改svn的仓库目录下的conf/authz文件来实现。在此之前,需要告诉Apache,使用该文件
sudo vi /etc/apache2/mods-available/dav_svn.conf
修改后如下,其中蓝色字体为新添加的内容:
<Location /svn >
DAV svn
SVNPath /home/svn
AuthType Basic
AuthzSVNAccessFile /home/svn/conf/authz
AuthName "welcome to subversion repository"
AuthUserFile /etc/subversion/passwd
#<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
#</LimitExcept>
</Location>
7.2 认证文件的配置
sudo vi /home/svn/conf/authz
文件内容类似如下:
[groups]
admin = admin
dev1 = jack, kate
dev2 = zbh2342, yingjianhh45, tantt, arei22
docs = bob, jane, mike
training = zak
# Default access rule for ALL repositories
# Everyone can read, admins can write, Dan German is excluded.
[/]
* = r
@admin = rw
dangerman =
# Allow developers complete access to their project repos
[project:/]
* = r /其他用户只有读权限
@admin = rw /admin,dev1这个两个组有读写权限
@dev1 = rw
对子项目的控制
[project:/DDWap] /对project/DDWap子目录有读写权限,下面类似。
@dev2 = rw
[project:/DDAdmin]
@dev2 = rw
[project:/DDSync]
@dev2 = rw
[project:/DDWeb]
@dev2 = rw
[project:/DDWeb]
@dev2 = rw
[project:/docs]
@dev2 = rw
[project:/thirdparty]
@dev2 = rw
通过实践,感觉Apache的权限配置很简单,但不是太方便,如果要针对子目录设置不同的权限,则需要将每个目录的权限都显式的指定。
8 参考文献
Ubuntu.html
附录A:远程修改SVN用户口令工具使用方法
参见
1、将文件ChangePasswd.cgi和ChangePasswd.ini 放到apche安装目录下的cgi-bin下
2、确认ChangePasswd.cgi 程序第1行 ,prel工具的位置 (我的:#!/usr/bin/perl -w)
3、修改ChangePasswd.cgi 第84行改成htpasswd所在的路径(我的:/project/apache/bin/htpasswd)
4、修改ChangePasswd.cgi 128行 ini文件改成完整路径(我的:/project/apache/cgi-bin/ChangePasswd.ini)
5、配置文件 ChangePasswd.ini 第2行authuserfile= 密码存放路径(我的:/svndata/svn-auth-file/passwd)
6、配置文件 ChangePasswd.ini 第3行logfile= 操作日志存放路径(我的:/project/apache/cgi-bin/ChangPasswd.log)
注意细节:
1、用htpasswd时 切勿用-m参数 如果以前用的话,可重新输入一次进行更新
2、ChangPasswd.log 必须有“w”写入权限
附录B:Ubuntu 8.10修改IP地址
参见:
执行命令:
sudo vi /etc/network/interface
第一步:屏蔽掉自动获取IP的设置
iface eth0 inet dhcp将这一行屏蔽掉
修改之后的内容如下:
# The primary network interface
auto eth0
#iface eth0 inet dhcp
第二步:添加静态IP的信息
# The primary network interface
iface eth0 inet static
address 192.168.0.10
netmask 255.255.255.0
gateway 192.168.0.1
也可以通过如下命令重启网卡,让新配置生效,好处是不影响其他网络接口。
$ sudo ifdown eth0
$ sudo ifup eth0
如果只是要临时改变IP地址,则不用修改interface.只用ifconfig使用即可,不过当系统重启动后,系统后会恢复interfaces中的配置上。
$ sudo ifconfig eth0 192.168.1.111 netmask 255.255.255.0
第三步:设置DNS
编辑 /etc/resolv.conf,设置dns
nameserver 202.96.134.133
nameserver 202.106.0.20
重启网络:/etc/init.d/networking restart
以上步骤完成之后只要重新启用一下网络就OK了.
附录C:Ubuntu下配置SSH服务
Ubuntu缺省没有安装SSH Server,可以使用以下命令安装OpenSSH:
sudo apt-get install openssh-server openssh-client
Ubuntu缺省安装了ssh client。
可以通过编辑 /etc/ssh/sshd_config 文件来配置 OpenSSH
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
sudo chmod a-w /etc/ssh/sshd_config.original
配置完成后重新启动:
sudo /etc/init.d/ssh restart