我創建了一個PHP腳本,可以生成一些.gz文件,當我通過命令行(cli)執行PHP腳本時,它會生成具有「沙漠」作爲用戶的.gz文件,但是當腳本通過瀏覽器執行時,會生成以'nobody'作爲用戶的.gz文件不應該發生。當腳本通過瀏覽器執行時,我希望生成的文件具有「沙漠」用戶而不是「無人」用戶。不希望PHP腳本在通過瀏覽器執行時以apache用戶的身份執行shell命令?
這裏是我創建的代碼:
$file='test';
$newFileGZipCommand = 'cat '.$file.'_new | gzip > '.$file.'.gz';
//$newFileGZipCommand = 'sudo -u desert cat '.$file.'_new | gzip > '.$file.'.gz'; // This does not work
$newFileGZipCommandExecute = shell_exec($newFileGZipCommand);
//chmod($file.'.gz',0777) or die("Unable to change file permission");
//chown($file.'.gz', 'directu') or die("Unable to change file Owner");
我試圖做改變經過CHMOD文件的權限和所有者()和chown()在PHP的功能,但它說:「CHOWN():不允許操作」。
任何指針,這是非常感謝。
[注:我不能改變的httpd.conf或任何其他配置文件]
沒有成功@Kailash Yadav –
@MahavirMunot你試過了哪個選項?我認爲最後的選擇將是更好的選擇。你將在哪裏運行shell腳本,它可以爲你做所有的GZIP –
yes shell腳本也以nobody身份生成用戶文件。仍然沒有進展 –