1

我有两台机器我工作:

  1. Windows 客户端(开发机)
  2. Linux 网络服务器 (Ubuntu)

在 Linux 服务器上,我安装了 Apache、Samba 和 SVN。

我创建了一个映射到 htdocs/ 目录的 samba 共享,以便我可以从 Windows 访问 Web 文件。

以下说明了我的工作流程:

  1. 从 Linux 服务器上的命令行,我将 Web 项目的工作副本从远程服务器检出到本地 Linux 服务器的 htdocs 目录中。
  2. 在 Windows 机器上,我访问这些文件(使用 samba)并在我的编辑器中编辑它们并在 Web 浏览器中测试它们
  3. 回到 Linux 机器上,我将我的工作签入到远程服务器。

我遇到的问题是,目前我能够通过 Samba 编辑 Windows 框上的文件,我必须将文件的所有者更改为没人(apache 用户)并将 Samba 共享设置为使用 SHARE 权限。

当我尝试使用 SVN 提交和更新等时,我不能,因为我的 Linux 用户不是“nobody”并且没有这样做的权限。所以我必须成为 root 执行 SVN [命令],然后将所有文件改回“nobody”,这样我就无法在 Windows 上进行编辑。

我想要做的是让我的本地 Linux 用户拥有 Web 文件,这将使 SVN 命令能够工作,并且 Windows(通过 samba)也可以使用同一个用户。

我怎样才能让它工作,有没有办法让 Windows 和 Linux 用户匹配?

4

2 回答 2

0

为什么要使用这种奇怪的工作流程?一个更合乎逻辑的做法是:

  1. 直接签出 Windows 机器上的文件
  2. 编辑和测试它们
  3. 准备好后入住

Linux 服务器有什么特别需要的吗?你不能在 Windows 上安装 apache(仅用于测试目的?)

于 2010-08-20T12:32:43.537 回答
0

我通过更改所有权限以匹配然后使用 samba USER 权限并设置 users.map 文件解决了我的问题。

于 2010-09-06T10:38:11.663 回答