通过ssh拒绝cvs服务器的权限

时间:2010-12-28 15:49:26

标签: permissions cvs

我无法通过eclipse将java项目导入到我的cvs服务器上,通过互联网创建一个新项目。

我以root身份创建了一个名为/ priv / cvs /的目录。 然后我叫“cvs -d / priv / cvs / init”。 我创建了一个名为cvs的用户和一个名为cvs的组。 存储库由cvs和组cvs拥有。

然后我创建了一个用户“ben”,他唯一的组是cvs。 我通过不允许通过带密码的ssh访问服务器来“访问”用户“ben”只访问服务器,只使用在服务器上的主目录中添加的公钥,文件为authorized_keys2。

authorized_keys2的内容如下:

no-port-forwarding,no-X11-forwarding,command="/usr/bin/cvs server" ssh-rsa [public_key_content] rsa-key

连接到服务器工作得很好。 Eclipse要求私钥的密码短语连接到服务器。身份验证工作,eclipse能够运行cvs命令。

但是在使用Team-> Share Project导入我的项目时。我收到错误:

The server reported an error: Permission denied
projectname: cvs server: cannot open /priv/cvs/CVSROOT/config: Permission denied
projectname: Cannot access /priv/cvs/CVSROOT

cvs root(/ priv / cvs /)的访问权限设置为770.这意味着所有者(即cvs和组cvs的组参与者)可以读写。

为什么我会拒绝权限?

当我将文件夹设置为777时,这意味着对ALL进行读/写,那么它可以正常工作。但我不想那样。我只想让cvs用户读/写这个文件夹? 有什么我误解了访问规则吗?

我忘了一件事: / priv / cvs中的所有文件和目录都被chmodded为cvs:cvs,并且/ priv / cvs /中的所有文件夹都被chmodded为775(由所有人读取,由所有者/组写入)。

1 个答案:

答案 0 :(得分:2)

Eclipse可能正在使用无特权的用户来访问服务器。检查服务器日志以查找失败的访问尝试,并使用Eclipse中的CVS Repository视图来定义对存储库的访问。

Team / Share不是在Eclipse中从CVS进行初始签出的正确方法;它旨在让Eclipse从现有/工作项目目录中获取CVS信息。