作者David7146 (David cyuan)
看板PHP
标题[请益] CLI sudo 密码的输入
时间Thu May 24 01:48:09 2012
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)
1F:→ shadowjohn:记得直接把要跑的binary, chmod 4755 後直接跑即root 05/24 08:34
2F:→ shadowjohn:但 selinux 要 disabled 05/24 08:34
3F:→ shadowjohn:以前要用web adduser,好像常会这麽作^^" 05/24 08:35
4F:→ David7146:谢谢您的回覆:) 05/24 11:17