Мерзавец постполучает крюк, чтобы обновить местного клона, принадлежавшего другому пользователю

Я пытаюсь настроить мерзавца, постполучают крюк, таким образом, что, когда передавание получено, другой клон хранилища на машине обновлен (т.е. делает a git pull origin master). Я использую gitosis, чтобы служить хранилищу и как таковой, я полагаю, что постполучить крюком будут управлять как gitosis пользователь, тогда как хранилище я хочу обновить на получении, принадлежит www-data. Как я должен пойти о выполнении этого?

Я услышал о setuid сценарии, но я не уверен, могло ли это быть угрозой безопасности? И если бы это не угроза безопасности, как я пошел бы о выполнении этого? Я предполагаю, что сделал бы что-то, любят, делают сценарий принадлежавшим www-data и сделайте это мировым выполнимым и позвольте бит setuid? Я предполагаю, что этот сценарий был бы в значительной степени безопасен начиная со всего, что он делает обновить хранилище, но я хочу быть уверенным.Спасибо!

Править: Есть ли любой способ сделать это использование sudo? Был бы это быть более безопасным, чем setuid? Я имею в виду, я не думаю, что есть много проблемы с setuid если бы пользователь не корень, но все равно кажется, что я должен был бы подскочить через несколько обручей, чтобы получить a setuid сценарий, чтобы бежать.

Второй отредактируйте: кажется, что я мог бы быть в состоянии сделать это с некоторыми /etc/sudoers волшебство и sudo -u. Возможно, я должен был разместить это на ServerFault вместо этого, но по крайней мере я узнал о немного из этого усилия.

10
задан raven 26 December 2009 в 16:39
поделиться