Shell_exec ile Komut Satırı PHP diğerleri root için çalışıyor ancak

0 Cevap php

Ben bir shell_exec (ya da ters tırnak operatörü) temelde işleri çalıştıran olmadığını test etmek çok basit bir komut dosyası var:

#!/usr/bin/php5
<?php

echo "This is a PHP script\n";
echo `ls -l /home/stoysnet/`;

Ben root olarak çalıştırmak sürece, her zaman bana veriyor:

$ ./foo.php 
This is a PHP script

Warning: _shell_exec(): Permission Denied in /home/stoysnet/foo.php on line 5

Ben bir kaç farklı şekilde PHP ile bu çalışan denedim, ama her zaman aynı hatayı alıyorum. Ben bir alt dizinine komut koymak Ancak, /etc/ root:root aittir ve root çalışır gibi yürütülür.

Ne verir?

Update: Sadece netleştirmek için:

  • Ben komut satırı üzerinden stoysnet kullanıcı olarak çalıştırmak için çalışıyorum. Ben aynı oturumu aracılığıyla shell_exec geçirilen komutu çalıştırmak mümkün duyuyorum.
  • I /etc/somedir/ senaryoyu taşımak ve yürütmek ise beklendiği gibi root, çalışıyor gibidir.
  • Script kendisi, tırnak işleci veya shell_exec parçası değil sadece, ishal
  • Yürütme izinleri ayarlanır, ve 777 ya da çalışmıyor.

0 Cevap