2017-05-28 5 views
0

Le message d'erreur:Php shell_exec() Permission Denied avec GPG Commande

GPG: Fatal: ne peut pas créer le répertoire '/srv/http/.gnupg': Permession Refusé

Le script:

<?php 
    $cmd = "/usr/bin/gpg -e -a -r [email protected] prova 2>&1"; 
    echo shell_exec($cmd); 
?> 

Pourquoi je n'ai pas la permission?

P.S.Sans2> & 1 la commande ne fonctionne pas. P.S. ajoutant Sudo à la commande ne fonctionne pas

Je suis l'utilisateur simone

enter image description here

+0

vous exécutez ce script en utilisant cli sapi? ou un serveur http? – hassan

+0

J'exécute le serveur http avec apache sur manjaro – Simo

+0

apache2 fonctionne souvent sous l'utilisateur 'www-data', qui n'a pas assez d'autorisations -pour des raisons de sécurité- – hassan

Répondre

0

shell_exec ou toute autre commande avec interaction shell utilise l'utilisateur et le groupe setted dans httpd.conf. Si cet utilisateur ne dispose pas des autorisations appropriées pour manipuler le dossier et les emplacements que vous souhaitez, vous rencontrerez ces erreurs.

Je recommande d'étudier sur les autorisations dans le système Linux et la bonne façon de leur donner sans compromettre la sécurité de votre système, certaines routines doivent être dans un bac à sable pour économiser sur les commandes malveillantes.