你如何在共享的networking托pipe环境中设置文件和文件夹的权利? 你使用apache + suexec? 如何防止组“www”的成员读取系统中属于其他用户的文件? (通过SSH或PHP)
解决scheme的一半是在用户login传输文件时将jail用户切换到各自的DocumentRoots。
这可以通过使用ChrootDirectory指令的SSH(SFTP / SCP)轻松实现。
编辑:
由于上述事实上的做法是奇怪的,所以我也可以提供另一半。
通常,阻止Apache脚本模块访问FS上不应该存在的文件的唯一方法就是通过suEXEC作为CGI运行它们。 我认为这是非常可怕的。 您将需要分别确保每个用户文件仅限于其自己的UID / GID即。 umask 027 。 另外还有一些第三方模块可以为你做这个,比如suPHP 。
最常见的做法是,共享网站托pipe环境中的每个用户都将拥有自己的UID(用户名)和GID(组),与Apache Web服务器运行的UID(用户名)和GID(组)不同。 您可以使用suexec使CGI以与用户相同的权限运行,而不是以Web服务器用户/组的身份运行。 PHP将通过以用户身份运行并且不允许代码访问它没有权限的内容来为您执行此操作。
这个问题将会导致会员不能读取文件。 由于权限必须足够开放,Apace服务器可以读取它们以便能够提供服务。 我会build议,如果每个用户有他们自己的UID / GID那么0664文件和0775目录。 这只给“他人”阅读权限。
FreeBSD jail是一个选项。