使用gpg命令拒绝Php shell_exec()权限

使用gpg命令拒绝Php shell_exec()权限,php,linux,gnupg,permission-denied,shell-exec,Php,Linux,Gnupg,Permission Denied,Shell Exec,错误消息: gpg:Fatal:无法创建目录“/srv/http/.gnupg”:置换 否认 剧本: <?php $cmd = "/usr/bin/gpg -e -a -r kioccio@gmail.com prova 2>&1"; echo shell_exec($cmd); ?> 为什么我没有得到许可 另外,如果没有2>&1,该命令将不起作用。 另外,在命令中添加“sudo”不起作用 我是用户西蒙 或任何其他与shell交互的命令使用设置在h

错误消息:

gpg:Fatal:无法创建目录“/srv/http/.gnupg”:置换 否认

剧本:

<?php
    $cmd = "/usr/bin/gpg -e -a -r kioccio@gmail.com prova 2>&1";
    echo shell_exec($cmd);
?>

为什么我没有得到许可

另外,如果没有2>&1,该命令将不起作用。 另外,在命令中添加“sudo”不起作用

我是用户西蒙

或任何其他与shell交互的命令使用设置在httpd.conf中的用户和组。如果该用户没有适当的权限来操作所需的文件夹和垃圾箱,您将遇到这些错误


我建议您研究linux系统中的权限以及在不影响系统安全的情况下授予权限的正确方法,一些例程必须放在沙箱中以保存有关恶意命令的信息。

您正在使用cli sapi执行此脚本吗?或者http服务器?我正在manjaroapache2上使用apache执行http服务器,通常在
www data
用户下运行,该用户没有足够的权限-出于安全原因,非常感谢,我如何将该用户添加到组simone以允许他在目录上写入?这是您最不想做的事情,您可以更改
gpg
的配置,使其使用另一个目录,并授予该目录777权限