Samba、Apache 和 SVN。获得正确的权限
我有两台工作机器:
- Windows 客户端(开发机器)
- Linux Web 服务器(Ubuntu)
在 Linux 服务器上我安装了 Apache、Samba 和 SVN。
我创建了一个映射到 htdocs/ 目录的 samba 共享,以便我可以从 Windows 访问 Web 文件。
下面说明了我的工作流程:
- 从 Linux 服务器上的命令行,我将 Web 项目的工作副本从远程服务器检出到本地 Linux 服务器的 htdocs 目录中。
- 在 Windows 计算机上,我访问这些文件(使用 samba)并在编辑器中编辑它们,并在 Web 浏览器中测试它们。
- 回到 Linux 计算机上,我将工作签入到远程服务器。
我遇到的问题是,目前为了能够通过 Samba 编辑 Windows 机器上的文件,我必须将文件的所有者更改为无人(apache 用户),并将 Samba 共享设置为使用 SHARE 权限。
当我尝试使用 SVN 提交和更新等时,我不能这样做,因为我的 Linux 用户不是“nobody”并且没有这样做的权限。所以我必须成为 root 执行 SVN [命令],然后将所有文件更改回“nobody”,这样我就无法在 Windows 上进行编辑。
我希望能够做的是让 Web 文件归我的本地 Linux 用户所有,这将使 SVN 命令能够工作,并且 Windows(通过 samba)也可以使用同一用户。
我怎样才能让它工作,有没有办法让 Windows 和 Linux 用户匹配?
I have two machines I work on:
- Windows Client (Development Machine)
- Linux Web Server (Ubuntu)
On the Linux server I have installed Apache, Samba and SVN.
I've created a samba share that maps to the htdocs/ directory so that I can access the web files from Windows.
The following illustrates my workflow:
- From command line on Linux server I checkout working copies of web projects from remote server into my local Linux server's htdocs directory.
- On the Windows machine I access these files (using samba) and edit them in my editor and test them in the web browsers
- Back on the Linux machine I checkin my work to the remote server.
The problem I have is that currently for me to be able to edit the files on the Windows box via Samba I have to change the owner of the files to nobody (apache user) and set the Samba share to use SHARE permissions.
When I try to use SVN to commit and update etc. I can't because my Linux user is not 'nobody' and does not have permissions to do so. So I have to become root do an SVN [command] then change all the files back to 'nobody' so that I can't edit on Windows.
What I would like to be able to do is have the web files be owned by my local Linux user which would enable SVN commands to work and for Windows (over samba) to also use this same user.
How can I get this to work, is there a way to get Windows and Linux users to match?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为什么要使用这种奇怪的工作流程?更合乎逻辑的做法是:
您需要从 Linux 服务器获得什么特殊的东西吗?你不能在 Windows 上安装 apache (仅用于测试目的吗?)
Why use this strange workflow? A more logical one would be:
Is there something special you need from the Linux server? Cant' you install apache on Windows (for testing purposes only?)
我通过更改所有权限以匹配然后使用 samba USER 权限并设置 users.map 文件解决了我的问题。
I've solved my problem by changing all the permissions to match and then using samba USER permissions and settings up a users.map file.