我有两台机器:
- Windows 客户端(开发机器)
- Linux 网络服务器 (Ubuntu)
我在 Linux 服务器上安装了 Apache、Samba 和 SVN。
我已经创建了一个映射到 htdocs/目录的 samba 共享,以便我可以从 Windows 访问 Web 文件。
以下说明了我的工作流程:
- 我通过 Linux 服务器上的命令行将来自远程服务器的 Web 项目的工作副本 check out 到本地 Linux 服务器的 htdocs 目录中。
- 在 Windows 机器上,我访问这些文件(使用 samba)并在我的编辑器中编辑它们并在网络浏览器中测试它们
- 回到 Linux 机器上,我将我的工作 checkin 远程服务器。
我遇到的问题是,目前我要能够通过 Samba 编辑 Windows 机器上的文件,我必须将文件的所有者更改为 nobody(apache 用户)并将 Samba 共享设置为使用 SHARE 权限。
当我尝试使用 SVN 提交和更新等时,我不能,因为我的 Linux 用户不是“nobody”,也没有这样做的权限。所以我必须成为 root 执行 SVN [命令],然后将所有文件更改回“nobody”,这样我就无法在 Windows 上进行编辑。
我希望能够做的是让 web 文件归我的本地 Linux 用户所有,这将使 SVN 命令能够工作,并且对于 Windows(通过 samba)也可以使用同一用户。
我怎样才能让它工作,有没有办法让 Windows 和 Linux 用户匹配?
最佳答案
为什么要使用这种奇怪的工作流程?一个更合乎逻辑的是:
- 直接在 Windows 机器上 checkout 文件
- 编辑和测试它们
- 准备好后入住
您对 Linux 服务器有什么特别的要求吗?不能在 Windows 上安装 apache(仅用于测试目的?)
关于linux - Samba、Apache 和 SVN。获得正确的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3263459/