我正在尝试使用 vpopmailvadddomain
添加新的虚拟域。由于apache
用户无法访问 vpopmail 的二进制文件,我不能exec('../bin/vadddomain...')
直接从 PHP 访问。
我做了一个shell脚本(adddomain.sh
)如下:
#!/bin/bash
cd /home/lxadmin/mail/bin
./vadddomain $1 postmaster_password
并将这一行附加到/etc/sudoers
使用visudo
(暂时忘记安全性):
ALL ALL=NOPASSWD: /home/lxadmin/mail/bin/adddomain.sh
我的 PHP 脚本中有这样的内容:
exec('sudo /home/lxadmin/mail/bin/adddomain.sh example.com', $output);
但这根本不起作用(域example.com
不会添加到 vpopmail)。但是当我通过 SSH 和 root 用户运行这个命令时,它可以工作。
谁能告诉我这里有什么问题?