Chef(Chef-solo)のレシピの書き方について教えてください。


レシピにこのように書いて実行したところ、
execute "jikken" do
user "vagrant"
command <<-EOH
whoami
echo "----"
env
EOH
action :run
end

=== 実行結果 ===
vagrant
----
HOSTNAME=localhost.localdomain
TERM=dumb
SHELL=/bin/bash
HISTSIZE=1000
LC_ALL=C
USER=root
LS_COLORS=
SUDO_USER=vagrant
SUDO_UID=501
USERNAME=root
MAIL=/var/spool/mail/vagrant
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/chef/embedded/bin:/opt/chef/embedded/bin:/usr/local/sbin:/usr/local/bin
PWD=/
LANG=en_US.UTF-8
HOME=/root
SUDO_COMMAND=/vagrant/chefrepo/run.sh
SHLVL=2
LOGNAME=root
SUDO_GID=501
=================

環境変数がrootのそれを引き継いでしまっているようです。

"su - vagrant"的なことをしたいのですが、どのようにすればよいでしょうか?

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2013/10/25 19:15:28
  • 終了:2013/11/01 19:20:03

回答(1件)

id:rx7 No.1

Y.Namikawa / id:rx7回答回数38ベストアンサー獲得回数92013/10/29 22:37:41

ポイント200pt

未確認ですが、executeやscriptを使っているのであれば、
"sudo -u vagrant コマンド"みたいな感じで、
sudoをかましてみてはどうでしょうか?
(うまく動かない、的を外した回答、であればポイントは不要です。)

id:DQNEO

なるほど、やってみます。

2013/10/29 23:50:52

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません