コミットが受信されたときに、マシン上のリポジトリの別のクローンが更新されるように、git post-receive フックを設定しようとしています (つまり、 を実行しますgit pull origin master
)。私はリポジトリを提供するために gitosis を使用しています。gitosis
そのため、受信時に更新したいリポジトリはwww-data
. これを行うにはどうすればよいですか?
スクリプトについて聞いたことsetuid
がありますが、これがセキュリティ リスクになるかどうかはわかりません。それがセキュリティ上のリスクでない場合、どうすればこれを行うことができますか? スクリプトを所有しwww-data
、誰でも実行できるようにして、setuid ビットを有効にするようなことをすると思いますか? このスクリプトは、リポジトリを更新するだけなので、ほとんど無害だと思いますが、確認したいと思います。ありがとう!
編集:これを使用してこれを行う方法はありますsudo
か? それはより安全setuid
でしょうか?つまり、ユーザーが root でなくても大きな問題はないと思いますが、スクリプトを実行するsetuid
には、いくつかの手順を踏まなければならないように思えます。setuid
2番目の編集:魔法と. 代わりにこれを ServerFault に投稿するべきだったのかもしれませんが、少なくとも私はこの努力から少し学びました。/etc/sudoers
sudo -u