【问题标题】:trying to create a ftp user with permissions尝试创建具有权限的 ftp 用户
【发布时间】:2017-06-25 13:56:34
【问题描述】:

所以我正在尝试创建一个 ftp 用户并授予他对特定目录的权限,但该用户并未被创建。当我回显命令时,会创建目录并将权限授予用户,但是当我尝试使用创建的凭据登录时,它不起作用。请看一下。我做错了什么?

$randomNum = substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyz"), 0, 8);
$randomPass = substr(str_shuffle("0123456789abcdefghijklmnopqrstvwxyz"), 0, 6);

$src = $request->path;
$dest = "/home/$randomNum";

echo $ssh->exec("mkdir $dest\n");

echo $ssh->exec("useradd -m -d $dest $randomNum\n");
echo $ssh->exec("passwd $randomNum\n");
echo $ssh->read('New password:');
echo $ssh->write($randomPass."\n");

echo $ssh->exec("nice -n 19 cp -Rf $src $dest && chown -Rf $randomNum:$randomNum $dest && exit\n");

$ssh->disconnect();

【问题讨论】:

    标签: php laravel ssh exec phpseclib


    【解决方案1】:

    假设randomNum是用户名,randomPass是密码,dest是主目录,

    改变这个:

    echo $ssh->exec("mkdir $dest\n");
    
    echo $ssh->exec("useradd -m -d $dest $randomNum\n");
    echo $ssh->exec("passwd $randomNum\n");
    echo $ssh->read('New password:');
    echo $ssh->write($randomPass."\n");
    
    echo $ssh->exec("nice -n 19 cp -Rf $src $dest && chown -Rf $randomNum:$randomNum $dest && exit\n");
    

    到这里:

    $ssh->exec("useradd -M " . $randomNum. " -d " . $dest);
    $ssh->exec("echo \"" . $randomNum . ":" . $randomPass . "\" | sudo chpasswd");
    $ssh->exec("chown -R " . $randomNum . ":" . $randomNum . " " . $dest);
    

    【讨论】:

      【解决方案2】:

      来自您的代码:

      echo $ssh->exec("passwd $randomNum\n");
      echo $ssh->read('New password:');
      echo $ssh->write($randomPass."\n");
      

      特别是对于该命令,您需要启用 PTY 模式才能使读/写工作。您可以通过在命令前执行$ssh->enablePTY() 来做到这一点。但是,在命令之后执行$ssh->disablePTY() 可能不是一个坏主意。

      另外,echo $ssh->write($randomPass."\n");... 这不会真正达到预期的效果。 $ssh->write 只是根据写入命令的成功或失败返回真或假。

      【讨论】:

      • 那我可以用什么?
      猜你喜欢
      • 2016-09-16
      • 2011-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多