He creado un webhook en github que llama a mi servidor web para actualizar archivos en la raíz web. He asegurado la parte de envío usando un token en github para que solo las solicitudes de github puedan ejecutar el script. Mi pregunta es, ya que el script se ejecutará como servidor web (www-data), ¿cuál es la mejor manera de otorgarle permisos de escritura al webroot? ¿Es una buena idea dar al usuario del servidor web permisos de escritura en el webroot? Cuales son las alternativas?
2
Respuestas:
Primero escriba un script que realice los pasos exactos de implementación necesarios. Luego otorgue
www-data
los derechos para ejecutar ese script específico a través de sudo. Por ejemplo, usando la siguiente regla de sudoers:(Reemplace "alguien" con la cuenta que realmente posee los archivos de la aplicación web).
El manejador de webhook entonces ejecutaría:
De esta manera, su servidor web puede realizar actualizaciones exactamente como está programado pero aún no tiene acceso innecesario para eliminar archivos o instalar malware en el sitio.
fuente