我在不同的Linux机器上的便携式卷(usb驱动器上的truecrypt卷)上安装了一个xampp(apache + mysql + php)堆栈,用于webapp开发。
此卷的格式为ext3,因此我遇到权限问题,因为我不能在每台计算机上使用相同的用户。例如,我试图检查在另一台机器上启动的项目的git状态,并拒绝访问。
上次我遇到类似的问题时,我做了chmod 777(或者它是chown?)整个目录,所以我猜我的php文件的权限状态是凌乱的。这次我也担心像我最近安装的git文件和symfony web框架这样的特殊情况。
我该如何应对这种情况? 我很乐意正确设置此权限问题。
非常感谢您的关注。
编辑: 每次我使用不同的机器时,我可能需要在本地写一个脚本“sudo chown lampp:lamppusers”。或者只有本地存储库导出的一些git voodoo技巧?有什么想法吗?
答案 0 :(得分:2)
我怀疑它有这样的方式 - 你可以尝试使用SELinux ACL而不是通常的许可,但我认为这对你来说太过分了。
我建议只使用chmod将所有目录设置为777(chown更改所有权),因为每个用户所在的用户和组在每台计算机上都会有所不同,你真的不能做得更好。你唯一的问题是安全性 - 但是出于你自己的目的,它在你的本地盒子上,我没有看到问题。直到你将文件复制到服务器,然后你最好将它们正确地重新设置。
您可以尝试对LDAP服务器进行身份验证,您可以检索输入的用户名的uid,并将其映射到每台PC上的同一个uid,这样您就可以设置一次组或所有者。 (我想,你必须问一个更熟悉LDAP ud映射的人。)
答案 1 :(得分:0)
这似乎是我找到的最佳解决方案:
sudo chown -R polypheme:lamppusers webdir
这样我可以使用本地用户名和本地组再次拥有整个目录。
请注意,在计算机1上,我的用户名是polypheme,我属于组lamppusers,而在计算机2上,我的用户名是polypheme,我属于组lamppusers。 用户名和组名完全相同。 我并非100%确定如果名称恰好不同,这将完美地运作。
我没有修改任何好的chmod,因为问题比简单地用全局
简化每个文件权限要复杂得多chmod -R 744 webdir
在symfony框架中处理受保护文件是错误的。我猜也是.git /文件。 (gbjbaanb对此是正确的)
此时,我恢复了我以前在另一台机器上使用的相同配置,这正是我所寻求的。我可以再做一次。
知道这一点,我的问题突然变得愚蠢。 好吧,多计算机环境使得它很有价值。 (至少对我来说)
(此答案将在经过适当测试后立即生效)