CVS权限的设置

 

完成如下权限的设置:
假设有用户 1 user1 ; 用户 2 user2
用户 1(user1) 的工作模块 :user1dir; 用户 2(user2) 的工作模块 :user2dir
要求实现 user1 只能访问 user1dir;user2 只能访问 user2dir
 
1 步,设置 CVS 的库配置文件(模块 CVSROOT )的访问权限方法:
建立超级用户的工作目录 WINCVSADMIN
1.         cvsnt 服务器超级用户 administrtor 登陆 wincvs
2.         CHECKOUT 库控制文件 checkout moudel 'cvsroot', 此目录下的文件为 CVS 的高级配置文件,可以在本地进行修改,提交,本身在版本控制之中
3.         修改 CVSRoot 的访问权限,在命令行输入如下命令, # 之后为说明,不需要输入,每行命令要单独执行,这是 4 条命令
cvs chacl default:n # 取消所有用户的默认权限
cvs chacl administrator:rcw # 设置 Administrator 拥有所有权限 读取 ; 创建和删除 ; 写入
cvs chown administrator # 更改的拥有者 Administrator
cvs lsacl # 察看权限的设置情况
2 步,建立 CVS 的用户,正常可以用 WINNT 系统的用户作为 CVS 的用户访问 CVS
但是这种方式安全性太差 可以建立 CVS 自己的用户
1.         建立 WINNT 系统用户 CVSUSER ,权限设为一般用户就可以,只要能访问 WINNT 就可以
2.         建立密码文件 PASSWD, 直接在服务端 CVSROOT 目录下建立文件就可以 PASSWD 出于安全考虑,不要将 passwd 列在 checkoutlist 文件里面。
3.         建立 CVS 用户 WINCVS 命令行下输入命令
cvs passwd -a -r cvsuser user2 # 建立 USER2 用户与系统用户 cvsuser 有一样的权限 , 回车
# 后提示输入两次口令
cvs passwd -a -r cvsuser user1 # 建立 user1 用户与系统用户 cvsuser 有一样的权限 , 回车后
# 提示输入两次口令
cvs passwd -a -r administratro administrator  # 建立 administrator 用户与系统用户
# administrator 有一样的权限 , 回车后提示输入两次口令
可以看到 PASSWD 文件多了两行
user2:CUXQwLMdoZHNs:cvsuser # 中间为加密的密码 , 密码使用 Unix 标准的 crypt() 函数加密
user1:ZTUCMKUkZ6ap2:cvsuser administrator:oN2Stm4NIf31Q:administrator
3 , 使用 CVS 用户登陆
由于 CVS 在默认模式下 , 是采用系统用户登陆的 , 这就要修改配置文件 CONFIG 设置文件 CONFIG 为修改状态,加入如下一行
SystemAuth=no
#yes 默认值 , 表示 如果用户在 PASSWD 文件中不存在 , 就用系统用户检查权限是否正确
#no 表示用 PASSWD 检查用户密码权限是否正确之后提交
在设置 CONFIG 文件 SystemAuth=no 之后 需要在 cvs 控制目录 cvsroot/ 下建立 admin 文件 这个文件是指定 CVSNT 的管理员列表的文件, CVSNT 根据这个文件来判断一个用户是否是管理员。文件的内容很是一个用户列表。如下:
user1 user2 user3 这些代表 user1,user2,user3 都是管理员
在此之前 cvs 将服务器的管理员用户作为自己的管理员用户的
4 , 加入文件 WRITERS ,READERS 控制用户的读写权限
cvsroot 目录下加入两个文本文件, WRITERS ,READERS 其每行内容为 用户名 回车
只有加入 WRITERS 中的用户才能进行提交 加入 READERS 中的用户只能读取 同时在两个文件中的用户只能读取 writers 文件中加入如下 user2 user1 administrator
5 步, 配置 CVS 库模块文件 --modules
1.         MODUES 文件设为可编辑状态
2.         MOUDES 加入如下 3 CVSRoot CVSRoot user1 的工作目录 -a user1DIR
user2 的工作目录 -a USER2DIR c. 保存 , 提交 COMMIT
6 , 2 个用户分别上传工作目录
选中 USER1 的工作目录 'USER1DIR' IMPORT MODULE 选中 USER2 的工作目录 'USER2DIR' IMPORT MODULE 注意 : 上传的目录不能为空目录 , 其下必须有文件 ( 啥文件都行 ) 上传成功后,删除这 2 个目录 OR 改名
补充一下分组的使用方法:分组:将权限相同的用户划分到一组,这样方便维护。就是角色的意思,分组使用在对模块访问权限的划分。
方法:
1.         在服务器端 cvsroot 目录下新建文件 group
2.         建立分组 group1,group2 ,group 文件内容如下 group1:user1 user2 user3 group2:user5 user6 user7
3.         之后对组进行权限划分,和对单个用户方式一样,就可以使组内用户和组具有相同的权限,如选中模块,执行如下命令
chacl -R default:n
cvs chacl -R group1:rcw
cvs lsacl
可以使,用户 user1 user2 user3 同时具有对该模块的读写和控制的权限
7 , 下载目录到本地做权限设置
 CHECKOUT MODULE 选择 user1 的工作目录 'USER1DIR'
CHECKOUT MODULE 选择 user2 的工作目录 'USER2DIR'
选择 菜单 /remote/checkou moudule 在打开窗口中 点击 '...' 按钮 在打开窗口中选择 user1 的工作目录 ok 按钮 确定 按钮
8 分别设置 2 用户 (USER1;USER2) 对各自目录的访问权限
选中模块 USER1 , 在命令行输入如下 3 条命令
cvs chacl -R default:n
cvs chacl -R USER1:rcw
cvs lsacl
选中模块 USER2 , 在命令行输入如下 3 条命令 ,
cvs chacl -R default:n
cvs chacl -R USER2:rcw
cvs lsacl
说明 '-R ' 参数表示对模块的权限是递归的。解释一下:如目录结构 dira |---dira1 |---dira2 命令: cvs chacl default:n 只对 目录 dira 有效,而对子目录无效 cvs chacl -R default:n 对目录 dira 及其下子目录都有效
9 已经完成了设置
以用户 USER1 OR USER2 登陆 WINCVS 就只能 CHECKOU 各自的模块 USER1DIR USER2DIR 进行相应的开发工作了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值