特定のcronジョブを実行するためにUbuntu 11.04(adduser --system
)で「システム」ユーザーを作成しましたが、そのユーザーとしてコマンドを手動で実行してテストすることもできます。これを行う最も簡単な方法は何ですか?
su
は機能しません。これは、ユーザーがシェルとして/bin/false
を持っているためです(cronでは問題ありません)。シェルを手動で/bin/bash
に変更してテストを行ってから、もう一度元に戻しましたが、もっと簡単な方法はありますか?
ルートシェルからsu - targetuser -s /bin/bash
を使用しています。
直接コマンドを実行するには、-c
を使用します。
su - targetuser -s /bin/bash -c "/bin/echo hello world"
Sudoを使用します。これは、ユーザーが実際のシェルを持っていない場合でも機能します。