鳩舎

レースしない

SSHKit within as 順序 意味なし

ruby の SSHKit というのがあって、まぁいろいろ端折ると

on "10.0.0.1" do
  as :root do
    within "/tmp" do
      execute :echo "Hello > log"
    end
  end
end

みたいなのが書けて、『あー 10.0.0.1 に入って rootsudo して /tmpcd して echo するんだなー』みたいな感じの見た目になるが そんなことは一切ない

上記の記述で行われる処理の流れは

  1. cd /tmp
  2. sudo -u root echo Hello > log

の順に行われる。今回の場合は /tmp なので問題にならないけど、コレが特定ユーザーのホームディレクトリで何かしたいとかの時になると途端に破綻する。

SSHKit は便利で最高!