2016-11-04 55 views
0

我需要幫助,我有webinterface塔爾運行本節在PHP中:LINUX PHP服務重啓不行

$cmd="/usr/sbin/sudo /usr/sbin/service networking stop" 
exec($cmd, $mes); 

print_r($mes); #this is emptz message 

$cmd="/sbin/ifconfig" 
exec($cmd, $mes); 

print_r($mes); 

的print_r($ MES);停止服務爲空 print_r($ mes);對於ifconfig = array有關於接口的所有信息(但所有都沒有關閉,所以上面的mesagge不能正常工作(該服務仍在運行))

此腳本通過deamon用戶運行。

這是我visudo命令:

# This file MUST be edited with the 'visudo' command as root. 
# 
# Please consider adding local content in /etc/sudoers.d/ instead of 
# directly modifying this file. 
# 
# See the man page for details on how to write a sudoers file. 
# 
Defaults  env_reset 
Defaults  mail_badpass 
Defaults  secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 

# Host alias specification 

# User alias specification 

# Cmnd alias specification 

# User privilege specification 
root ALL=(ALL:ALL) ALL 

# Allow members of group sudo to execute any command 
%sudo ALL=(ALL:ALL) ALL 

# See sudoers(5) for more information on "#include" directives: 

#includedir /etc/sudoers.d 
www-data ALL =NOPASSWD: /bin/nc, /bin/cp, /bin/chmod, /bin/chown, /etc/init.d/, /usr/sbin/service 
deamon ALL = NOPASSWD: /bin/cp, /bin/chmod, /bin/chown, /etc/init.d/, /usr/sbin/service, /home/optokonlmcp/sss.php, /sbin/ifconfig 

請你知道爲什麼PHP腳本無法正常工作? 預先感謝您

BR MK

+0

答案/評論指出後了一些東西,因爲這使得答案/評論無效,請不要修改你的問題。 –

+0

現在我找出解決方案。我爲root創建scropt(root:root)並將其添加到VISUDO中。我 腳本:sudo的/ usr/sbin目錄/服務網絡停止 進入visudo命令,我必須創建的腳本的所有補丁,並使用PHP腳本調用使用sudo exect(「」須藤/path/./script.sh」)在此之後改變一切工作。 –

回答

-1

exec($cmd, $mes);

0

SOLUTIONS更換exac($cmd, $mes);

  1. 與rolus根(根:根)創建sctipt,並命令我需要什麼do(sudo/usr/sbin/service)命令必須包含sudo

  2. 添加腳本到visudo命令+是在我的腳本meantioned所有命令:

    守護ALL = NOPASSWD:含 visudo命令,在/ usr /斌/須藤,/path_my_script/script.sh

  3. 詛咒CRIPT必須有規則開口,使我改變規則755

  4. 現在你可以試着運行與後臺腳本,我使用這個命令:sudo的-u守護/patch_of_script/script.sh

  5. 最後一點是添加的命令到php:exect(「sudo /path/./script.sh」)

    現在我可以通過php重新啓動網絡。 謝謝 BR MK