我有一个家庭服务器与一些图形用户界面播放互联网广播使用mplayer
。但当我从服务器上播放它时,它不会播放,apache错误日志显示访问主目录被拒绝。
在创建新的服务之前,我还会使用exec(pkill mplayer)
来停止服务。
因此,目前我必须将www-data添加到/etc/sudoer中,并具有所有访问权限,并且它起作用了。我试过了/home/但它也启动不了。
所以我想知道在没有安全风险的情况下从webserver启动mplayer
的最好方法是什么。
这是我的代码
exec("pkill mplayer");
exec("mplayer -slave -quiet http://iedm-fl.akacast.akamaistream.net/7/293/156397/v1/auth.akacast.akamaistream.net/iedm-fl </dev/null >/dev/null 2>&1 &");
发布于 2017-02-23 02:06:26
如果您希望声音从服务器传出:
运行sudo adduser www-data audio
并重新启动服务器。这将给予用户www-data
产生音频的权限。在那之后,你的原始代码应该可以工作了。如果没有,那就试试更简单的方法:
exec("pkill mplayer");
exec("mplayer http://iedm-fl.akacast.akamaistream.net/7/293/156397/v1/auth.akacast.akamaistream.net/iedm-fl&");
发布于 2016-04-26 02:59:38
我猜当你试图从你的/home www-data运行一些东西时,可能没有这个位置的权限。
关于安全性,我不太确定,但是您给了www-data用户以root身份运行mplayer的权限。因此,mplayer很容易受到攻击。
也许您可以将权限隔离到单个脚本,以便为它们运行mplayer。而不是只给这个脚本执行权限,这样它就不会那么容易被编辑了。
https://stackoverflow.com/questions/34460042
复制相似问题