如何使用sudo
从php
运行bash
脚本
index.php
:
<?php
$arg;
exec("sudo /var/www/script", $arg);
?>
脚本:
!#/bin/bash
echo YOUR ARG IS $1;
sudoers www-data ALL=NOPASSWD /var/www/my
chmod 755 /var/www/my
首先,你不能像那样直接sudo
它。因此,您必须更改 sudoers 文件中的一些配置。
在控制台中运行sudo visudo
,在文件末尾添加以下行
nobody ALL = NOPASSWD: /var/www/script
PS:像这样使用脚本是一种安全风险,有时会在很大程度上破坏数据安全,所以我的建议是不要那样调用您的脚本。