在不同机器上开发时的文件系统权限
-
13-09-2019 - |
题
我已经在一个便携式卷(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映射)。