看板 PHP 關於我們 聯絡資訊
Hello, 各位 我正在現在做一個功能,是要即時監控所有透過我的CLI觸動的socket server 除了Server資訊的更新外,還必須能夠透過網頁介面進行socket server的啟動與關閉 啟動的部份倒是沒什麼太大問題 但是關閉程序的部份,在kill某些socket server process的時候,會有權限不足的問題 目前我能夠取得這個例外,並且將權限不足的訊息告知使用者,這些都ok 不過我想更進一步的做到,能夠提示使用者輸入更高權限的帳號和密碼(optional) 那我再根據使用者輸入的資訊,進行sudo kill process的運行 但是sudo密碼執行的部份,我google過沒什麼可行的相關解決辦法 可能是我找的不夠仔細,麻煩各位大大有解答或想法的人不吝回覆,謝謝 P.S. 在不手動更動設定的前提下,一切用程式自動去完成 ----------------------------------------------------------------------------- 雖然我很像在自言自語 不過我解決了,用exec(sudo -u {USER} -S {COMMAND} < /{YOUR_PATH}/pass2sudo) 假設root的密碼是12345。而pass2sudo這個檔案裏面存的就是12345的字元 整個指令就會像是: sudo -u root -S kill {PID} < /{YOUR_PATH}/pass2sudo -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.174.10.102 ※ 編輯: David7146 來自: 1.174.10.102 (05/24 01:57) ※ 編輯: David7146 來自: 1.174.10.102 (05/24 02:08)
shadowjohn:記得直接把要跑的binary, chmod 4755 後直接跑即root 05/24 08:34
shadowjohn:但 selinux 要 disabled 05/24 08:34
shadowjohn:以前要用web adduser,好像常會這麼作^^" 05/24 08:35
David7146:謝謝您的回覆:) 05/24 11:17