2017-06-05 6 views
0

私は新しいftpユーザーとディレクトリを作成し、そのディレクトリに対してのみアクセス許可を与えようとしています。しかし、問題は、作成されたユーザーのパスワードを設定するときです。これは、ユーザーが作成されますが、私は彼のためにホームディレクトリに/home/kwgazl69' ... Copying files fromは/ etc/skelの作成ftpユーザーにランダムなパスワードを与える

をパスワードを設定しようとすると、私はこれを取得」...新しいUNIXパスワードを入力します。passwdを:ユーザtest123」は

存在しません

何が間違っていますか?ここでは...新しいUNIXパスワードを入力したコード

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

echo $ssh->exec("adduser --force-badname $randomNum"); 
echo $ssh->exec("passwd test123"); 

echo $ssh->exec("cp -r $src $dest"); 
echo $ssh->exec("usermod -d $dest $randomNum"); 

echo $ssh->exec("cd $dest && ./samp03svr"); 

$ssh->disconnect(); 

ユーザーln2i78yt' ... Adding new group ln2i78yt '(1010)...新しいユーザーln2i78yt' (1010) with group ln2i78ytを追加する' を追加しています...作成ホームディレクトリ/home/ln2i78yt' ... Copying files fromの/ etc/skelのは」です。 passwd:認識できないオプション '--stdin'使用法:passwd [options] [LOGIN]オプション:-a、--allすべてのアカウントのパスワードステータスを報告する-d、--delete指定されたアカウントのパスワードを削除する-e、 expire force指定されたアカウントのパスワードを期限切れにする-h、--helpこのヘルプメッセージを表示して終了する-k、--keep-tokens期限切れのときにのみパスワードを変更する-i、--inactive INACTIVE INACTIVEに満了後にパスワードを無効にする-l 、--lock指定されたアカウントのパスワードをロックする-n、--mindays MIN_DAYS se MIN_DAYS -qにパスワードを変更するまでの最小日数-r、--repository REPOSITORY REPOSITORYリポジトリのパスワードを変更する-R、 - CHROOT_DIRディレクトリを-Sにchrootする--statusレポートのパスワードステータス--unlock指定されたアカウントのパスワードをロック解除する-w、--warndays WARN_DAYS WARN_DAYS -xに期限警告日を設定する--maxdays MAX_DAYS MAX_DAYSにパスワードを変更するまでの最大日数を設定する

答えて

0

passwdは、第一パラメータは、ユーザ名であることを期待し、その後それが二回パスワードの入力を要求します。 chpasswdという別のコマンドを使用することができます。コロンで区切られたユーザー名とパスワードが必要です。

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

echo $ssh->exec("adduser --force-badname $randomNum"); 
echo $ssh->exec("echo \"$randomNum:test123\" | chpasswd"); 

echo $ssh->exec("cp -r $src $dest"); 
echo $ssh->exec("usermod -d $dest $randomNum"); 

echo $ssh->exec("cd $dest && ./samp03svr"); 

$ssh->disconnect(); 
+0

ありがとうございますが、どうすれば自分のディレクトリとサーバーファイルへのアクセス権を与えることができますか?新しいユーザーはrootでもアクセスできます – Nathaniel

+0

ファイルとディレクトリのアクセス権を設定して、ディレクトリ。このリンクをチェックしてください:https://www.linux.com/learn/understanding-linux-file-permissions – Boshentz

0

実際には、パスワードを 'test123'に設定するのではなく、ユーザー 'test123'のパスワードを変更しようとしています。

あなたはSTDINにパスワードを渡す、そうする必要があります。

echo $ssh->exec('echo -e "test123\ntest123" | passwd ' . $randomNum); 
+0

私は本当にそれを取得しません。コードがPHPの場合、関数内にどのようにエコーすることができますか? – Nathaniel

+0

私の答えを編集しました - 私はbash 'echo'を意味しました。 – Farkie

+0

私はまだそれを働かせることができません私は私の質問を編集してくださいログを確認してください – Nathaniel

関連する問題