cvs目录权限管理
来源:互联网 发布:web数据挖掘的概念 编辑:程序博客网 时间:2024/06/06 18:06
在仓库的下就是一个独立的目录。为module设置权限有两种方法。第一种是手工配置,
在module目录下有一个子目录CVS,在里面有一个fileattr.xml文件。在未设置以前打开文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<fileattr>
</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>
</directory>
</fileattr>
这里即使使用 协议: 本地装载目录(:local:) 来取出目录也必须在权限中加入相应的本地计算机用户的权限设置
<acl user="shen"> --shen为本地计算机用户名
</acl>
或者
<acl user="administrator">
</acl>
===============================
各个组权限管理
我们还可以通过分组来进行cvs权限的控制
同过管理员用户取出CVSROOT,添加group文件
文件中写入:
组名1:用户名1 用户名2
组名2:用户名3 用户名4
添加,提交
然后我们修改fileattr.xml
<?xml version="1.0" encoding="UTF-8"?>
<fileattr>
<directory>
</directory>
假设已经安装了WINCVS和CVSNT,并建立了仓库。完成了登陆和导入导出的操作。
(1)管理员登陆以后把服务器中仓库的CVSROOT目录(Module)导出(Checkout)到一个工作目录,比如“admin”。具体操作见“导出模块”。
CVS中目录权限介绍:
系统支持的目录权限如下:
r
w
c
n
默认情况下,任何用户都拥有任何目录的所有权限。
任何情况下只有目录的拥有者和管理员才有权力更改目录的使用权限。下面将会介绍如何修改目录权限和目录的拥有者。
(2)对CVSROOT目录的管理:
CVSROOT目录是在创建仓库时有NTCVS建立的。里面包含了许多关于仓库的信息的文件。
认证口令的时候,服务器先检查 CVSROOT/passwd 文件中的用户。如果找到用户,就按CVS内置的权限管理方法进行认证。如果没有找到,或passwd 文件不存在,服务器将采用操作系统的用户认证机制。为安全起见,应该采用CVS内置的权限管理。具体方法如下:
cvs passwd -a -r systemuser username
或
在两次弹出的对话框输入密码。确认即可。这时可以看到passwd文件多了一行:
username:CUXQwLMdoZHNs:systemuser
或
在增加管理员时,应该使用第一种方法:命令为:
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.
2.
3.
4.
(3)对一般目录权限的设置
1)
先从客户端导入两个module。比如test和localdir。在modules加入如下3行:
第一列为描述信息,第二列为参数或空格。第三列为相对路径。如果描述信息和相对路径不同则需要参数“-a”。
在导出模块的时候(remote->checkout module),可以点击module name and path on the server一栏旁边的“...” 按钮弹出窗口:
2)
module在仓库的下就是一个独立的目录。为module设置权限有两种方法。第一种是手工配置,在module目录下有一个子目录CVS,在里面有一个fileattr.xml文件。在未设置以前打开文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<fileattr>
</fileattr>
在<owner></owner>之间设置目录的所有者。目录的拥有者和管理员才有权力更改目录的使用权限。目录权限未设置时,所有用户对目录有除了更改目录权限以外的全部权限。在<directory></directory>之间加入以下代码表示取消所有用户对目录的的默认全部权限。
<acl>
在<directory></directory>之间加入以下代码表示用户user具有创建、读写、注释的权限。目录的所有者也要通过以下代码进行权限设置。
加入以上代码以后文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<fileattr>
<acl>
</acl>
</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...]
例如
cvs chacl -R -u user -a read
通过下面的代码更改目录所有者:
cvs chown dirowner //dirowner为要设定的管理员
通过下面的代码显示目录的信息:
cvs lsacl
这两种方法中,第二种方法比较简单,不容易出错。但在第二种方法没有效果的时候可以用第一种方法进行设置。第一种方法中的命令和以前的版本略有不同。具体见它的格式。
(3)关于分组(group)的应用
分组:将权限相同的用户划分到一组,这样可以方便维护。就是角色的意思,分组使用在对模块访问权限的划分的方法如下:
a.在服务器端 CVSROOT目录下新建文件 group。
b.在文件中建立分组,group文件内容如下:
group1:user1 user2 user3
group2:user5 user6 user7
c.之后对组进行权限划分,和对单个用户方式一样,就可以使组内用户和组具有相
同的权限,如 选中模块,执行如下命令可以使用户 user1 user2 user3 同时具有对该模块的读权限了。
在fileattr.xml文件中加入如下代码也可以使用户 user1 user2 user3 同时具有对该模块的读写:
<acl user=guoup1>
注意这里的group不用" " 。
补充:cvsnt安装成功之后默认是的混合登陆方式,在命令行中输入cvs login的时候登陆方式是根据系统环境变量中的cvsroot的配置而定的,如果配置的是自己d:/dataRepository/ 这种样子的话那么就是直接根据操作系统的用户登陆方式。将config文件中加入SystemAuth=no之后,再想以管理员身份登陆的话就需要先将cvsroot环境变量设置为::pserver:username@10.10.10.3:2401:\CvsData\ 这种形式。然后在命令中输入cvs login 就可以了。
<?xml version="1.0" encoding="UTF-8"?>
<fileattr>
<acl>
</acl>
</fileattr>
- cvs目录权限管理
- Linux目录,文件,权限管理
- 用户权限与目录权限管理
- linux文件目录权限管理
- Linux权限与目录管理
- linux文件目录权限管理
- Linux 权限管理之目录权限限制
- 关于CVS在Window2000下的权限管理
- CVS 管理
- Linux常用命令--目录管理、文件管理、权限管理
- 用户,权限,目录管理指令练习
- Project Server 2010权限管理文章目录
- 管理文件、目录的权限和归属
- [Linux] 目录与文件的权限管理
- linux文件权限与目录管理
- RHEL7 (124)管理文件和目录权限
- Linux文件权限与目录管理
- HDFS目录(文件 )权限管理
- C++ 轻松背单词 设计报告
- response细节--重定向的用处和getWrite/getOutputStream的用法冲突问题
- Hibernate java.lang.NoSuchFieldError: INSTANCE 解决方法
- 《Linux 七》 进程管理
- Yii Framework 开发教程(26) 数据库-Active Record示例
- cvs目录权限管理
- 项目实用makefile
- HTTP请求(GET与POST区别)和响应
- 《CVSNT用户管理方案》
- AI中的几种搜索算法---SA搜索算法
- Hibernate标识符生成策略
- Yii Framework 开发教程(27) 数据库-关联Active Record示例
- CVS配置与管理
- Servlet的创建