繁体   English   中英

www-data (php) 可以执行“df -h”命令但不能完全执行

[英]www-data (php) can execute "df -h" command but not completely

所以,我做了这个“花哨的”仪表板,(纯 HTML + PHP)它应该显示剩余的磁盘空间。

$df = shell_exec("(df -h)");
echo "<pre>$df</pre>";

我在浏览器中得到这样的输出:

Filesystem      Size  Used Avail Use% Mounted on
/dev/root        59G   23G   34G  41% /
devtmpfs        413M     0  413M   0% /dev
tmpfs           418M  7.3M  411M   2% /dev/shm
tmpfs           418M     0  418M   0% /sys/fs/cgroup
tmpfs           418M   12M  406M   3% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs            84M  4.0K   84M   1% /run/user/1000
/dev/sdb1       253M   52M  201M  21% /boot

但是,如果我在终端中这样做,这似乎很好:

Filesystem      Size  Used Avail Use% Mounted on
/dev/root        59G   23G   34G  41% /
devtmpfs        413M     0  413M   0% /dev
tmpfs           418M  7.3M  411M   2% /dev/shm
tmpfs           418M   12M  406M   3% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           418M     0  418M   0% /sys/fs/cgroup
/dev/sdb1       253M   52M  201M  21% /boot
tmpfs            84M  4.0K   84M   1% /run/user/1000
/dev/sda1       458G  396G   39G  92% /media/pi/Pi3s_NAS
/dev/mmcblk0p1  486M  117M  370M  24% /media/pi/BOOT

如您所见,在浏览器中,它缺少 /media 目录中的所有内容。

尝试对其进行故障排除,发现通过将www-data添加到disk组确实可以解决问题,但并非完全解决。 我的意思是,从现在开始,当我运行命令php /var/www/html/index.php我确实得到了我预期的输出(以前没有),但是网络上仍然没有预期的输出浏览器。 任何想法为什么会这样?

我也遇到过这种情况(也在 Pi 上),但是可以使用sudo -u www-data df重现该问题,它不会在 /media/pi 下输出行。

我对挂载点的权限是rx对“其他人”,但/media/piroot ,有一个以o::---结尾的长 acl 列表。

u:www-data:rx到 csv 列表为我解决了这个问题:·)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM