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

Permissions 通过ssh拒绝cvs服务器的权限,permissions,cvs,Permissions,Cvs,我无法通过eclipse将java项目通过internet导入我的cvs服务器来创建新项目 我创建了一个名为/priv/cvs/的根目录。 然后我调用“cvs-d/priv/cvs/init”。 我创建了一个名为cvs的用户和一个名为cvs的组。 存储库由cvs和cvs组拥有 然后我创建了一个用户“ben”,他唯一的组是cvs。 我“chrooted”用户“ben”只访问cvs功能,不允许使用密码通过ssh访问服务器,只允许使用公钥,该公钥添加到服务器上文件authorized_keys 2中的

我无法通过eclipse将java项目通过internet导入我的cvs服务器来创建新项目

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

然后我创建了一个用户“ben”,他唯一的组是cvs。 我“chrooted”用户“ben”只访问cvs功能,不允许使用密码通过ssh访问服务器,只允许使用公钥,该公钥添加到服务器上文件authorized_keys 2中的主目录中

授权密钥2的内容如下:

no-port-forwarding,no-X11-forwarding,command="/usr/bin/cvs server" ssh-rsa [public_key_content] rsa-key
连接到服务器工作得很好。Eclipse请求私钥的密码短语以连接到服务器。身份验证工作正常,eclipse能够运行cvs命令

但是当使用团队->共享项目导入我的项目时。我得到一个错误:

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根目录(/priv/cvs/)的访问权限设置为770。这意味着允许所有者(即cvs)和组cvs的组参与者进行读写

为什么我的许可被拒绝

当我将文件夹设置为777时,这意味着读/写全部,然后它就工作了。但我不想那样。我只希望cvs用户读取/写入此文件夹? 我对访问规则有什么误解吗

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

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


团队/共享不是在Eclipse中从CVS进行初始签出的正确方法;Eclipse打算从现有的/正在工作的项目目录中获取CVS信息。

在Eclipse中,用户被设置为“ben”,与服务器上的用户名相同,具有授权的密钥2。我总是以这种方式导入新项目。但是这次它在另一台服务器上,我看不出有什么不同。我尝试在Eclipse中使用CVS repository Explorer探索存储库,但仍然得到相同的错误:-(还有一件事。我以ben和cvs的身份以root用户身份使用su命令登录。我可以打印配置文件的内容并列出CVSROOT中的所有文件。但是通过Eclipse尝试会在上面出现错误。见鬼!废话!!我必须重新启动Eclipse,以便它重新编译私钥使用的密码短语。现在它可以工作了。即使它现在可以工作,我也可以完全困惑。不知道问题出在哪里。Eclipse CVS最适合嵌入式(Java)CVS客户端实现,因为它不会被操作系统上下文“污染”。设置在Windows/Preferences/Team/SSH下。您检查了服务器日志吗?