Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何以apache用户身份运行ffmpeg_Linux - Fatal编程技术网

Linux 如何以apache用户身份运行ffmpeg

Linux 如何以apache用户身份运行ffmpeg,linux,Linux,我以root用户身份在centos上安装了ffmpeg。如何更新权限以便apache(httpd)可以运行ffmpeg命令 -rwxr-xr-x. 1 root root 24M Mar 4 03:43 /root/bin/ffmpeg 我试图链接到/usr/bin cd /usr/bin ls -s /root/bin/ffmpeg 但什么时候仍然不起作用。我猜是因为apache没有可用的shell su apache -c whoami This account is currentl

我以root用户身份在centos上安装了ffmpeg。如何更新权限以便apache(httpd)可以运行ffmpeg命令

-rwxr-xr-x. 1 root root 24M Mar  4 03:43 /root/bin/ffmpeg
我试图链接到/usr/bin

cd /usr/bin
ls -s /root/bin/ffmpeg
但什么时候仍然不起作用。我猜是因为apache没有可用的shell

su apache -c whoami
This account is currently not available

正如@pbu comment所述,如果您遵循本安装指南,但将“$HOME”替换为“/usr/local”,apache(httpd)用户将能够执行它。

软链接受文件本身和指向该文件的所有父文件夹的ACL的约束。我想您的
/root/
文件夹类似于0750。因此,您可以尝试硬链接,而不是使用软链接。或者将二进制文件移动到
/usr/local/bin
,将所有lib移动到
/usr/local/lib
/root/bin/ffmpeg
对于ffmpeg来说是一个奇怪的地方。您可以通过软件包管理器安装它吗?另外,正如您所注意到的,apache没有登录shell,但是您指定了一个来运行如下命令,
su-s/bin/bash apache-c whoami
。尝试将用户添加到www数据组:是的,ffmpeg安装在错误的位置。这是一种安全风险。为共享用户重新编译ffmpeg,如下所示:
/configure--prefix=/usr/local&&make&&make install
@pub:为什么在/root中有二进制文件(而不是setuid)存在安全风险?将当前用户添加到www数据组会有什么变化?为什么会进行向下投票?善意的解释可以让读者/我学到一些东西。答案错了吗?没有回答这个问题或者没有用?这不礼貌吗?是因为“/usr/local”不是一个安全的安装位置吗?其他原因?非常感谢。