www-data用户无法写入fifo,chmodded 777

时间:2014-12-22 20:51:12

标签: php apache permissions system chmod

我写了一个我想从Apache调用的PHP脚本。我打算用这个来控制pianobar。

如果我直接从根终端执行脚本,它可以正常工作,但是如果我尝试通过Web服务器运行脚本,那就什么都没有。

我创建的fifo位于/home/dave/.config/pianobar/piano,PHP脚本中的相关行看起来像这样......

<?php
system("echo -n 'p' > /home/dave/.config/pianobar/piano"); //'p' pauses pianobar.

echo system('whoami');
?>

如果我在浏览器中通过Apache执行此脚本,它会回复'www-data www-data',它告诉我安全模式已禁用且system()命令正在运行,但是pianobar继续播放。如果我从根终端运行它,它会回复'root'和pianobar暂停。如果我在我自己的用户名下从终端执行此操作,它会回复'dave'并且pianobar仍然会暂停。

我创建的/home/dave/.config/pianobar/piano的最后一个是chmod ded到777.什么给出了什么?这是一个权限问题吗? PHP不允许我对system()命令执行任何有用的操作吗?

1 个答案:

答案 0 :(得分:0)

检查文件夹权限:

stat --format '%a' /home/dave/.config/pianobar/piano

为文件夹中的所有文件设置文件夹权限:

sudo chmod -R 755 /home/dave/.config/pianobar/piano

尝试,应该工作。