关于VSS系统权限设置

关于VSS系统权限设置
由于VSS基于共享目录形式做服务器,安全性能不好.
这里设置了一个相对安全的权限设置方案,由于先天缺陷,最好还是使用cvs等.
一些预先说明:
服务器有一个组vsstest
服务器有多个用户vsstest1,vsstest2,vsstest3,他们仅属于vsstest组
1.服务器设置共享目录share$
    加"$"符号,这样普通共享看不到
    srcsafe.ini配置文件里面是自己修改过的,把一些目录前面加入source/,
    这样实际数据就是放在share$/source里面
2.VSS的数据库目录也使用share这个目录
3.权限分配
    share$/                                无任何权限
    share$/srcsafe.ini                     组有读权限
    share$/source/users.txt                组有读权限
    share$/source/users                    无任何权限
    share$/source/users/用户               对应用户有完全权限
    share$/source/temp                     组有读/写权限
    share$/source/data                     组有读/写权限
    share$/source/data/labels              组有读/写/修改权限
4.说明一
    在前面的权限配置下,vsstest小组没有系统权限,仅拥有share$相关权限,
这样服务器用户管理较简单也不混乱.
    share$/无任何权限,仅srcsafe.ini有读权限,控制用户列举该目录数据,
但是又可以正常使用vss.
    share$/users.txt的读权限是必须的,否则会提示一些错误
    share$/users的权限分配按照用户,这样相互隔离他们的VSS配置文件
    share$/temp的读/写权限是必须的,否则会提示一些错误
    share$/data的读/写权限是必须的,否则会提示一些错误
    share$/data/labels需要有修改权限,否则不能够给源码标示label了
5.说明二
    其实share$/data是可以设置为没有任何权限,这样的话需要修改所有data
目录下的子目录和文件,添加读/写权限,其中/share$/data/locks可为只读,这个
主要是为了admin锁住源码库用的.

    经过上面的设置,一般用户基本上不容易对服务器的源码目录照成意外错误.
当然这个是不能防止别有用心的人搞破坏的,比如可以通过直接访问文件:
share$/srcsafe.ini获得实际数据目录share$/source/data,在访问这个目录就
可以copy所有代码数据了.说明二的比说明一的改进就是获得了share$/source/data
信息,还需要指定特别的数据目录才能copy数据,数据目录就是a~z,所以也不能控制
恶意行为.
    用过cvs后发现cvs的每个工程是独立的目录,而不是像VSS把源码分配到所有的
数据目录中,不过不知道VSS是怎么换算的.这样cvs可以通过配置ssh访问,在加上对
每个目录的权限单独控制,这样对应的组员只能对自己的工程目录操作,能更好的控
制源码的访问,比如分组,分工程分别设置等.

你可能感兴趣的:(源码管理)