是否有可能在我的Apache服务器上设置文件权限,以便文件只能被选定的用户阅读?

我想知道是否有办法在我的apache服务器上设置文件权限,以便这些文件可以由apache提供,但不能被选定的用户读取或访问。 基本上,我试图找出是否有可能从聘请的顾问那里“黑盒子”我的项目的PHP代码基地的部分。

Apache将以特定的操作系统用户(通常命名为“www-data”或类似名称)访问这些文件,属于特定的操作系统组(通常为“www-data”或类似名称)。

如果其他用户通过Web服务器访问文件,则需要在操作系统之上的某个级别(比如应用程序级别)进行访问控制。 例如,你可以在php中实现一个简单的访问控制。

如果您想要阻止其他操作系统用户直接访问文件系统上的文件(而不是通过Web服务器),则可以简单地将操作系统组的读取权限授予该组文件,并将操作系统用户添加/删除组,根据你的需要。

注:我刚刚解释你的问题,因为它不是很清楚。 也许你可以澄清一点,以得到更合适的答案。

让顾问在开发环境中工作,并在他们提供可以上线的代码时自行处理部署到生产环境。

任何其他方法至less有一些潜在的顾问获得访问你不希望他们有权访问的代码。

如果你想保护你的应用程序的一部分免受窥探,那么你应该考虑使用PHP编码器(IonCube和Zend Guard是stream行的select)。 请不要这些要求您安装解码器扩展,所以如果你在共享主机,请确保您联系您的托pipe服务提供商,看看这是否是一个可行的解决scheme。

是的 – 这是微不足道的。

为应该有权限读取文件的人设置一个组,并将您的networking服务器运行的用户包括在内,然后将您的文件权限设置为rw-r —-(0640)请注意,没有办法阻止由PHP编写的PHP脚本从阅读文件虽然坏人。

C。

这取决于底层的操作系统,在Unix上这种限制是完全可能的。

如果你不想相信他们足够的阅读代码,更好的方法是:

  1. 限制访问整个Apache服务器,特别是如果它是一个生产环境
  2. 让他们使用SVN或其他版本软件,并从您的服务器远程获取他们的代码
  3. 实现一个面向服务的体系结构,这种devise可以很好地对某些部分进行黑盒。 只要服务有明确的文件logging并按预期工作,就不需要查看底层代码。