我将Subversion存储库从Windows框移动到UNIX机器。在这两种环境中,我都通过Apache处理了身份验证。
在移动后的UNIX框中,我可以检出源但在提交任何内容时收到以下错误:
svn: Can't open file '/home/brianly/svn/test/db/txn-current-lock': Permission denied
这似乎是一个UNIX权限问题,以下命令解决了这个问题:
chmod -R 777 /home/brianly/svn/test
现在,我已将其打开以便所有用户都可写(对吗?)。这样做有安全问题吗?我应该将所有者更改为apache用户(守护程序)吗?设置文件系统权限的最佳做法是什么?
答案 0 :(得分:3)
您应该做的是将目录所有者更改为apache进程用户,例如
chown -R apache /home/brianly/svn/test
您需要以root用户身份(直接或通过chown
)运行sudo
。
你可以看到用户是谁(如果是linux):
ps -fadeww|grep httpd
并且不要忘记将其更改回755或700或其他任何内容。
答案 1 :(得分:2)
如果唯一的访问是通过HTTP进行的,那么您可以限制对Web服务器运行的用户的访问。现在使用777,这不仅是本地用户的安全风险,而且还有权限的丢失,因为您刚刚制作了不应该的可执行文件...请参阅orip的答案。