¿Cómo debo rsync archivos en /var/www si quiero que sean propiedad de www-data?

¿Cómo debo rsync archivos en /var/www si quiero que sean propiedad de www-data?

Configuré una nueva caja ec2 ubuntu e instalé apache y php5. De forma predeterminada, inicia sesión en el cuadro con el ubuntuusuario que tiene sudoprivilegios.

Creo que Apache se ejecuta como rooty php5 se ejecuta como www-data.

Creo que quiero que todos los archivos /var/wwwse cambien a www-data:www-data, y las carpetas se establezcan como 755 y los archivos como 644, a menos que haya un problema con eso.

Las cosas funcionan bien así, pero mi problema es que cuando rsyncarchivo desde mi computadora portátil al servidor, cambia la propiedad de ellos (y agrega nuevos archivos) comoubuntu:admin

Revisé el rsyncmanual y busqué en Google, y vi una sintaxis como:

rsync -avzcO (source) (destination) --owner=www-data --group=www-data

Sin embargo, parece que --ownerno --groupaceptan un argumento, sino que están destinados a forzar que los archivos remotos tengan el mismo propietario que en el sistema de archivos local si rsync se realiza como superusuario.

Entonces, no he encontrado una solución con rsync para configurar el usuario remoto y el grupo de archivos durante rsync.

¿Qué estoy haciendo mal?

Pensamientos:

  • ¿Quizás mis archivos en /var/www deberían ser propiedad de ubuntu:admin?
  • Quizás tengo mal la sintaxis de rsync
  • Supongo que podría rsync como www-datausuario, pero no parece una buena idea.
  • Podría usar suPHP como lo haría en un host compartido, pero eso parece bastante problemático.

Respuesta1

No quieres que sean propiedad de www-data. Apache inicialmente se ejecuta como root y luego otorga privilegios a www-data. No desea que el usuario propietario de los procesos de Apache pueda escribir en su contenido web. Esto crea una vulnerabilidad de seguridad.

En caso de que Apache sea violado, lo ideal es que el usuario de www-data no tenga acceso a nada del sistema. Esta es la configuración más segura. Si el contenido web es propiedad de www-data, si Apache tiene fallas, el atacante puede sobrescribir cualquier contenido web.

Su contenido web debe ser propiedad de un usuario normal (esto excluye nobodya www-datay root). Sólo cosas quenecesidadPara que Apache pueda escribirlo debe ser propiedad de www-data.

información relacionada