[請益] 透過php呼叫程式的權限問題

看板PHP作者 (克斯特)時間16年前 (2009/08/08 00:43), 編輯推噓11(1108)
留言19則, 3人參與, 最新討論串1/1
想請教一個問題..... 我的系統是ubuntu 64bit php程式中,透過exec呼叫本機端程式執行,權限(執行者)是誰呢? 我寫了一隻b.php,裡面執行exec("whoami") 透過網頁看,我發現輸出結果是www-data 也就是說我的權限(執行身分)是www-data,這樣應該沒錯吧? 之後,我用root身分,在shell下指令: sudo -u www-data php a.php 這樣的程式是可以動的 但是,同樣那隻檔案,我透過網頁去執行,也就是說讓apache去執行這隻程式 這隻程式就不能動了 我猜測是權限問題... 不知道有沒有人有經驗? 程式重點內容: exec('Xvfb :1 -screen 0 640x480x24 -nolisten tcp -audit 4 -auth X1.cfg & export DISPLAY=:1;cd /home/kuster/ss/html2image_i368;./html2image tw.yahoo.com /var/www/p/tyc.jpg;killall Xvfb', $out); 是個網頁轉圖片的程式... 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.125.4.56

08/08 00:48, , 1F
我推在linux版
08/08 00:48, 1F

08/08 01:50, , 2F
因為APACHE的群組不在sudo清單中
08/08 01:50, 2F

08/08 01:51, , 3F
而且你用自己的身分轉自己 沒有什麼意義吧XD
08/08 01:51, 3F

08/08 01:53, , 4F
sudo的部分,你可以參考http://0rz.tw/yGgZ6
08/08 01:53, 4F

08/08 02:53, , 5F
原po沒有要sudo吧 只是用root身份su過去
08/08 02:53, 5F

08/08 03:25, , 6F
原來我誤會了+_+
08/08 03:25, 6F

08/08 14:14, , 7F
參考arrack給的資料,我決定讓php直接使用root權限
08/08 14:14, 7F

08/08 14:15, , 8F
這樣問題就解決了~ 感謝各位的幫忙
08/08 14:15, 8F

08/09 03:14, , 9F
這..很危險的.. 而且PHP app有洞的機會不低喔..
08/09 03:14, 9F

08/09 03:16, , 10F
而且說不定sudo只是間接解決問題 碰巧把環境變數
08/09 03:16, 10F

08/09 03:16, , 11F
都設對了
08/09 03:16, 11F

08/09 06:12, , 12F
可以不用su root可以換其他身分看看
08/09 06:12, 12F

08/09 06:12, , 13F
apache的shell原則上被鎖死在家目錄的
08/09 06:12, 13F

08/09 08:01, , 14F
有這樣的原則嗎@@
08/09 08:01, 14F

08/09 08:07, , 15F
有這樣的原則的話原po也不能cd到/home/kuster/ss/...
08/09 08:07, 15F

08/09 08:07, , 16F
了吧..
08/09 08:07, 16F

08/09 18:05, , 17F
有的預設把該帳號鎖死在加目錄,他是整個不能執行
08/09 18:05, 17F

08/09 18:05, , 18F
並沒有說是哪一行不行,所以CD 那個也不見得可以
08/09 18:05, 18F

08/09 20:05, , 19F
那要有設chroot才有吧
08/09 20:05, 19F
文章代碼(AID): #1AV5cKyL (PHP)
文章代碼(AID): #1AV5cKyL (PHP)