好的,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

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!;

?>

标签:accessibility,linux,php

来源: https://codeday.me/bug/20191024/1918979.html

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐