我已经在一个便携式卷(USB 驱动器上的 truecrypt 卷)上安装了 xampp(apache + mysql + php)堆栈,我在不同的 Linux 机器上使用它来进行 Web 应用程序开发。

该卷采用 ext3 格式,因此我遇到了权限问题,因为我不能在每台计算机上都是同一用户。例如,我尝试检查在另一台计算机上启动的项目的 git 状态,但访问被拒绝。

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

遇到这种情况我该怎么处理呢?我很想正确设置这个权限问题。

非常感谢您的关注。


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

有帮助吗?

解决方案 2

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

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 对此是正确的)

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

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

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

其他提示

我怀疑是有捷径可走的那样 - 你可以尝试使用SELinux的访问控制列表,而不是通常的权限,但我认为这会是矫枉过正你

我会建议只是整个目录设置为777使用chmod(CHOWN改变所有权),为用户和组的每个用户在将每台机器上的不同,你真的不能做的更好。你在这里唯一的问题是安全性 - 但其对自己的目的本机上,我没有看到一个问题。除非你将文件复制到服务器上,于是你最好回到正确的设置。

您可以尝试验证针对LDAP服务器,你会为您检索输入用户名的UID,这将被映射到每台PC上相同的UID,这样的话你可以设置组或所有者一次。 (我想,你应该去问更有经验的人与LDAP UD映射)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top