2016-07-29 17 views
1

私はRundeckにはかなり新しく、Jenkinsの代替として評価しています。Rundeck - 別のユーザーとしてlocalhost上でジョブを実行

Rundeckサーバー上の特定のユーザー(例:ubuntu)として実行する必要があるすべてのコマンドがあります。&

私は/etc/rundeck/framework.propertiesframework.ssh.user = Ubuntuの)と/var/rundeck/projects/myproject/etc/resources.xmlのようないくつかの場所で変更設定を試してみました(localhostノードの場合username = "ubuntu")しかし、私の仕事はとにかくユーザー 'rundeck'として常に実行されます。それは最初はそれを達成するのが簡単だと思っていたので、とてもイライラしています。

だから私は何かを逃していますか、またはRundeckはスクリプトをローカルで別のユーザーとして 'rundeck'に実行できませんか?

UPDATE: 私はそれが私のスクリプトはrundeckからUbuntuのように実行して、私はそれに「sudoの-uのUbuntu」のように設定することができ、事前オプション呼び出し文字列で[スクリプトステップを使用することですが、今の一つの解決策を見つけました。

しかし、sudoを使用するのはまだそれほど便利ではありません。たとえば、問題を残している環境変数です。

+0

スクリプトを目的のユーザーと一緒に実行できますか? – Fabio

+0

@Fabio実際には、私たちが使っている他のツールやフレームワークとの互換性のために 'ubuntu'として実行する必要があります。私たちには、他のツールを呼び出すスクリプトやコマンドがたくさんあります。つまり、今のところ私たちのためのオプションではなく、ubuntu自身に切り替える必要があります。 – Arcobaleno

+0

他のスクリプトをUbuntuとして実行する単一のスクリプトを持つのはどうですか?最初の引数として元のスクリプトを渡し、次の引数として他の引数を渡すことができます。それはもっと現実的ですか? – Fabio

答えて

0

@Arcobalenoあなたはsundセットアップを使用するためにrundeckサーバーにディスパッチする必要があります。 「ローカルコマンド」またはディスパッチされないコマンドステップは、プラグインポイントであるローカルノード実行プログラムを使用します。ローカルノードエグゼキュータを作成して、必要なユーザーに暗黙的にsudoしてコマンドを実行することができます。

+0

これは私にとって非常に新しいものですので、具体的に教えてください。Command、Script、Local Commandで試してみました。また、Commandsタブのターゲットノード(localhost)でコマンドを実行してみてください。それらのいずれかあなたが言及したローカルノードエグゼキュータ?ローカルノードエグゼキュータをどのように作成できないのですか? – Arcobaleno

0

ローカルホストからローカルホストにssh(リモートサーバとしてlocalhostを装う)する必要があります。

すなわち~/.ssh/authorized_keys

[ubuntu]$ ssh [email protected] with passwordless ssh. 

コピーid_rsa.pub。 (id_ras.pubは、デフォルトの場所/var/lib/rundeck/.ssh/id_rsa.pub.に格納されています)。

次に、ubuntu envを使ってプログラムを実行できます。

これは私のために働く。

関連する問題