Cam*_*oft 5 linux permissions svn samba apache-2.2
我有两台机器在工作:
我在 Linux 服务器上安装了 Apache、Samba 和 SVN。
我创建了一个映射到 htdocs/ 目录的 samba 共享,以便我可以从 Windows 访问 Web 文件。
以下说明了我的工作流程:
我遇到的问题是,目前为了能够通过 Samba 编辑 Windows 框上的文件,我必须将文件的所有者更改为 nobody(apache 用户)并将 Samba 共享设置为使用 SHARE 权限。
当我尝试使用 SVN 提交和更新等时,我不能,因为我的 Linux 用户不是“没人”并且没有这样做的权限。所以我必须成为 root 执行 SVN [command] 然后将所有文件改回“nobody”,这样我就无法在 Windows 上进行编辑。
我希望能够做的是让我的本地 Linux 用户拥有 Web 文件,这将使 SVN 命令能够工作,并且 Windows(通过 samba)也可以使用相同的用户。
我怎样才能让它工作,有没有办法让 Windows 和 Linux 用户匹配?
让文件和目录归某个组所有,Apache 以. 将目录设置为 SGID。
chgrp -R group1 /path/to/htdocs
find /path/to/htdocs -type d -exec chmod 2775 {} \;
Run Code Online (Sandbox Code Playgroud)
在 SAMBA 共享下指定该组,可以使用 来完成force group=group1
。
使您向 SAMBA 进行身份验证的用户成为该组的成员。在 SAMBA 中valid users
以及您的共享内指定此用户。write list
这也应该允许您致力于 SVN。
另外,在 smb.conf 中指定create mask=0664
和directory mask=2775
,这将在创建时设置适当的权限。如果这些文件与 Apache 属于同一用户,则可以将这两个设置的最后一位设置为 0。
如果一切都一致应用,您应该能够执行所有所需的操作,而不会对任何功能产生负面影响。