1

我在不同的 linux 机器上使用的便携式卷(usb 驱动器上的 truecrypt 卷)上安装了 xampp(apache + mysql + php)堆栈,用于 webapp 开发。

这个卷是用 ext3 格式化的,所以我遇到了权限问题,因为我不能在每台机器上都是同一个用户。例如,我试图检查在另一台机器上启动的项目的 git 状态,但访问被拒绝。

上次我遇到类似的问题时,我做了 chmod 777 (或者是 chown?)整个目录,所以我猜我的 php 文件的权限状态是混乱的。这次我也担心像 git 文件和我最近安装的 symfony web 框架这样的特殊情况。

我应该如何处理这种情况?我很想正确设置此权限问题。

非常感谢您的关注。


编辑:每次我使用不同的机器时,我可能需要在本地编写一个脚本“sudo chown lampp:lamppusers”。或者一些带有本地存储库导出的 git voodoo 技巧?任何想法?

4

2 回答 2

2

我怀疑有没有这样的方法——你可以尝试使用 SELinux ACLs 而不是通常的权限,但我认为这对你来说太过分了。

我建议使用 chmod 将整个目录设置为 777(chown 更改所有权),因为每个用户所在的用户和组在每台机器上都会有所不同,你真的不能做得更好。您在这里唯一的问题是安全性-但是出于您自己的目的,它在您的本地盒子上,我认为没有问题。直到您将文件复制到服务器,然后您最好将它们正确设置回来。

您可以尝试针对 LDAP 服务器进行身份验证,您将检索您输入的用户名的 uid,并将其映射到每台 PC 上的相同 uid,因此您可以设置一次组或所有者。(我认为,您必须询问对 LDAP ud 映射更有经验的人)。

于 2009-04-23T22:26:12.923 回答
0

这似乎是我找到的最好的解决方案:

sudo chown -R polypheme:lamppusers webdir

这样我就可以用我的本地用户名和我的本地组再次拥有整个目录。

  • polypheme 是一个用户名
  • Lamppusers 是一个组名
  • webdir 是包含我所有 Web 开发文件的目录

请注意,在计算机 1 上,我的用户名是 polypheme,我属于 Lamppusers 组,在计算机 2 上,我的用户名是 polypheme,我属于 Lamppusers 组。用户名和组名完全相同。如果名字碰巧不同,我不能 100% 确定这会完美地工作。

我没有修改任何很好的 chmod,因为问题比简单地用全局扁平化每个文件权限要复杂得多

chmod -R 744 webdir  

在 symfony 框架中处理受保护的文件是错误的。我猜也是 .git/ 文件。(gbjbaanb 是对的)

在这一点上,我已经恢复了我以前在另一台机器上的相同配置,这正是我正在寻找的。我又可以工作了。

知道了这一点,我的问题突然显得很愚蠢。好吧,多计算机环境使它变得非常棘手,因此变得有价值。(至少对我来说)

(此答案将在经过适当测试后立即得到验证)

于 2009-04-24T16:39:04.857 回答