- 浏览: 2869863 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (2529)
- finance (1459)
- technology (218)
- life (343)
- play (150)
- technology-component (0)
- idea (6)
- house (74)
- health (75)
- work (32)
- joke (23)
- blog (1)
- amazing (13)
- important (22)
- study (13)
- Alternative (0)
- funny (8)
- stock_technology (12)
- business (16)
- car (21)
- decorate (4)
- basketball (2)
- English (16)
- banker (1)
- TheBest (1)
- sample (2)
- love (13)
- management (4)
最新评论
-
zhongmin2012:
BSM确实需要实践,标准ITIL服务流程支持,要做好,需要花费 ...
BSM实施之前做什么 -
shw340518:
提示楼主,有时间逻辑bug:是你妈二十那年写的 那会儿连你爹都 ...
80后辣妈给未来儿子的信~我的儿,你也给我记住了~~~ -
guoapeng:
有相关的文档吗?
it项目管理表格(包含146个DOC文档模板) -
solomon:
看到的都是 这种 CTRL+C 和 CTRL+V 的文章, ...
Designing a website with InfoGlue components -
wendal:
恩, 不错. 有参考价值
Designing a website with InfoGlue components
以下是我最近在公司实习配置CVSNT(2.5)和WINCVS(2.0)的一些经验。普通是WINCVS和CVSNT操作网上资料很多。可以自行查找。关于权限设置的资料相对较少和散乱。所以我作了整理,并对容易发生错误的地方着重进行了讲解。
假设已经安装了WINCVS和CVSNT,并建立了仓库。完成了登陆和导入导出的操作。
(1)管理员登陆以后把服务器中仓库的CVSROOT目录(Module)导出(Checkout)到一个工作目录,比如“admin”。具体操作见“导出模块”。
CVS中目录权限介绍:
系统支持的目录权限如下:
r (读取权限)
w (写入权限)
c (创建和删除权限)
n (没有任何权限)
默认情况下,任何用户都拥有任何目录的所有权限。
任何情况下只有目录的拥有者和管理员才有权力更改目录的使用权限。下面将会介绍如何修改目录权限和目录的拥有者。
(2)对CVSROOT目录的管理:
CVSROOT目录是在创建仓库时有NTCVS建立的。里面包含了许多关于仓库的信息的文件。
认证口令的时候,服务器先检查 CVSROOT/passwd 文件中的用户。如果找到用户,就按CVS内置的权限管理方法进行认证。如果没有找到,或passwd 文件不存在,服务器将采用操作系统的用户认证机制。为安全起见,应该采用CVS内置的权限管理。具体方法如下:
1)在服务端 CVSROOT 目录下建立文件passwd(不建立则在添加用户时自动创建)。出于安全考虑,默认不会将 passwd列在 checkoutlist 文件里面。既从客户端导出CVSROOT时不会导出该文件。在WINCVS中转到CVSROOT目录。点击主菜单“Admin->command line”或”ctrl+ L”弹出命令行对话框。在对话框中输入增加管理员的命令:
cvs passwd -a -r systemuser username
//建立与系统用户systemuser有相同权限的用户,用户名为username。
//当某个用户绑定的系统用户被删除时,则这个用户也不能登陆。
或 cvs passwd -a username
//建立用户名为username的用户
在两次弹出的对话框输入密码。确认即可。这时可以看到passwd文件多了一行:
username:CUXQwLMdoZHNs:systemuser
或 username:CUXQwLMdoZHNs
在增加管理员时,应该使用第一种方法:命令为:
cvs passwd -a -r Administrator username
在实际操作中建议使用第一种命令。采用第二种命令增加的用户有时在login时会出现不能登陆的情况(具体原因还不清楚)。
2)修改CVSROOT下的配置文件 config,加入一行:“ SystemAuth=no”其中no表示用passwd检查用户密码权限是否正确。yes 为默认值,表示如果用户在passwd文件中不存在,就用系统用户检查权限是否正确,这就使用了CVS内置的权限管理功能了。
然后在CVSROOT下建立admin文件。这个文件是指定CVSNT的管理员列表的文件,CVSNT根据这个文件来判断一个用户是否是管理员。文件的内容是一个用户列表。如下:
user1
user2
user3
这些代表user1,user2,user3都是管理员,在此之前CVS将服务器的管理员用户作为自己的管理员用户的。
3)在CVSROOT下加入文件readers,writers来控制用户的读写权限。文件每行内容与admin文件相同。格式为: 用户名回车。
特别注意的是:只有在writer文件中的用户既能读取,又能进行提交修改。在readers中的用户只能读取,同时在两个文件中的用户只能读取。在 writers文件中必须有管理员的用户名。因为管理员在操作控制时将会涉及到文件的读写。对于一般用户就不要写进这两个文件了。
这样就完成了对CVSROOT目录的权限设定。不在readers和writers文件中的用户将不能导出CVSROOT这个module。仅在readers文件中的用户能进行导出操作但不能进行提交修改操作。仅在writers文件中的用户能进行导出和提交修改操作。
下面讲一下不使用系统管理员而自己建立的管理员的步骤:
1. 使用命令cvs passwd -a -r Administrator username建立一个和Administrator有相同权限的管理员用户。
2. 在admin文件中添加该管理员的用户名。
3. 在writers文件中添加该管理员的用户名。
4. 在config 文件中添加一行代码:SystemAuth=no,这样就不能使用Administrator而只能使用自己建立的管理员进行操作了。
(3)对一般目录权限的设置
1) 配置CVS库模块文件modules
先从客户端导入两个module。比如test和localdir。在modules加入如下3行:
CVSROOT CVSROOT
目录1 -a localdir
目录2 -a test
第一列为描述信息,第二列为参数或空格。第三列为相对路径。如果描述信息和相对路径不同则需要参数“-a”。
在导出模块的时候(remote->checkout module),可以点击module name and path on the server一栏旁边的“...” 按钮弹出窗口:
这样可以使客户端更加方便的进行module选择。
2) 为各个module进行权限配置
module在仓库的下就是一个独立的目录。为module设置权限有两种方法。第一种是手工配置,在module目录下有一个子目录CVS,在里面有一个fileattr.xml文件。在未设置以前打开文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<fileattr>
<directory>
<owner>Administrator</owner>
</directory>
</fileattr>
在< owner></owner>之间设置目录的所有者。目录的拥有者和管理员才有权力更改目录的使用权限。目录权限未设置时,所有用户对目录有除了更改目录权限以外的全部权限。在<directory></directory>之间加入以下代码表示取消所有用户对目录的的默认全部权限。
<acl>
<all deny="1" />
</acl>
在<directory></directory>之间加入以下代码表示用户user具有创建、读写、注释的权限。目录的所有者也要通过以下代码进行权限设置。
<acl user="user">
<create />
<read />
<tag />
<write />
</acl>
加入以上代码以后文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<fileattr>
<directory>
<acl>
<all deny="1" />
</acl>
<acl user="user">
<create />
<read />
<write />
<tag />
</acl>
<owner>user</owner>
</directory>
</fileattr>
第二种方法是使用命令来设置,其实也是通过命令来修改fileattr.xml文件来进行权限设置。具体方法是在WINCVS中用管理员身份登陆并导出要设置的module。选中module,在文件信息栏显示module的文件信息。打开命令行对话框输入以下命令来设置。
命令格式:
cvs chacl [-R] [-r branch] [-u user] [-j branch] [-n] [-p priority] [-m message] [-a [no]{read|write|create|tag|control|all|none}[,...]] [-d] [file or directory...]
-a access Set access(设置权限)
-d Delete ACL(删除目录的控制权限)
-j branch Apply when merging from branch(合并分支时应用)
-m message Custom error message(定制错误消息)
-n Do not inherit ACL
-p priority Override ACL priority(不受目录权限管理)
-r branch Apply to single branch(在单个分支上应用)
-R Recursively change subdirectories(嵌套设置权限,对目录下每个子目录也进行相同的目录权限设置)
-u user Apply to single user(应用在单个用户)
例如 cvs chacl -r –a none //取消所有用户的默认权限,禁止一切访问。
cvs chacl -R -u user -a read //设置用户user有读的权限。
通过下面的代码更改目录所有者:
cvs chown dirowner //dirowner为要设定的管理员
通过下面的代码显示目录的信息:
cvs lsacl
这两种方法中,第二种方法比较简单,不容易出错。但在第二种方法没有效果的时候可以用第一种方法进行设置。第一种方法中的命令和以前的版本略有不同。具体见它的格式。
以上就可以完成对目录的权限设置。在模块(module)下的每一个目录下都会自动产生一个名为CVS的文件夹,里面都有一个fileattr.xml文件用来控制目录的访问权限。方法同上。
(3)关于分组(group)的应用
分组:将权限相同的用户划分到一组,这样可以方便维护。就是角色的意思,分组使用在对模块访问权限的划分的方法如下:
a.在服务器端 CVSROOT目录下新建文件 group。
b.在文件中建立分组,group文件内容如下:
group1:user1 user2 user3
group2:user5 user6 user7
c.之后对组进行权限划分,和对单个用户方式一样,就可以使组内用户和组具有相
同的权限,如 选中模块,执行如下命令可以使用户 user1 user2 user3 同时具有对该模块的读权限了。
cvs chacl -R -u group1 -a write
在fileattr.xml文件中加入如下代码也可以使用户 user1 user2 user3 同时具有对该模块的读写:
<acl user=guoup1>
<create />
<read />
<tag />
<write />
</acl>
注意这里的group不用" " 。
假设已经安装了WINCVS和CVSNT,并建立了仓库。完成了登陆和导入导出的操作。
(1)管理员登陆以后把服务器中仓库的CVSROOT目录(Module)导出(Checkout)到一个工作目录,比如“admin”。具体操作见“导出模块”。
CVS中目录权限介绍:
系统支持的目录权限如下:
r (读取权限)
w (写入权限)
c (创建和删除权限)
n (没有任何权限)
默认情况下,任何用户都拥有任何目录的所有权限。
任何情况下只有目录的拥有者和管理员才有权力更改目录的使用权限。下面将会介绍如何修改目录权限和目录的拥有者。
(2)对CVSROOT目录的管理:
CVSROOT目录是在创建仓库时有NTCVS建立的。里面包含了许多关于仓库的信息的文件。
认证口令的时候,服务器先检查 CVSROOT/passwd 文件中的用户。如果找到用户,就按CVS内置的权限管理方法进行认证。如果没有找到,或passwd 文件不存在,服务器将采用操作系统的用户认证机制。为安全起见,应该采用CVS内置的权限管理。具体方法如下:
1)在服务端 CVSROOT 目录下建立文件passwd(不建立则在添加用户时自动创建)。出于安全考虑,默认不会将 passwd列在 checkoutlist 文件里面。既从客户端导出CVSROOT时不会导出该文件。在WINCVS中转到CVSROOT目录。点击主菜单“Admin->command line”或”ctrl+ L”弹出命令行对话框。在对话框中输入增加管理员的命令:
cvs passwd -a -r systemuser username
//建立与系统用户systemuser有相同权限的用户,用户名为username。
//当某个用户绑定的系统用户被删除时,则这个用户也不能登陆。
或 cvs passwd -a username
//建立用户名为username的用户
在两次弹出的对话框输入密码。确认即可。这时可以看到passwd文件多了一行:
username:CUXQwLMdoZHNs:systemuser
或 username:CUXQwLMdoZHNs
在增加管理员时,应该使用第一种方法:命令为:
cvs passwd -a -r Administrator username
在实际操作中建议使用第一种命令。采用第二种命令增加的用户有时在login时会出现不能登陆的情况(具体原因还不清楚)。
2)修改CVSROOT下的配置文件 config,加入一行:“ SystemAuth=no”其中no表示用passwd检查用户密码权限是否正确。yes 为默认值,表示如果用户在passwd文件中不存在,就用系统用户检查权限是否正确,这就使用了CVS内置的权限管理功能了。
然后在CVSROOT下建立admin文件。这个文件是指定CVSNT的管理员列表的文件,CVSNT根据这个文件来判断一个用户是否是管理员。文件的内容是一个用户列表。如下:
user1
user2
user3
这些代表user1,user2,user3都是管理员,在此之前CVS将服务器的管理员用户作为自己的管理员用户的。
3)在CVSROOT下加入文件readers,writers来控制用户的读写权限。文件每行内容与admin文件相同。格式为: 用户名回车。
特别注意的是:只有在writer文件中的用户既能读取,又能进行提交修改。在readers中的用户只能读取,同时在两个文件中的用户只能读取。在 writers文件中必须有管理员的用户名。因为管理员在操作控制时将会涉及到文件的读写。对于一般用户就不要写进这两个文件了。
这样就完成了对CVSROOT目录的权限设定。不在readers和writers文件中的用户将不能导出CVSROOT这个module。仅在readers文件中的用户能进行导出操作但不能进行提交修改操作。仅在writers文件中的用户能进行导出和提交修改操作。
下面讲一下不使用系统管理员而自己建立的管理员的步骤:
1. 使用命令cvs passwd -a -r Administrator username建立一个和Administrator有相同权限的管理员用户。
2. 在admin文件中添加该管理员的用户名。
3. 在writers文件中添加该管理员的用户名。
4. 在config 文件中添加一行代码:SystemAuth=no,这样就不能使用Administrator而只能使用自己建立的管理员进行操作了。
(3)对一般目录权限的设置
1) 配置CVS库模块文件modules
先从客户端导入两个module。比如test和localdir。在modules加入如下3行:
CVSROOT CVSROOT
目录1 -a localdir
目录2 -a test
第一列为描述信息,第二列为参数或空格。第三列为相对路径。如果描述信息和相对路径不同则需要参数“-a”。
在导出模块的时候(remote->checkout module),可以点击module name and path on the server一栏旁边的“...” 按钮弹出窗口:
这样可以使客户端更加方便的进行module选择。
2) 为各个module进行权限配置
module在仓库的下就是一个独立的目录。为module设置权限有两种方法。第一种是手工配置,在module目录下有一个子目录CVS,在里面有一个fileattr.xml文件。在未设置以前打开文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<fileattr>
<directory>
<owner>Administrator</owner>
</directory>
</fileattr>
在< owner></owner>之间设置目录的所有者。目录的拥有者和管理员才有权力更改目录的使用权限。目录权限未设置时,所有用户对目录有除了更改目录权限以外的全部权限。在<directory></directory>之间加入以下代码表示取消所有用户对目录的的默认全部权限。
<acl>
<all deny="1" />
</acl>
在<directory></directory>之间加入以下代码表示用户user具有创建、读写、注释的权限。目录的所有者也要通过以下代码进行权限设置。
<acl user="user">
<create />
<read />
<tag />
<write />
</acl>
加入以上代码以后文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<fileattr>
<directory>
<acl>
<all deny="1" />
</acl>
<acl user="user">
<create />
<read />
<write />
<tag />
</acl>
<owner>user</owner>
</directory>
</fileattr>
第二种方法是使用命令来设置,其实也是通过命令来修改fileattr.xml文件来进行权限设置。具体方法是在WINCVS中用管理员身份登陆并导出要设置的module。选中module,在文件信息栏显示module的文件信息。打开命令行对话框输入以下命令来设置。
命令格式:
cvs chacl [-R] [-r branch] [-u user] [-j branch] [-n] [-p priority] [-m message] [-a [no]{read|write|create|tag|control|all|none}[,...]] [-d] [file or directory...]
-a access Set access(设置权限)
-d Delete ACL(删除目录的控制权限)
-j branch Apply when merging from branch(合并分支时应用)
-m message Custom error message(定制错误消息)
-n Do not inherit ACL
-p priority Override ACL priority(不受目录权限管理)
-r branch Apply to single branch(在单个分支上应用)
-R Recursively change subdirectories(嵌套设置权限,对目录下每个子目录也进行相同的目录权限设置)
-u user Apply to single user(应用在单个用户)
例如 cvs chacl -r –a none //取消所有用户的默认权限,禁止一切访问。
cvs chacl -R -u user -a read //设置用户user有读的权限。
通过下面的代码更改目录所有者:
cvs chown dirowner //dirowner为要设定的管理员
通过下面的代码显示目录的信息:
cvs lsacl
这两种方法中,第二种方法比较简单,不容易出错。但在第二种方法没有效果的时候可以用第一种方法进行设置。第一种方法中的命令和以前的版本略有不同。具体见它的格式。
以上就可以完成对目录的权限设置。在模块(module)下的每一个目录下都会自动产生一个名为CVS的文件夹,里面都有一个fileattr.xml文件用来控制目录的访问权限。方法同上。
(3)关于分组(group)的应用
分组:将权限相同的用户划分到一组,这样可以方便维护。就是角色的意思,分组使用在对模块访问权限的划分的方法如下:
a.在服务器端 CVSROOT目录下新建文件 group。
b.在文件中建立分组,group文件内容如下:
group1:user1 user2 user3
group2:user5 user6 user7
c.之后对组进行权限划分,和对单个用户方式一样,就可以使组内用户和组具有相
同的权限,如 选中模块,执行如下命令可以使用户 user1 user2 user3 同时具有对该模块的读权限了。
cvs chacl -R -u group1 -a write
在fileattr.xml文件中加入如下代码也可以使用户 user1 user2 user3 同时具有对该模块的读写:
<acl user=guoup1>
<create />
<read />
<tag />
<write />
</acl>
注意这里的group不用" " 。
发表评论
-
New Enterprise Security Solutions
2011-09-13 15:46 0<!-- [if !mso]> <styl ... -
ES Announces Enterprise Security Solutions
2011-09-13 15:40 0<!-- [if !mso]> <styl ... -
linux下如何将文件打包、压缩并分割成制定大小?
2010-09-15 18:52 3264将大文件或目录打包、 ... -
rhel4 yum安装, 使用
2010-09-07 16:37 0第一种方法: yum源来自chinalinuxpub.com ... -
Windows: 远程自动安装程序
2010-08-26 15:48 1031问题的提出 作为 ... -
Oracle体系结构
2010-08-07 09:53 962Oracle体系结构 Oracle Server包括Oracl ... -
ocp sesson 3
2010-07-31 14:39 0show parameter undo 只有 默认情况下服务 ... -
ocp session 2
2010-07-25 17:00 0/home/oracle/raInventory/orains ... -
ocp session 1
2010-07-24 13:02 0ocp first lesson D:\oracle_cou ... -
Python的xmlrpc调试
2010-07-19 23:55 2064Python的xmlrpc 调 试 ----------- ... -
mdadm使用详解及RAID 5简单分析
2010-07-11 16:19 1342http://blog.csdn.net/chinalinux ... -
Linux的lvm的基本配置步骤
2010-07-11 14:53 12391.增加硬件 增加的ide硬盘前缀为hd,scs ... -
OCP study material
2010-07-11 13:52 0\\192.168.1.105watch -n 1 'stat ... -
apache+python+mod_python+django 编译安装指南
2010-06-24 17:25 14361、本文将知道你在 linux 下使用源码包安装 ... -
在ubuntu下配置apache运行python脚本
2010-06-22 16:11 2229常用的简单命令 sudo apt ... -
Python 2.5 Quick Reference
2010-06-21 11:18 1404... -
shell 面试题汇集
2010-06-10 19:50 999利用 top 取某个进程的 CPU 的脚本 : ... -
shell程序面试题
2010-06-10 19:48 27571.要求分析Apache访问日志,找出里面数量在前面100位的 ... -
EMC技术支持工程师笔试部分试题回忆
2010-06-07 15:16 1590要查看更多EMC公司笔经相关信息,请访问EMC公司校园招聘CL ... -
linux shell 条件语句
2010-06-03 23:29 1728...
相关推荐
WinCVS与CVSNT简明使用手则,一步步搭建CVS服务器
最新的cvsnt可能采用unix的设置访问方式,即使你是cvsnt也不需要些盘符。 5)解决认证失败 情况一:SystemAuth=yes 系统集成验证 cvs [login aborted]: authorization failed: server xxx.xxx.xx.xx rejected ...
wincvs+Python-2.2.1,tcl自己去下
WinCVS与CVSNT简明使用手则,一些基本的入门操作。学习的好帮手了,要的速度下哦。
WinCVS与CVSNT简明使用手则,我辛苦找到的资源,与各位分享,本人已实现过,有什么需要帮助的可以留言给我
WinCVS是CVS的一个客户端软件,它运行在Windows上,采用图形化方式登陆CVS服务器和CVS相关的操作与管理,不要学习复杂的cvs命令。企业内部都采用Linux/Unix做服务器,用Windows做客户端,所以WinCVS与CVS服务器是...
cvsnt及wincvs安装包 cvsnt及wincvs安装包 cvsnt及wincvs安装包
WinCVS2.1.1安装包加CVSNT安装
本文主要講解CVS的客戶端和服務器的安裝和配置。
CVSNT与WINCVS实现CVS的架设
wincvs客户端所需所有软件及教程,包括(wincvs,tcl,python);
CVSNT与WINCVS安装配置
根据实际工作经历编写,主要介绍了cvs服务器安装、配置,及客户端wincvs的使用方法。
cvsnt-2.0.58d版本控制 WinCVS1.3Beta17 CVS-WinCvs基础文档 CVS配置(Windows) WinCVS与CVSNT简明使用手则