PHP adduser到ubuntu没有设置正确的主目录?

时间:2013-11-23 13:16:45

标签: php ubuntu

我有这个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));

}


?>

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

User: trotski94
Memory: 1024
ID: 1
Pass: test
Directory: /home/servers/trotski94-1

name: trotski94-1
Dir already exists?

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

1 个答案:

答案 0 :(得分:0)

检查用户目录:      cat / etc / passwd | grep trotski94

mayby escapeshellarg可能会破坏某些东西