﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-kevins20110505</title><link>http://www.blogjava.net/kevins20110505/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 05 Apr 2026 05:22:42 GMT</lastBuildDate><pubDate>Sun, 05 Apr 2026 05:22:42 GMT</pubDate><ttl>60</ttl><item><title>双语精选-VOA慢速</title><link>http://www.blogjava.net/kevins20110505/archive/2014/01/13/408861.html</link><dc:creator>XuFeng</dc:creator><author>XuFeng</author><pubDate>Mon, 13 Jan 2014 07:16:00 GMT</pubDate><guid>http://www.blogjava.net/kevins20110505/archive/2014/01/13/408861.html</guid><description><![CDATA[未完待续....<img src ="http://www.blogjava.net/kevins20110505/aggbug/408861.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kevins20110505/" target="_blank">XuFeng</a> 2014-01-13 15:16 <a href="http://www.blogjava.net/kevins20110505/archive/2014/01/13/408861.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>====编译工作流程（FOR WASU R&amp;D）=====</title><link>http://www.blogjava.net/kevins20110505/archive/2011/07/25/compiler.html</link><dc:creator>XuFeng</dc:creator><author>XuFeng</author><pubDate>Mon, 25 Jul 2011 08:59:00 GMT</pubDate><guid>http://www.blogjava.net/kevins20110505/archive/2011/07/25/compiler.html</guid><wfw:comment>http://www.blogjava.net/kevins20110505/comments/355002.html</wfw:comment><comments>http://www.blogjava.net/kevins20110505/archive/2011/07/25/compiler.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kevins20110505/comments/commentRss/355002.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kevins20110505/services/trackbacks/355002.html</trackback:ping><description><![CDATA[<strong><br />====编译工作流程（FOR WASU R&amp;D）=====<br /></strong><br /><strong><strong>&nbsp;========<br />||&nbsp;前提条件 ||<br />&nbsp;========<br /><br /></strong></strong>&nbsp;收到开发人员提交的编译申请邮件<br /><br /><strong>&nbsp;==========<br />|| 主要工作流程<strong> </strong>||<br /><strong>&nbsp;==========<br /><br /></strong></strong>1、查看版本说明书（明确编译的程序工程、数据库和配置文件变更与否）<br />2、编译<br />3、修改配置（包括数据库和配置文件的变更）<br />4、启动服务（跟踪日志查看能否正常启动）<br />5、版本管理（在版本管理列表中填写版本记录，包括版本号、提交时间、需求编号、需求说明等）<br /><br />&nbsp;===========<br /><strong>|| 详细操作步骤 ||</strong><br /><strong>&nbsp;==========<br /><br />1、 查看版本说明书<br /></strong><br />&nbsp;&nbsp;&nbsp; Checkout编译申请邮件中说明的产品版本说明书到本地，打开查看&#8220;更改程序列表（要编译的程序工程）、数据库结构变化（如有变化要在数据库中执行相应的脚本）、配置说明（按照说明更改部署服务器中的配置）&#8221;等。<br /><br /><strong>2、编译<br /></strong><br />编译服务器、账号、路径和对应产品：<br />218.*.*.120&nbsp;&nbsp; compiler/q1w2e3&nbsp;&nbsp; <br />/compiler/wasuprd&nbsp; 研究院各个产品<br /><br />218.*.*.68&nbsp;&nbsp; compiler/com{:&gt;&nbsp;&nbsp; <br />/compiler/wasu&nbsp; 28.直播广告管理系统、bootAd等。<br />/compiler/product&nbsp;&nbsp; 51.华数直播广告系统<br /><br /><strong>找到要编译产品的程序工程，执行编译脚本。<br /></strong>举例如下：<br />产品：<strong style="color: red">贺卡</strong><strong><br /></strong>编译版本：<strong style="color: red">1_6_11_1</strong><strong><br /></strong>编译的工程：<strong style="color: red">ccp-tv</strong><strong><br /></strong>编译相关脚本：<br />build-ccp-tv.xml (执行编译的脚本)<br />ccp-tv.sh（启动编译的脚本）<br /><br /><strong>编译操作步骤<br /></strong>1、[compi<span>ler@yuan_RAC02</span><span> wasuprd]$ vi build-ccp-tv.xml </span><br /><font color="#ff0000"><strong>如果是按Tag号进行取代码编译，则要先在下面的这段中更改tag.version的value值，然后再执行编译，默认为空表示取最新的代码。<br /></strong></font>&nbsp;&lt;!--================================--&gt;<br />&nbsp; &lt;!--代码tag号设置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --&gt;<br />&nbsp; &lt;!--================================--&gt;<br />&nbsp; &lt;property name="tag.version" value="ccp-tv1_6_11_1_1"/&gt;<br /><br />2、[compi<span>ler@yuan_RAC02</span><span> wasuprd]$ </span>sh ccp-tv.sh&nbsp;&nbsp; //执行编译，执行该命令后平面会打印日志<br />3、[compiler@yuan_RAC02 wasuprd]$ cd dist/<br />&nbsp;&nbsp;&nbsp; [compiler@yuan_RAC02 dist]$ cd 20110725<br />&nbsp;&nbsp;&nbsp;&nbsp;[compiler@yuan_RAC02 20110725]$&nbsp;mv ccp-tv.war ccp-tv1_6_11_1.war //标记备份war包的版本号：<br />编译执行完后，在/compiler/wasuprd/dist下会自动生成一个以当前日期命名的文件夹，文件夹中会有ccp-tv.war的程序包。<br /><br /><strong>3、修改配置<br /></strong>&nbsp; 产品部署服务器IP、登录账号和配置文件路径<br /><br />&nbsp; 218.*.*.120&nbsp; pdtest/zxcasdqwe<br />&nbsp; 218.*.*.68 &nbsp;<a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#116;&#101;&#115;&#116;&#47;&#116;&#101;&#115;&#116;&#64;&#101;&#100;&#99;">test/test@edc</a><br /><br />配置文件路径都为：/pdtest/config&nbsp; //<strong style="color: #ff0000">个别项目的配置文件可能在tomcat中，请参照启动脚本中的配置</strong><strong><br /></strong><br />120服务器的截图如下：&nbsp;&nbsp;<br />[pdtest@yuan_RAC02 ~]$ ls<br />adrPreview&nbsp; config&nbsp; iploader&nbsp; nohup.out&nbsp; product&nbsp; rmlog.sh&nbsp; ssuds.1.0.1&nbsp; ssuds.1.0.1.build079.tar&nbsp; ssuds.conf&nbsp; start-sp.sh&nbsp; unzip&nbsp;<br />[pdtest@yuan_RAC02 ~]$ cd config/<br />[pdtest@yuan_RAC02 config]$ pwd<br />/pdtest/config<br />[pdtest@yuan_RAC02 config]$ ls<br />admin&nbsp; album-server&nbsp; als&nbsp; bh&nbsp; bill-tv&nbsp; bootad&nbsp; ccp-tv&nbsp; cps-tv&nbsp; ers&nbsp; file&nbsp; ipc&nbsp; pws&nbsp; rec&nbsp; saui&nbsp; smc-tv&nbsp; sp-tv&nbsp; tds&nbsp; uaoc&nbsp; ubc&nbsp; vod-epg&nbsp; wsmail<br />&nbsp; <br /><strong>4、启动服务<br /><br /></strong>登录服务部署的tomcat下，关闭该tomcat进程，清除work目录下的内容，执行启动tomcat的脚本，具体操作命令如下<br />[pdtest@yuan_RAC02 tv]$ ls<br />apache-tomcat-5.5.26&nbsp; bill-picture&nbsp; prp_ccp_logs&nbsp; prp_cps_logs&nbsp; start-tomcat.sh<br />[pdtest@yuan_RAC02 tv]$ ps -ef | grep&nbsp; 'Djava.endorsed.dirs=/pdtest/product/tv/apache-tomcat-5.5.26'<br /><br />pdtest&nbsp;&nbsp; 24430&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp; 1 16:00 pts/17&nbsp;&nbsp; 00:00:52 /usr/java/jdk1.5.0_07/bin/java -Xms768M -Xmx1024M -XX:PermSize=64M -XX:MaxPermSize=256M -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/pdtest/product/tv/apache-tomcat-5.5.26/conf/logging.properties -Xdebug -Xrunjdwp:transport=dt_socket,address=3997,server=y,suspend=n -Djava.endorsed.dirs=/pdtest/product/tv/apache-tomcat-5.5.26/common/endorsed -classpath :/pdtest/product/tv/apache-tomcat-5.5.26/bin/bootstrap.jar:/pdtest/product/tv/apache-tomcat-5.5.26/bin/commons-logging-api.jar -Dcatalina.base=/pdtest/product/tv/apache-tomcat-5.5.26 -Dcatalina.home=/pdtest/product/tv/apache-tomcat-5.5.26 -Djava.io.tmpdir=/pdtest/product/tv/apache-tomcat-5.5.26/temp org.apache.catalina.startup.Bootstrap bin start<br />pdtest&nbsp;&nbsp; 30286 21779&nbsp; 0 16:47 pts/15&nbsp;&nbsp; 00:00:00 grep Djava.endorsed.dirs=/pdtest/product/tv/apache-tomcat-5.5.26<br /><br />[pdtest@yuan_RAC02 tv]$ kill -9 24430<br /><font face="Verdana">[pdtest@yuan_RAC02 tv]$ cd apache-tomcat-5.5.26/<br />[pdtest@yuan_RAC02 apache-tomcat-5.5.26]$ cd work<br />[pdtest@yuan_RAC02 work]$ rm -rf *<br /></font>[pdtest@yuan_RAC02 work]$ cd ../../<br />[pdtest@yuan_RAC02 tv]$ ls<br />apache-tomcat-5.5.26&nbsp; bill-picture&nbsp; prp_ccp_logs&nbsp; prp_cps_logs&nbsp; start-tomcat.sh<br />[pdtest@yuan_RAC02 tv]$ sh start-tomcat.sh <br /><br /><strong>5、版本管理<br /></strong>&nbsp;&nbsp; 版本管理列表在CVS中的路径：<br />DOCUMENT\03.产品类\00.产品研发管理\02.SCM\02.版本管理\华数研究院-产品版本列表(New).xlsx<br />&nbsp;&nbsp; 填写内容包括：<br />发布日期、Release版本号（红色标记）、子系统版本号（即提取代码的Tag号）或标记符号&#8220;&#9632;&#8221;、需求编号、需求描述<br /><br /><br /><strong style="color: red">######C语言产品编译补充############</strong><strong><br /></strong><br />1：编译服务器、账号、密码、产品与路径<br />218.*.*.89&nbsp; wasucpp/wsxasd<br />/home/wasucpp/XP&nbsp;&nbsp; 交换网关系统<br />/home/wasucpp/UTCO&nbsp;&nbsp; 统一头端产品<br /><br />2：编译步骤（以utoc为例）<br /><strong style="color: red">##全量编译##</strong><strong><br /></strong>-bash-3.00$ pwd<br />/home/wasucpp/UTCO/utoc<br />-bash-3.00$ ls<br />CVS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; apps&nbsp;&nbsp;&nbsp;&nbsp; bin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; build&nbsp;&nbsp;&nbsp; common&nbsp;&nbsp; conf&nbsp;&nbsp;&nbsp;&nbsp; include&nbsp; lib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; samples&nbsp; src<br />-bash-3.00$ cvs update&nbsp;&nbsp; <strong>//更新源代码<br /></strong><font face="Verdana">-bash-3.00$ cd build/<br />-bash-3.00$ ls<br />CVS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Makefile&nbsp;&nbsp;&nbsp; readme.txt<br />-bash-3.00$ gmake clean&nbsp; <br />-bash-3.00$ gmake<br /><br /><strong><font color="#ff0000">##增量编译(本次改动的为apps下的文件)##</font><br /></strong>-bash-3.00$ pwd<br />/home/wasucpp/UTCO/utoc<br />-bash-3.00$ ls<br />CVS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ace&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; apps&nbsp;&nbsp;&nbsp;&nbsp; bin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; build&nbsp;&nbsp;&nbsp; common&nbsp;&nbsp; conf&nbsp;&nbsp;&nbsp;&nbsp; include&nbsp; lib&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; samples&nbsp; src<br />-bash-3.00$ cd apps<br />-bash-3.00$ cvs update&nbsp;&nbsp; <strong>//更新源代码</strong><font face="Verdana"><br />-bash-3.00$ gmake clean&nbsp; <br />-bash-3.00$ gmake<br /></font><br /><br /><br /><br /></font><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><img src ="http://www.blogjava.net/kevins20110505/aggbug/355002.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kevins20110505/" target="_blank">XuFeng</a> 2011-07-25 16:59 <a href="http://www.blogjava.net/kevins20110505/archive/2011/07/25/compiler.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>==使用CVSACL进行CVS权限访问控制（for Linux）==</title><link>http://www.blogjava.net/kevins20110505/archive/2011/07/25/cvsacl.html</link><dc:creator>XuFeng</dc:creator><author>XuFeng</author><pubDate>Mon, 25 Jul 2011 07:12:00 GMT</pubDate><guid>http://www.blogjava.net/kevins20110505/archive/2011/07/25/cvsacl.html</guid><wfw:comment>http://www.blogjava.net/kevins20110505/comments/351988.html</wfw:comment><comments>http://www.blogjava.net/kevins20110505/archive/2011/07/25/cvsacl.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kevins20110505/comments/commentRss/351988.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kevins20110505/services/trackbacks/351988.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; CVS是一个很成熟的版本控制系统，CVSACL就是实现访问控制的CVS补丁。它本身也是一个开源的项目，项目主页是<a href="http://cvsacl.sourceforge.net/index.html">http://cvsacl.sourceforge.net/index.html</a> 。它提供了对CVS的模块、目录和文件以及分支和tag的高级访问控制。CVSACL定义了8级不同的访问权限,分别是: 
<table cellspacing="0" cellpadding="0" border="1">
<tbody>
<tr>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="center">权限</p></td>
<td style="font-size: 10pt; color: #000000"  noWrap>
<p style="font-size: 10pt; color: #000000" align="center">关键字</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="center">说明</p></td></tr>
<tr>
<td style="font-size: 10pt; color: #000000"  noWrap>
<p style="font-size: 10pt; color: #000000" align="left">没有权限</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="center">n</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="left">用户不能做任何cvs操作</p></td></tr>
<tr>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="left">读权限</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="center">r</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="left">可以执行annotate, checkout, diff, export, log, rannotate, rdiff, rlog, status命令</p></td></tr>
<tr>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="left">写权限</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="center">w</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="left">可以执行commit/checkin命令</p></td></tr>
<tr>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="left">tag</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="center">t</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="left">可以执行tag/rtag命令,依赖读权限 </p></td></tr>
<tr>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="left">创建</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="center">c</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="left">可以执行add import 命令</p></td></tr>
<tr>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="left">删除</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="center">d</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="left">可以执行rm命令</p></td></tr>
<tr>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="left">全部权限</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="center">a</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="left">可以执行所有cvs命令处理cvsacl管理命令</p></td></tr>
<tr>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="left">管理权限</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="center">p</p></td>
<td style="font-size: 10pt; color: #000000">
<p style="font-size: 10pt; color: #000000" align="left">可以执行所有命令</p></td></tr></tbody></table>
<p style="font-size: 10pt; color: #000000"><strong>1．&nbsp; 下载CVSACL：</strong></p>
<p style="font-size: 10pt; color: #000000">通过如下网址可以下载到CVSACL相关程序，目前最新版本是cvsacl-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.2.5</st1:chsdate>：</p>
<p style="font-size: 10pt; color: #000000"><a href="https://sourceforge.net/project/showfiles.php?group_id=75057&amp;package_id=77484&amp;release_id=423655">https://sourceforge.net/project/showfiles.php?group_id=75057&amp;package_id=77484&amp;release_id=423655</a> </p>
<p style="font-size: 10pt; color: #000000">cvsacl-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.2.5</st1:chsdate>-for-cvs-1.11.22.tar.gz</p>
<p style="font-size: 10pt; color: #000000">cvs-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.11.22</st1:chsdate>-cvsacl-1.2.5-patched.tar.gz</p>
<p style="font-size: 10pt; color: #000000"><strong>2．&nbsp; 安装CVSACL：</strong></p>
<p style="font-size: 10pt; color: #000000">安装方法：cvs-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.11.22</st1:chsdate>-cvsacl-1.2.5-patched.tar.gz</p>
<p style="font-size: 10pt; color: #000000">[root@localhost setup_cvs]# tar -zxvf cvs-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.11.22</st1:chsdate>-cvsacl-1.2.5-patched.tar.gz&nbsp;&nbsp; // 解压缩cvs-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.11.22</st1:chsdate>-cvsacl-1.2.5-patched.tar.gz</p>
<p style="font-size: 10pt; color: #000000">[root@localhost setup_cvs]# mv cvs-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.11.22</st1:chsdate>-cvsacl-1.2.5-patched cvs-1.11.22&nbsp;&nbsp; // 修改cvs-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.11.22</st1:chsdate>-cvsacl-1.2.5-patched目录名称为 cvs-1.11.22</p>
<p style="font-size: 10pt; color: #000000">[root@localhost setup_cvs]# cd cvs-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.11.22</st1:chsdate>&nbsp;&nbsp;&nbsp; // 进入cvs-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.11.22</st1:chsdate></p>
<p style="font-size: 10pt; color: #000000">[root@localhost cvs-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.11.22</st1:chsdate>]# ./configure&nbsp;&nbsp;&nbsp; // 编译安装</p>
<p style="font-size: 10pt; color: #000000">[root@localhost cvs-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.11.22</st1:chsdate>]# make</p>
<p style="font-size: 10pt; color: #000000">[root@localhost cvs-<st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.11.22</st1:chsdate>]# make install</p>
<p style="font-size: 10pt; color: #000000">[root@localhost setup_cvs]# cvs &#8211;version&nbsp;&nbsp;&nbsp; // 查看cvs版本</p>
<p style="font-size: 10pt; color: #000000">Concurrent Versions System (CVS) <st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.11.22</st1:chsdate> (client/server)</p>
<p style="font-size: 10pt; color: #000000">with CVSACL Patch <st1:chsdate isrocdate="False" islunardate="False" day="30" month="12" year="1899" w:st="on">1.2.5</st1:chsdate> (cvsacl.sourceforge.net)</p>
<p style="font-size: 10pt; color: #000000">注：不需要特意删除旧版本的CVS。<br /><br /><strong>3．&nbsp; 修改aclconfig配置文件<br /></strong><font face="Verdana">[newcvsroot@localhost CVSROOT]$ vi aclconfig</font>&nbsp; // 该配置文件在cvs根目录的CVSROOT下，如/data/cvs/CVSROOT/<br /><font face="Verdana">UseCVSACL=yes</font>&nbsp;&nbsp;&nbsp; // 行首去除&#8220;#&#8221;，启用该配置项。</p>
<p style="font-size: 10pt; color: #000000">UseSystemGroups=yes&nbsp;&nbsp; // 行首添加&#8220;#&#8221;，注释该配置项。</p>
<p style="font-size: 10pt; color: #000000">UseCVSGroup=yes&nbsp;&nbsp;&nbsp; // 行首去除&#8220;#&#8221;，启用该配置项。<br /></p>
<p style="font-size: 10pt; color: #000000"><strong>3．&nbsp; 创建用户和组进行赋权<br /></strong><font face="Verdana">[newcvsroot@localhost CVSROOT]$ pwd<br />/datanew/cvs/CVSROOT&nbsp;&nbsp;&nbsp;&nbsp; // 创建用户和组要在CVSROOT下进行，并且执行用户必须是CVSROOT对应的属主用户，即newcvsroot，该用户在搭建cvs服务器时配置。<br />[newcvsroot@localhost CVSROOT]$ htpasswd -b passwd username passwd&nbsp;&nbsp; // 新增用户并设定密码，已有用户的密码更新也可用该命令。<br /></font>[newcvsroot@localhost CVSROOT]$ vi passwd </p>
<p style="font-size: 10pt; color: #000000">kevins:*******:newcvsroot&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;将passwd文件中的所有cvs用户映射到同一个系统用户newcvsroot上。<br /><br />[newcvsroot@localhost CVSROOT]$ vi group </p>
<p style="font-size: 10pt; color: #000000">文件格式：</p>
<p style="font-size: 10pt; color: #000000">group1:x:10:ii,kevins,ava&nbsp;&nbsp; // 用户之间用&nbsp;&#8220;,&#8221;分隔，&#8220;ii&#8221;为无效的首个用户。</p>
<p style="font-size: 10pt; color: #000000">注：cvsacl有个bug，必须在组用户最前边添加一个不存在的cvs用户，group文件才会生效，原因不明，但此方法确实管用。<br /></p>
<p style="font-size: 10pt; color: #000000"><strong><strong>4．&nbsp; </strong>使用cvsacl细化权限：</strong></p>
<p style="font-size: 10pt; color: #000000">[cvsroot@localhost CVSROOT]$ cvs -d <span style="background-color: #ccffff">/data/cvs </span>racl <span style="background-color: #ccffff">ccp</span>:<span style="background-color: #99ccff">wtcd </span>-R <span style="background-color: #ccffcc">CODE/03.PRODUCT/12.CCP</span><br />说明：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="background-color: #ccffcc">/data/cvs</span>：cvs服务器的根目录<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="background-color: #ccffcc">ccp</span>：用户或用户组 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="background-color: #99ccff">wtcd</span>：一般赋&#8220;读写&#8221;权限时用这个组合，详细说明见本文&#8220;CVSACL定义了8级不同的访问权限&#8221;表格<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span style="background-color: #ccffcc">CODE/03.PRODUCT/12.CCP</span>：配置库中的Module(模块)路径</p>
<p style="font-size: 10pt; color: #000000"><br />格式：cvs &#8211;d 配置库位置 racl [用户||组:权限] [-Rl] [-r tag] [模块&#8230;] [文件&#8230;]</p>
<p style="font-size: 10pt; color: #000000">- R 进行目录递归</p>
<p style="font-size: 10pt; color: #000000">- r rev 设定版本/标签</p>
<p style="font-size: 10pt; color: #000000">- l 列出已定义的ACLs权限</p>
<p style="font-size: 10pt; color: #000000"><strong><span style="color: red">备注：该赋权命令要在CVSROOT目录中执行，执行完后vi access进行查看是否已写入权限文件中。</span><br /></strong></p>
<p style="font-size: 10pt; color: #000000"><br /><br />&nbsp;</p>
<p style="font-size: 10pt; color: #000000"><br /><br /><br /><br /><br /><br /><br /><br />&nbsp;</p><img src ="http://www.blogjava.net/kevins20110505/aggbug/351988.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kevins20110505/" target="_blank">XuFeng</a> 2011-07-25 15:12 <a href="http://www.blogjava.net/kevins20110505/archive/2011/07/25/cvsacl.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>