在一个项目中有多个成员共同开发,其中各自所负责的模块并不相同,所以svn给其分配的权限也要不同,以防止zhangsan负责的模块被lisi修改而造成麻烦。
3、由svn管理人员在svnserve.conf文件中打开password-db = passwd authz-db = authz ,即把前面 的#号去掉。password-db = passwd意思是说用户与密码对应的数据保存在passwd文件中。 authz-db = authz 一些权限的信息保存在文件authz中。打开文件passwd向里面添加用户信息,如下图所示:
4、打开文件authz,在里面设置组与相应的权限。添加的内容如下所示:其中g_admin=admin意思为admin用户隶属于权限组g_admin,g_ui=zhangsan,lisi意思是zhangsan,lisi隶属于权限组g_ui;g_code=wangwu意思是wangwu隶属于权限组g_code;g_test=zhaoliu,qianqi意思是zhaoliu,qianqi隶属于权限组g_test。[/]@g_admin=rw =r 的意思是权限组g_admin对所有的目录都有读与写的权限。而其它用户则只有读(r)的权限。[/ui/html] zhangsan=rw 的意思是:zhangsan对目录/ui/html有读与写的权限。[/ui/js] lisi=rw意思是lisi对目录/ui/js有读与写的权限。[/code] @g_code=rw的意思是g_code权限组对目录/code有读与写的权限。[/test] @g_test=rw的意思是g_test权限组对目录/test有读与写的权限。
g_admin=adming_ui=zhangsan,lisig_code=wangwug_test=zhaoliu,qianqi[/]@g_admin=rw=r[/ui/html]zhangsan=rw[/ui/js]lisi=rw[/code]@g_code=rw[/test]@g_test=rw
6、在本地假设有目录D:\study_source\svn\cms_d\admin,这个目录是假设的项目经理的计算机。项目经理要对cms项目进行操作与编码,那么他首先要从svn服务器上把项目cms下载到本地,如下图所示的目录就假设是项目经理的计算机。 项目经理只需要在打开的文件夹上右键,然后选择SVN Checkout就可以了,如下图所示: 然后在弹出来的对话框中输入如下图所示的信息: 点击OK后,如下图所示:
7、项目经理在code文件夹下新建一个文件2.code,如下图所示: 然后在空白的地方点击右键在出现的菜单中选择svn commit,在出现的对话框中,如下图所示: 点击ok后就可以添加一个文件。项目经理可以对任何一个文件夹与其里面的内容进行操作。 8、假设同样有lisi的一个文件目录,D:\study_source\svn\cms_d\lisi,与项目经理一样先从svn服务器上把cms项目的内容checkout到本地,然后让lisi在目录code下添加一个文件3.code,添加完成后在空白处右键选择SVN commit,会出现如下菜单:
点击Ok后,如下图所示:
这样就会提示出错,其原因是因为,lisi只对ui/js目录有读写的权限,别的目录只有读的权限,这里要向code目录添加一个文件,显然是不对的。以这样的原理就可以对所有的目录分类对待,从而答到权限控制的效果。
网友评论