文件:shutdown.sh

文件:shutdown.sh

我有一个基于 apache2 和 php5 的 Web 服务器。我想使用 Web 服务器关闭计算机,但要关闭计算机,当前用户必须是“root”用户,因为关闭 PC 的命令“shuwdown -h now”必须在 root 用户下执行。php
用户名为“www-data”。

我有这样的文件

文件:shutdown.sh

#!/bin/bash
echo $(shutdown -h now);

文件:shutdown.php

如果调用该脚本,则应执行脚本“shutdown.sh”。
<?php
echo "Shutdown";
echo exec ( 'shutdown.sh' );
?>

问题:如何以 root 用户身份(无需密码)执行文件“shutdown.sh”。或者还有其他方法吗?

答案1

您可以授予 www-data 执行关机命令的权限。试试这个:

以 root 身份使用命令“visudo”编辑 /etc/sudoers 文件。最后几行应如下所示:

# 命令别名规范

# 用户权限规范

根 ALL=(全部:全部) 全部

# admin 组的成员可以获得 root 权限

%admin 全部=(全部) 全部

因此,在文件末尾插入:

www-data ALL = NOPASSWD: /sbin/shutdown

然后退出编辑器并保存(CTRL+x)。

用户 www-data 应该能够立即调用关机,无需 sudo 密码。

相关内容