LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2219|回复: 5

cvs+acl权限控制问题

[复制链接]
发表于 2005-6-30 10:05:20 | 显示全部楼层 |阅读模式
有用cvs的大侠吗?来讨论讨论我这个问题。

系统环境:Redhat AS3
cvs版本:1.11.2
acl:内核支持


现在要做一个版本控制系统,最开始选用了subversion,利用apache挂载subversion,达到了权限控制,但是subversion的web视图管理的选择还是比较少,只有少数几个如viewcvs等支持,还不是很成熟,所以最后还是放弃了subversion,选择已经很成熟的CVS。


现在我想达到的目标是CVS+Fisheye+ACL,有web视图管理,及完善的权限控制。


首先说说我是怎么做的,Redhat AS3已经带有cvs,只要配置好就可以使用,网上类似资料很多,这里就不说了。

下面是安装Fisheye,这是一个强大的支持CVS视图化管理的web层工具,它内嵌了一个tomcat提供web服务,当然它是java开发的,需要安装好jdk,Fisheye安装是很傻瓜化的,直接启动bin目录下的run.sh脚本,就可以通过浏览器访问了,默认端口是8080。

cvs和fisheye都轻松搞定了,现在最麻烦的就是权限管理,一般的权限管理都是控制用户对库的读写权限,但是我现在想做到的是对库下的目录做权限,也就是说如果有一个test库,库下面有a、b、c三个目录,我希望能做到用户对三个目录有分别的权限,看过大量资料,都没有提到怎么来控制目录的权限,于是我想到用ACL来控制目录的权限,CVS使用系统用户登录。

修改fatab文件,修改options参数为acls,让系统支持ACL,在系统内做大量测试,做到了文件或文件夹对单独用户的权限。

到这里,满以为已经做到了权限控制,可是没有想到利用系统用户登录cvs,如果系统用户对文件夹没有写权限的话,是无法checkout cvs库的,原因是checkout的同时要向文件夹写入一个lock文件,那如果得到了文件夹的写权限,那权限控制不是白做了嘛。

现在查了很多资料,还是没有解决这个问题,有用CVS的大侠来讨论讨论啊,怎么才能做到完善的权限控制。
发表于 2005-6-30 11:16:48 | 显示全部楼层
没有这方面的使用经验。
帮你顶
回复 支持 反对

使用道具 举报

发表于 2006-4-19 10:39:03 | 显示全部楼层
cvs中默认一个用户checkout代码时候,会在当前模块下生成一个锁文件,如果这个用户对当前模块没有写权限,读是不可能的。配合上面的权限设置,必须改一下cvs服务器配置。改成不在当前模块目录下生成锁文件,把锁文件集中到一个所有用户都有读写权限的目录。修改配置文件CVSROOT/config:
# Put CVS lock files in this directory rather than directly in the repository.
#LockDir=/var/lock/cvs
把LockDir设成一个所有用户都有读写权限的目录
回复 支持 反对

使用道具 举报

发表于 2006-6-7 15:07:40 | 显示全部楼层
对,你用这样试试,
我以前用cvs时,也遇到这个问题,改lock目录的路径可以解决~~
不过,我当时没有实现cvs和acl的结合,因为我想建立的是cvs的用户而不是系统用户
那个racl命令执行后没有用,不知为什么,一起讨论了
回复 支持 反对

使用道具 举报

发表于 2006-6-8 09:50:40 | 显示全部楼层
用3楼的方法就行了。
俺用CVSNT for linux版,很不错的。
回复 支持 反对

使用道具 举报

发表于 2006-7-24 11:34:24 | 显示全部楼层

请教oceanlinux!

oceanlinux:
   
    您好!

    看了您的关于cvs + acl权限控制的方法,我也急需这样来管理cvs的权限,但是我不熟悉linux。那能否请您将cvs + acl权限控制的具体实现方法描述出来,让我等不熟悉linux的也能照葫芦画瓢。

    有劳您了!

    多谢了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表