2009-04-23 68 views
1

我在一个便携式卷(usb驱动器上的truecrypt卷)上安装了一个xampp(apache + mysql + php)堆栈,用于在不同的linux机器上进行webapp开发。在不同机器上开发文件系统权限

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

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

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

非常感谢您的关注。


编辑: 我可能需要编写一个脚本来本地“命令CHOWN LAMPP:lamppusers”每次使用不同的机器时间。或者一些git voodoo技巧与本地存储库导出?任何想法?

回答

0

这似乎是我已经找到了最好的解决办法:

sudo chown -R polypheme:lamppusers webdir 

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

  • 独眼龙是用户名
  • lamppusers是一组名
  • WEBDIR是包含了所有我的web开发文件

注意,计算机1在我的用户名是独眼龙的目录,我属于群组lamppusers,并在计算机上2我的用户名是polypheme,我属于组lamppusers。 用户名和组名完全相同。 我不是100%确定,如果名称碰巧不同,这将完美工作。

我没有修改任何文件模式,这是很好的问题要复杂得多不是简单地压平与每个文件权限的全球

chmod -R 744 webdir 

这将是错误的做法与受保护的文件在symfony的框架。我猜也是.git /文件。 (gbjbaanb对此是正确的)

在这一点上,我恢复了我曾经在另一台机器上的配置,这正是我所寻找的。我可以再次工作。

知道了这一点,我的问题突然显得很愚蠢。那么,多计算机上下文使它足够复杂以致有价值。 (至少对我来说)

(这个答案将尽快,因为它已经得到很好的测试验证)

2

我怀疑是否有这样的方式 - 你可以尝试使用SELinux ACL而不是通常的权限,但是我认为这对你来说会过度。

我会建议只是整个目录设置为777使用chmod(CHOWN改变所有权),为用户和组的每个用户在将每台机器上的不同,你真的不能做的更好。这里唯一的问题是安全问题 - 但为了您自己的目的,在您的本地盒子上,我没有看到问题。直到你将这些文件复制到服务器上,你最好将它们正确地重新设置。

您可以尝试使用LDAP服务器进行身份验证,您将检索输入用户名的uid,并将其映射到每台PC上的相同uid,以便您可以设置组或所有者一次。 (我想,你必须问一个更熟练的LDAP ud映射的人)。

+0

呀,我怕这个答案竟是......让我们来看看,如果有人想出了另一个理念。 – Polypheme 2009-04-23 23:47:29

+0

另一种方法是确保您在每台机器上使用的uid相同。 – gbjbaanb 2009-04-24 08:57:24