大量虚拟主机用户如何限制PHP权限
目前我们正在搭建免费空间系统,详情请见http://www.xianfeng.net
服务器采用FreeBSD+Apache+PHP
目前存在一个关键问题,问题详细如下:
我们拟开放PHP权限,但是考察目前国内提供PHP的站点,发现基本上存在这样子的问题:
usera
userb
在同一个服务器上面相同的权限(具有php权限)
如果不对usera和userb进行特别设置,那么usera就可以使用php相关函数来读取userb的空间内容,反过来,userb也可以做同样的事情。
如果用户数目只有几十个,那还可以一个个特别设置
open_basedir为用户自己的目录,
但是如果目前有几百个用户,请问该如何限制用户的php程序之能打开用户自己目录的文件??
你可以通过在<virtualhost>内设置用户和组以及设置每个用户的主目录权限来试一个,方法是在每一个的virtualhost内添加user username group groupname,主目录如open_basedir/username设置为0700
你可以通过在<virtualhost>内设置用户和组以及设置每个用户的主目录权限来试一个,方法是在每一个的virtualhost内添加 user username group groupname,主目录如open_basedir/username设置为0700
是的我用过的。
不过得使 apache 支持 suexec 。
每个用户就可以设置权限为 700 运行了。
但是这样子又出现了一个问题:
因为是提供免费空间服务,所以可能100各用户都在通一台服务器上面。
这不会要我建立一百个实际用户把,我的用户都是虚拟用户阿
你可以通过在<virtualhost>内设置用户和组以及设置每个用户的主目录权限来试一个,方法是在每一个的virtualhost内添加 user username group groupname,主目录如open_basedir/username设置为0700
这方法我也用过,相对安全性高点。但是,当里面用户多的时候容易出现资源不足。对于一些用户自行修改目录权项的仍会引起一些问题。
这就是我这个月烦的事情罗
:(
随便补充一个,怎么能控制PHP写文件或上传文件不能超出虚拟主机的磁盘限制?(没办法用系统的QUOTA,因为都是虚拟用户)
在hostqiao的问题中说道:
[quote][/如果用户数目只有几十个,那还可以一个个特别设置 quote]
linux的一个好处就配置的修改仅仅需要对文件进行修改,也就是说这些都可以通过程序来实现。
用户的开通通过一个某一个具有特许权限的cgi或者php程序来实现(特许权限--是指这个程序可以完成开通,具体设计就要靠自己了,我是新手),这样子就和定制是一样的效果。。
不知道是不是这样子?