【问题标题】:Permission denied for cvs server via ssh通过 ssh 拒绝 cvs 服务器的权限
【发布时间】:2011-05-31 15:23:18
【问题描述】:

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

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

然后我创建了一个用户“ben”,他唯一的组是 cvs。 我“chroot”了用户“ben”,只通过不允许使用密码通过 ssh 访问服务器来访问 cvs 功能,只能使用在文件 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 中的所有文件和目录都修改为 cvs:cvs,/priv/cvs/ 中的所有文件夹都修改为 775(所有人读取,所有者/组写入)。

【问题讨论】:

    标签: permissions cvs


    【解决方案1】:

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

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

    【讨论】:

    • 在 Eclipse 中,用户设置为“ben”,用户名与服务器上的用户名相同,带有 authorized_keys2 事物。我总是以这种方式导入新项目。但这次它在另一台服务器上,我没有看到任何区别。我尝试使用 Eclipse 中的 CVS Repository Explorer 探索存储库,但仍然遇到相同的错误。 :-(
    • 还有一件事。我以 root 身份使用 su 命令以 ben 和 cvs 身份登录。我能够打印配置文件的内容并列出 CVSROOT 中的所有文件。但是通过 Eclipse 尝试它最终会出现上述错误。什么鬼?
    • 废话!!我不得不重新启动 Eclipse,以便它重新提示私钥使用的密码。现在它的工作。即使它现在工作,我完全糊涂了。不知道是什么问题。
    • Eclipse CVS 最适合嵌入式 (Java) CVS 客户端实现,因为它不会被操作系统上下文“污染”。该设置位于 Windows/Preferences/Team/SSH 下。你检查过服务器日志吗?
    猜你喜欢
    • 1970-01-01
    • 2021-03-04
    • 1970-01-01
    • 2018-08-07
    • 2016-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-11
    相关资源
    最近更新 更多