Ubuntu実行ユーザーコマンド?

Ubuntu実行ユーザーコマンド?

特定のユーザーでコマンドを実行する必要があるbashスクリプトを作成しています。その結果、次のコマンドを使用します。

runuser

このスクリプトをテストしましたが、Ubuntu Server 14.10で完全に動作します。ただし、14.04および12でテストすると、次のエラーが発生しました。

runuser: command not found

これはrunuserコマンドが使用されるたびに発生します。

新しいユーザーを作成するには、次のコマンドを使用します。

adduser --no-create-home --home "/home/$homedir" --disabled-password --gecos "$realname" "$uname" ; usermod -p "$passwd" "$uname"

新しいユーザーを作成するときに具体的に指定する必要がありますか?特定の依存関係がありませんか?

質問の編集:

echo $PATH 出力

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/loc‌​al/games

ls -l /sbin/runuserの出力

ls: cannot access /sbin/runuser: No such file or directory

私がrunuserとsuを使用したい理由は次のとおりです。

runuser を使用すると、次のコマンドを実行できます。

runuser user -c 'cd'
runuser user -c 'wget http://file.com'

そして、suを使って次のようにコマンドをリンクする必要があります。

su user -c 'cd; wget http://file.com'

答え1

runuser最新のコマンドで、次に表示されます。ユーティリティLinux 2.23。 Ubuntu 14.04リリースユーティリティLinux 2.20、まだこのコマンドはありません。

runuserあまり役に立ちません。ただsu代わりに使用してください。このコマンドはrunuser user -c 'cd'実際には何もしません。範囲はcd次の呼び出しまで拡張されませんrunuser。とにかくこのコマンドを使用する必要がありますrunuser user -c 'cd && wget http://file.com'。代わりに使用してくださいsu user -c 'cd && wget http://file.com'

関連情報