台灣最大程式設計社群網站
線上人數
1254
 
會員總數:239370
討論主題:185707
歡迎您免費加入會員
討論區列表 >> PHP >> 如何使用exec()輸入密碼
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何使用exec()輸入密碼
價值 : 50 QP  點閱數:202 回應數:3

樓主

A-Wei
門外漢
0 6
150 7
發送站內信

捐贈 VP 給 A-Wei
如題~
最近玩到exec()這個函式~
也學到指令與指令間可以加上";"
已連續執行~
(exec("cd ../../ ; dir"))

不過有些指令需要前面加上sudo
但是加上sudo後在終端機上會提示要輸入密碼~
本想說程式如果這樣打可不可以
於是.. exec("sudo command ; password")

事實證明我太天真了...
完全沒用~

像這樣的狀況要怎麼解決呢?




搜尋相關Tags的文章: [ php ] , [ exec ] , [ sudo ] , [ linux ] , [ ubuntu ] ,
本篇文章發表於2017-03-24 11:12
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

clouding
捐贈 VP 給 clouding 檢舉此回應
早上好

試試看
echo <password> | sudo -S <command>
本篇文章回覆於2017-03-24 11:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

Ricky是我
檢舉此回應
可以編輯 /etc/sudoers 指定某些命令不需要密碼

例如
ricky ALL=NOPASSWD: /usr/sbin/service apache2 reload

當 ricky 這個 user 使用 sudo service apache2 reload 時就不需詢問密碼

本篇文章回覆於2017-03-24 12:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

A-Wei
捐贈 VP 給 A-Wei 檢舉此回應
謝謝 clouding 大大的解答
不過無法使用耶~

謝謝 Ricky是我 大大的解答
我找不到/etc/sudoers
但是有/etc/sudoers.d
裡面只有一個README檔案
是改那個嗎?
裡面的內容如下(正確嗎?)



本篇文章回覆於2017-03-24 13:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.