【发布时间】:2021-05-27 20:13:26
【问题描述】:
我有一个可用的 bash 脚本,它可以在我的服务器上创建一个新用户。
#!/usr/bin/env bash
if [[ $# -eq 0 ]] ; then
exit 0
fi
username=${1?Error: no name given}
password=${2?Error: no password given}
echo "* Adding new user $username"
useradd -s /bin/bash -m -d /home/$username $username
echo "$username:$password" | chpasswd
echo "* Password set for user $username"
我想要一个运行此代码并在服务器上创建用户的 php 页面。
<?php
$username = $_POST['uname'];
$password = $_POST['psw'];
echo "$username";
echo "$password";
$output = exec("sudo ./createuser.sh $username $password");
echo "$output";
?>
但是当我运行 php 页面时,没有添加任何用户。我该如何解决这个问题
【问题讨论】:
-
您尝试从您的 PHP 代码中执行一个 sudo 命令,该代码可能不是以 root 身份运行的。这是不允许的。见stackoverflow.com/questions/3173201/sudo-in-php-exec。