mus*_*usa 1 security php permissions nginx
我正在尝试使用我的几个站点设置我的新 VPS。
nginx、php-fpm 和其他需要的服务已安装。
我为我的站点设置了一个 nginx 服务器块(虚拟主机),然后尝试创建一个 php 文件进行测试。一切正常,但后来我想尝试echo file_get_contents('/etc/passwd')
文件进行安全检查。它的工作也是如此,一个 test.php 文件可以访问我的 VPS etc/passwd 文件等等。
在我尝试之后echo shell_exec('ls /')
,这显示了我的根文件夹。
那么这是正常的吗?或者我怎样才能防止这种情况。我想拒绝访问除运行 php 代码的用户之外/var/www
的所有人www-data
。
对不起,我的英语不好。
谢谢。
Gra*_*ant 12
passwd 文件可供所有用户读取。这是完全正常的。与 / 相同。程序需要访问 /etc/passwd 以将用户名映射到 ID。实际密码存储在 /etc/shadow 中,它受到更多限制。
如果由于某种原因你不希望程序看到这些文件,你应该考虑创建一个 chroot jail,它为它提供自己的假根目录和所有需要文件的单独副本。但对于大多数服务来说,这是不必要的。
归档时间: |
|
查看次数: |
1737 次 |
最近记录: |