好的,PHP用户(www-data)是否可以访问服务器的其他部分,例如/ home / username / another_folder /?提前致谢.
将
编辑:我只是将www数据添加到另一个组吗?或类似的东西,或者还有另一种方法?
解决方法:
您可以创建另一个组,并将www-data(如果您的Web服务器在www-data用户下运行)添加到该组,然后将该组分配给所有您希望访问的文件.
或者,如果您只需要读取权限,而系统上的其他用户对您的文件具有读取权限也不是问题,那么只需更改文件的权限(在其他位置)以拥有对其他文件的读取权限.例如,目录为775,文件为644.
请记住,即使您的Web服务器用户有权访问这些文件,也不能在文档根目录以外的其他位置(例如/ var / www)提供页面.
但是,如果为Web服务器配置“别名”或“虚拟主机”,则可以放置默认文档根目录以外的其他位置,以供HTTP请求访问.
但是,如果Web服务器用户具有足够的权限,则位于文档根目录下并由Web服务器执行的PHP文件可以读取文档根目录之外的文件内容.
// file permissoins
/tmp/shared_by_all.txt -> 644
/home/user1 -> 751 or 755
/home/user1/shared_by_all.txt -> 644
/home/secureuser -> 750
/home/secureuser/myfile.txt -> 640 (or even 644 because of the containing directory permissions, other can not even enter the directory tree. so file is not accessible)
// file: /var/www/read_file.PHP
<?PHP
echo file_get_contents('/tmp/shared_by_all.txt'); // ok!
echo file_get_contents('/home/user1/shared_by_all.txt'); // ok!;
echo file_get_contents('/home/secureuser/myfile.txt'); // fail!;
?>