LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1369|回复: 3

如何把一个已有用户加入到一个组?

[复制链接]
发表于 2005-6-28 00:13:25 | 显示全部楼层 |阅读模式
刚装了cvs,建了cvsuser组,我现在想把一个已有用户加入到组cvsuser组中,并把一个目录的读写权限赋给cvsuser组。请问该用什么命令?
发表于 2005-6-28 09:43:01 | 显示全部楼层
cvs不很了解,但你可以看看这篇文章:
http://www.chedong.com/tech/cvs_card.html#daily
这里首先说一下CVS的pserver模式下的用户认证,CVS的用户认证服务是基于inetd中的:
cvspserver stream tcp nowait apache /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver
一般在2401端口(这个端口号很好记:49的平方)

CVS用户数据库是基于CVSROOT/passwd文件,文件格式:
[username]:[crypt_password]:[mapping_system_user]
由于密码都用的是UNIX标准的CRYPT加密,这个passwd文件的格式基本上是apache的htpasswd格式的扩展(比APACHE的 PASSWD文件多一个系统用户映射字段),所以这个文件最简单的方法可以用
apache/bin/htpasswd -b myname mypassword
创建。注意:通过htpasswd创建出来的文件会没有映射系统用户的字段
例如:
new:geBvosup/zKl2
setup:aISQuNAAoY3qw
test:hwEpz/BX.rEDU

映射系统用户的目的在于:你可以创建一个专门的CVS服务帐号,比如用apache的运行用户apache,并将/home/cvsroot目录下的所有权限赋予这个用户,然后在passwd文件里创建不同的开发用户帐号,但开发用户帐号最后的文件读写权限都映射为apache用户,在SSH模式下多个系统开发用户需要在同一个组中才可以相互读写CVS库中的文件。

进一步的,你可以将用户分别映射到apache这个系统用户上。
new:geBvosup/zKl2:apache
setup:aISQuNAAoY3qw:apache
test:hwEpz/BX.rEDU:apache

CVSTrac很好的解决了CVSROOT/passwd的管理问题,而且包含了BUG跟踪报告系统和集成WIKIWIKI交流功能等,使用的 CGI方式的安装,并且基于GNU Public License:

在inetd里加入cvspserver服务:
cvspserver stream tcp nowait apache /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver

xietd的配置文件:%cat cvspserver
service cvspserver
{
disable = no
socket_type = stream
wait = no
user = apache
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
log_on_failure += USERID
}

注意:这里的用户设置成apache目的是和/home/cvsroot的所有用户一致,并且必须让这个这个用户对/home/cvsroot/下的 CVSROOT/passwd和cvstrac初始化生成的myproj.db有读取权限。
回复 支持 反对

使用道具 举报

发表于 2005-6-28 10:22:32 | 显示全部楼层
usermod -G 组名
回复 支持 反对

使用道具 举报

发表于 2005-6-28 22:57:22 | 显示全部楼层
Post by xiaopaozi
刚装了cvs,建了cvsuser组,我现在想把一个已有用户加入到组cvsuser组中,并把一个目录的读写权限赋给cvsuser组。请问该用什么命令?


chown和chgrp用来管理对目录和文件的归属,chmod可以实现对他们的权限控制。别忘了对目录sgid.这样在目录下创建的文件都会承袭目录本身的gid属性。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表