这似乎是一个愚蠢的问题,但我已经谷歌搜索无济于事。
我一直认为 PHP 是一种用于创建动态数据库驱动站点的语言,而且我从未想过使用它来移动实际服务器上的系统文件(因为我从来没有需要)。我的问题是:
我从来没有想过,如果一个恶意黑客能够将一些 PHP 注入(inject)一个站点,他们实际上将被授予访问整个 Linux 服务器(及其所有系统文件)的权限。我只认为 PHP 是在/vhosts 目录中运行的东西(也许是天真)。
对不起,如果这听起来像一个愚蠢的问题,但我无法真正测试我的理论,就好像我的老板看到我编写/上传/执行一个在 Linux 文件系统中移动东西的脚本我会死的。
谢谢你们的帮助! :)
最佳答案
PHP 可以在您的服务器上运行它所运行的用户帐户的任何权限。 PHP 作为一种语言不受任何限制(至少在权限方面),受限制的是用户帐户。
这就是为什么人们通常会在这里为 Apache/nginx/insert web 服务器创建一个用户来运行,并且只授予它操作与 web 服务器相关的文件和目录的权限。如果您不授予此用户对 /bin
或 /etc
的访问权限,则无法执行任何会影响它们的操作。
通常不会。将系统管理留给您的系统管理员,而不是请求您的 PHP 脚本的用户。
关于php - PHP 可以移动并编辑服务器上的根系统文件吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8740253/