5.2 管理员进行管理演练:
1. 登陆远程 CVSNT :
l 选择 Admin=>Login 菜单,默认设置, OK 。
l 弹出密码输入框,确认, OK 。注意观察输出框【 OutPut 】的返回结果。
2. Checkout 默认模块:( CVSRoot 管理模块)
l 在左边导航栏【 Workspace 】内,选择【 Admin 】点按右键,选择【 Checkout modules… 】,在【 Checkout settings 】中输入 CVSRoot ,确定, OK 。如下图:
l 如果成功的话,会在【 Admin 】栏下增加一个【 CVSRoot 】目录。表示您已经将【 CVSRoot 】这个管理模块下载到本地了。
3. CVS 中目录权限介绍:
l 系统支持的目录权限列表:
r ( 读取权限 )
w ( 写入权限 )
c ( 创建和删除权限 )
n ( 没有任何权限 )
l 默认情况下,任何用户都拥有任何目录的所有权限。
l 任何情况下只有目录的拥有者和 Administrator 才有权力更改目录的使用权限。下面将会介绍如何修改目录权限和目录的拥有者。
4. 修改 CVSRoot 的权限:只让 Administrator 拥有 rcw 三种全部权限。
l 选中刚刚下载的【 CVSRoot 】模块,【 Ctrl+L 】或 Admin=>Command Line… ,弹出 Command Line Settings 对话框,直接执行 CVS 命令。
l 取消所有用户的默认权限: cvs chacl default:n 回车, OK ,完成。
l 设置 Administrator 拥有所有权限: cvs chacl administrator:rcw 回车, OK ,完成。
l 更改【 CVSRoot 】的拥有者: cvs chown administrator 回车, OK ,完成。
l 查看【 CVSRoot 】的权限状态: cvs lsacl 回车, OK ,在【 Output 】中显示:
Owner: administrator
default:n
administrator:rwc
l 【 CVSRoot 】的权限配置完毕。
5. 编写代码库中的模块文件,便于多用户下载方便。
l 需要自己编写的模块文件格式如下: ( 实现基本功能 )
【模块一的描述】【 n 个空格或参数】【相对目录路径一 (DirA) 】
【模块二的描述】【 n 个空格或参数】【相对目录路径二 (DirB) 】
……
【模块 X 的描述】【 n 个空格或参数】【相对目录路径 X(DirX) 】
l 【描述信息】与【相对路径】在字面上不一致时,需要使用 -a 参数。
l 【相对路径】指的是 CVS 会自动带上根路径,这里是 F:\KHRoot ,所以上面例子的完整路径为: F:\KHRoot\DirA
l 了解了模块文件结构,现在来实际操作一把:双击【 CVSRoot 】模块下的 modules 文件,用 UltraEdit 打开进行编辑。
l 为 Jackey , Goury , Riolee 三个用户分配工作目录和完成其它模块描述。
CVSRoot CVSRoot
Jackey 工作目录 -a Jackey
Goury 工作目录 -a Goury
Riolee 工作目录 -a Riolee
l 编辑完毕,存盘。回到 WinCVS ,选中 modules 这个文件【 Ctlr+M 】或右键选择【 Commit selection… 】,默认设置,【确认】, OK ,完成上传。
6. 为三个用户分别上传工作目录:
l 在 YCW2000 机器上的 E:\CVSClient\Admin 分别建立三个目录分别名为: Jackey , Goury , Riolee ,作为临时交换目录。
l 在新创建的每个目录中用 UltraEdit 或拷贝一个 Readme.txt 作为引子文件!!:)
l 然后,回到 WinCVS ,在【 Workspace 】栏的【 Admin 】目录下形成如下的目录结构:
l 分别选中 Goury , Jackey , Riolee ,右键,点按【 Import Module 】,选择【 Continue 】,其它全部使用默认值,【确定】, OK ,完成上传工作。
l 仔细观察【 Output 】窗口,确认都成功上传了。
l 转移到系统的 Explore 程序中,删除 E:\CVSClient\Admin 目录下的 Jackey , Goury , Riolee 三个目录。然后回到 WinCVS 当中。 ( 一定要删除!!!: )
l 至此,就完成了工作目录的上传工作。
7. 【 Checkout 】下载 3 个用户的工作目录到【 Admin 】目录下:
l 在【 Workspace 】栏选择【 Admin 】目录,右键,点按【 Checkout Module… 】 , 如下图:
l 选择【 … 】,得到 CVSNT 上最新的模块配置情况,弹出如下的信息框:
l 这个结构图就是刚才在 modules 当中编写的模块文件格式信息。选择【 Jackey 工作目录】,下载到 YCW2000 机器的 E:\CVSClient\Admin 目录下。
l 按照以上操作,依次分别下载【 Goury 工作目录】和【 Riolee 工作目录】。形成如下状态:
8. 为三个用户分别设置各自目录的访问权限。(只有自己才能访问自己的工作目录)
l 选中【 Goury 】目录,【 Ctrl+L 】或 Admin=>Command Line… ,弹出 Command Line Settings 对话框,直接执行 CVS 命令。
l 取消所有用户的默认权限: cvs chacl default:n 回车, OK ,完成。
l 设置 Goury 拥有所有权限: cvs chacl goury:rcw 回车, OK ,完成。
l 查看【 CVSRoot 】的权限状态: cvs lsacl 回车, OK ,在【 Output 】中显示:
Owner: administrator
default:n
goury:rwc
l 按照以上的方法依次分别设置【 Jackey 】与【 Riolee 】的工作目录访问权限。
l 至此,完成了 3 个用户的目录权限分配。注意,虽然 Administrator 也没有权力再次【 Checkout 】那 3 个用户的工作目录,但是它是这些目录的拥有者又是 Administrator ,因此,只有它才有权力更改这些目录的访问权限。
9. CVSNT 系统中的用户管理原则:
l CVSNT 的用户与本机 ( 这里是 Server 机器 ) 上的 NT 用户是相关联的,即 CVSNT 用的全是本机上存在的已有用户,因此在默认情况下可以不用设置任何用户名,只要使用本机上已经存在的用户名就可以用 WinCVS 进行登陆。
l 只有用 Administrator 身份登陆到 CVSNT 系统中,才有权力进行新用户的创建和删除。
l 使用 CVS 创建的新用户,必须与服务器端机器上的 NT 用户相绑定,才能生效;因此,这个新用户实际上是绑定它的 NT 用户的一个替身,在 CVS 系统中称为“别名”。
l 一个 NT 用户可以有多个‘替身’或‘别名’,充当多个 CVS 用户。
10. 用 WinCVS 进行新用户的添加和删除。 ( 确保使用 Administrator 登陆 )
l 【 Ctrl+L 】或 Admin=>Command Line… ,弹出 Command Line Settings 对话框,直接执行 CVS 命令。
l 添加新用户【 Killer 】: cvs passwd -a Killer 回车,设置密码, OK ,完成。
l 绑定【 Killer 】到【 Jackey 】: cvs passwd -r Jackey Killer 回车,设置密码, OK ,完成。
l 两次输入的密码可以不同,但以第二次输入的密码为最终密码。
l 删除用户【 Killer 】: cvs passwd -X Killer 回车, OK ,完成。
l 其它特殊的功能查看 passwd 命令的帮助。
11. 使用完毕后,一定要【 Logout 】,因为 WinCVS 退出时并不会自动注销自己在远端的会话;这样做是为了防止其它人接着打开 WinCVS ,不用登陆就可以完成你能进行的所有操作了。
6 WinCVS 中常见的特殊操作:
6.1 如何删除下载的文件或目录:
1. 选中下载的某个或多个文件,执行【 Remove 】命令。
2. 再次选中这些文件,执行【 Commit 】命令就完成了删除文件的操作。
3. 本质上 CVS 是不会删除任何文件和目录的,即使是执行了以上操作,删除了某些文件,远端 CVS 实际执行的是将提交删除的文件放到了一个叫【 Attic 】的目录下,因此,这些被删除的文件是可以通过一定的方法恢复的。
6.2 如何恢复已经删除的文件或目录:
1. 在执行了【 Remove 】命令之后恢复文件。
l 【 Ctrl+L 】直接输入命令 cvs add xxxxx ,或执行【 Add Selection 】界面操作。
l 这样就可以直接恢复还未提交的删除文件。
2. 在执行了【 Commit 】命令之后恢复文件。
l 只能用【 Ctrl+L 】直接输入命令 cvs add xxxxx ,这时会得到一个空的文件。
l 选中这个空文件,执行【 Update 】操作,得到这个文件的实体。
l 再次选中这个文件,执行【 Commit 】操作,得到这个文件最新版本。
3. 由于 CVS 系统中本质上不会删除任何目录,因此,谈不上对目录的恢复,但是 CVS 系统默认情况下是要在用户本机上(如: YCW2000 查看(12) 评论(0)