Estoy tratando de configurar un gancho post-recepción git de modo que cuando se recibe una confirmación, se actualice otro clon del repositorio en la máquina (es decir, hace un git pull origin master
). Estoy usando gitosis para servir el repositorio y, como tal, creo que un gancho post-recepción se ejecutará como el usuario gitosis
, mientras que el repositorio que deseo actualizar en una recepción es propiedad de www-data
. ¿Cómo debo hacer esto?Git gancho post-recepción para actualizar un clon local propiedad de un usuario diferente
He escuchado acerca de las secuencias de comandos setuid
pero no estoy seguro de si esto puede ser un riesgo de seguridad? Y si no se trata de un riesgo para la seguridad, ¿cómo haré esto? Supongo que haré algo así como hacer que el script sea propiedad de www-data
y convertirlo en ejecutable en el mundo y habilitar el bit setuid. Supongo que este script sería bastante inofensivo, ya que todo lo que hace es actualizar el repositorio, pero quiero estar seguro. ¡Gracias!
Editar: ¿Hay alguna manera de hacer esto usando sudo
? ¿Sería eso más seguro que setuid
? Quiero decir, no creo que haya mucho problema con setuid
si el usuario no es root, pero de todos modos parece que tendría que saltar unos pocos aros para ejecutar una secuencia de comandos setuid
.
Segunda edición: Parece como si podría ser capaz de hacer esto con un poco de magia y /etc/sudoers
sudo -u
. Tal vez debería haber publicado esto en ServerFault en su lugar, pero al menos he aprendido un poco de este esfuerzo.
Sí, el tipo de figura que era más adecuado para ServerFault después de la publicación, pero por lo general vio cosas git aquí. ¿Estás seguro de que la línea permite que la gitosis se ejecute como www-data? No estoy seguro de que sea así.En este momento estoy tratando de hacer algo como esto en/etc/suiders: gitosis ALL = (www-data)/ruta/a/script y la secuencia de comandos tiene el comando git pull. – Ibrahim
Por cierto, ¿cómo se mueve una pregunta como esta a serverfault? – Ibrahim
Los movimientos son realizados por moderadores. – Kimvais