LINUX php服务重启不起作用

时间:2016-11-04 16:15:25

标签: php linux permissions debian visudo

我需要帮助,我有webinterface thar在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用户运行。

这是我的视觉:

# 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

2 个答案:

答案 0 :(得分:0)

解:

  1. 使用rolus为root(root:root)创建sctipt并命令我需要做什么(sudo / usr / sbin / service)命令必须包含sudo

  2. 将脚本添加到我的脚本中有意义的visudo + all命令中: Visudo包含:

    守护进程ALL = NOPASSWD:/ usr / bin / sudo,/ path_my_script / script.sh

  3. 诅咒犯罪必须有开放规则,所以我改变755的规则。

  4. 现在你可以尝试用守护进程运行脚本,我使用这个命令:sudo -u daemon /patch_of_script/script.sh

  5. 最后一点是将命令添加到php:exect(“sudo /path/./script.sh”)

    现在我可以通过php重新启动网络了。 谢谢 BR MK

答案 1 :(得分:-1)

exac($cmd, $mes);替换为exec($cmd, $mes);