Estoy tratando de hacer un rsync local, desde un punto de montaje a una carpeta local. Necesito establecer el propietario, el grupo y los permisos en configuraciones específicas. Esto es lo que estoy usando:
rsync -rtlv --chown=process:sambausers --chmod=D770,F770 /mnt/owncloud_mnt/Engineering/ /Drive_D/docs/Engineering_test
Termino con los permisos 760 en directorios y archivos, y root: root en propiedad (rsync se ejecuta como root).
¿Qué estoy haciendo mal?
TIA
Respuestas:
rsync necesita que le digan que desea establecer los permisos y la información del propietario / grupo. Sería lógico suponer que tener
--chmod
o--chown
decir eso, pero no lo hacen.Para que se propaguen los permisos, necesita el indicador
--perms
o-p
y para el propietario / grupo que necesita--owner --group
o-og
indicadores para que se establezca la información del propietario / grupo / permiso.La documentación está un poco poco clara, por lo que no está claro cómo se manejan los permisos con diferentes combinaciones o si los archivos existentes se ven afectados.
fuente
$(whoami)
Encontré que esta versión de StackOverflow de la misma pregunta es más útil, porque parece que Roger y yo tenemos rsyncs con diferentes preferencias para el formato
--chmod
(el mío es 3.1.3 de un paquete Debian).Como dijo Sami, rsync necesita que se le digan "permisos", por lo tanto
-p
, inclúyalo o hágalo implícitamente usando-a
. Pero luego, para que el comando se ejecute realmente, necesita (por ejemplo, para los directorios 755 y archivos 644)--chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r
, en lugar del formato "D755, F644".fuente