linux - 使用 sudo 运行命令

标签 linux

我正在尝试使用 php 启动/停止服务。我已经添加了

%admin ALL=(ALL) NOPASSWD: ALL

到/etc/sudousers。当我以普通用户身份运行命令(如 sudo ls/)时,它运行成功。

这是我的 php 文件中的代码

exec("sudo /etc/init.d/service stop");

当我在浏览器中请求此文件然后在终端中检查时,该过程不会停止。 我想念什么?

最佳答案

sudoers 行开头的 %admin 中的“%”表示“组”,即“管理组”。如果 apache 用户不在该组中,则此行将不适用于它。

尝试

    www-data ALL=(ALL) NOPASSWD: ALL

请注意,这一点也不安全。您应该限制该特定用户可用的命令。这可以通过明确给出它们或定义 Cmnd_Alias 来完成(请参阅 man sudoersvisudo 中的示例)。

关于linux - 使用 sudo 运行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9800863/

相关文章:

linux - 利用缓冲区溢出 shellcode

c - 为 linux 和 windows 定义运行路径

linux - 在 Linux DR 数据库服务器重新启动期间安全停止和重新启动 Oracle Golden Gate 复制的过程

android - 如何登录android设备并执行命令

linux - Pulseaudio - 组合麦克风流以在组合扬声器接收器上播放输出

linux - bash脚本: word occurrences in web sites

linux - 如何在 bash 中以不同名称但相同扩展名将多个文件复制到同一目录中?

linux - 如何在 Ubuntu 上找到多个工作进程的父进程(其 ppid=1)?

c# - C# 中的 openssl 以匹配 linux 中的 openssl des-ede3-cbc

linux - TomEE 说开始了,但事实并非如此