Linuxの「システム」ユーザーとしてコマンドを実行します(shell = / bin / false)


29

Ubuntu 11.04(adduser --system)で特定のcronジョブを実行するための「システム」ユーザーを作成しましたが、そのユーザーとしてコマンドを手動で実行してテストすることもあります。これを行う最も簡単な方法は何ですか?

suユーザーが/bin/falseそのシェルとして持っているため、動作しません(cronには問題ありません)。/bin/bashテストを行うためにシェルを手動で変更してから、再び元に戻していますが、もっと簡単な方法はありますか?

回答:


41

su - targetuser -s /bin/bashルートシェルから使用します。

直接コマンドを実行する場合-c

su - targetuser -s /bin/bash -c "/bin/echo hello world" 

動作します、ありがとう!-sオプションを見逃したのはどうしてですか?
EMP

3
-c "your_command_here"オプションを追加して、実行したいコマンドを渡すのではなく、シェルを待ってから新しいプロンプトで入力することもできます。
-dmourati

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.