PHP将用户添加到ubuntu,但没有设置正确的主目录


PHP adduser to ubuntu not setting right home directory?

我有这个PHP代码

<?php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

if(!empty($_GET) && !empty($_GET['user']) && !empty($_GET['mem']) && !empty($_GET['id']) &&!empty($_GET['k'])) {
    $user = $_GET['user'];
    $mem = $_GET['mem'];
    $id = $_GET['id'];
    $pass = $_GET['k'];
    $name =  $user."-".$id;
    $directory = "/home/servers/".$name;
    $salt = dechex(mt_rand(0, 2147483647)) . dechex(mt_rand(0, 2147483647)); 
    echo "User: ".$user; 
    echo "<br/>";
    echo "Memory: ".$mem;
    echo "<br/>";
    echo "ID: ".$id; 
    echo "<br/>";
    echo "Pass: ".$pass;
    echo "<br/>";
    echo "Directory: ".$directory;
    echo "<br/>";
    echo "<br/>";
    echo "name: ".$name;
    echo "<br/>";
    if (!file_exists($directory)) {
        mkdir($directory, 0, true);
    }
    else {
        echo "Dir already exists?";
    }
    $outputuser = shell_exec("sudo useradd -s /bin/false -d ".escapeshellarg($directory)." -p ".crypt($pass,$salt)." ".escapeshellarg($servername));
}

?>

现在,当我运行页面时,我得到了这个输出

用户:托洛茨基94内存:1024ID:1通过:测试目录:/home/servers/trottski94-1名称:托洛茨基94-1目录已存在?

这是意料之中的。但是当我在ubuntu机器上登录时,它说没有主目录,而是使用/as-home,为什么-d标志没有设置主目录?

通过以下方式检查用户目录:cat/etc/passwd | grep trotski94

mayby escapestellarg可能会破坏