特定のユーザーでコマンドを実行する必要がある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/local/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'
。