-1


以下のようなシェルスクリプトを作成しました。

username='root'
sudo -H -u "$username" bash 2<&0 << 'END_COMMAND'
useradd -m -s /bin/bash suhail
passwd suhail
mkdir ~/test
END_COMMAND

しかし、このスクリプトファイルを実行しようとすると、次のように出力されます

user@uvais-desktop:~/ssp$ ./test
sudo: ホスト uvais-desktop を解決できませ
ん 新しい UNIX パスワードを入力してください: 新しい UNIX パスワードを再入力してください: パスワードが一致しません
passwd: 認証トークン操作エラー
passwd: パスワードは変更されていません

新しいユーザーのパスワードを要求することはありません。すべてが一瞬で起こりました。!! 誰か助けてください。

4

1 に答える 1

0

1 つの問題は、passwd を実行できないことです。スクリプトでは実行できないパスワードを 2 回書き込むように求められます。したがって、パスワードを 1 回入力してから 2 回目に入力するmkdir ~testと、「申し訳ありませんが、パスワードが一致しません」というメッセージが表示されます。

passwd suhail の代わりに以下を試してください:

echo suhail| passwd $username --stdin
于 2013-02-26T05:00:36.483 に答える