ぐるっとぐりっど

日曜プログラマがいろいろ試してみたことを、後の自分のためにまとめておく場所

自動デプロイ用シェルスクリプトがsetuidしてるのにそのユーザで動作しない

jenkins+CakePHPで、継続的インテグレーション&継続的デリバリーしようと思って、いろいろごちゃごちゃやってたけど、うまく動かない。

jenkinsを起動しているユーザとウェブサーバを動かしているユーザが違うので、パーミッションでごちゃごちゃしてるから、デプロイスクリプトを実行するジョブを、テストジョブが通ったら自動で実行させようと思ったのに、デプロイスクリプトが動作しない

具体的には、chmod u+s ほげほげ.sh しているはずなのに、どうみてもシェルスクリプトの所有ユーザの権限で動いていない。

おかしいおかしいと調べたところ、最近のLinuxディストリビューションでは、シェルスクリプトのsetuidを無視するという記述のあるウェブページにたどり着いた。

http://www.asahi-net.or.jp/~aa4t-nngk/perm.html#filespl

なんだそれ。恐ろしい

うまくやる方法を今後検討しよう