¿Cómo configuro los permisos de destino con rsync (chown chmod)

13

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

Roger Creasy
fuente
¿Es el sistema de archivos de destino algo así como NTFS, ya que es "Drive_D"?
Sami Kuhmonen
sistema de archivos de destino es ext4
Roger Creasy
¿Agregar -p ayuda?
Sami Kuhmonen
-p hace que funcione chmod en archivos movidos. Sin embargo, necesito hacer una prueba para asegurarme de que no sobrescribe los permisos en ningún archivo existente. Gracias. Y todavía tengo el problema de la comida
Roger Creasy
1
Para eso realmente necesitas -og creo
Sami Kuhmonen

Respuestas:

19

rsync necesita que le digan que desea establecer los permisos y la información del propietario / grupo. Sería lógico suponer que tener --chmodo --chowndecir eso, pero no lo hacen.

Para que se propaguen los permisos, necesita el indicador --permso -py para el propietario / grupo que necesita --owner --groupo -ogindicadores 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.

Sami Kuhmonen
fuente
todavía no está claro, porque al ejecutarse como sudo, lo que necesito hacer, los documentos linux.die.net/man/1/rsync señalan que solo puede establecer el destino igual que la fuente. El problema es que necesito configurarlo como lo que es el usuario registrado, por ejemplo$(whoami)
Brian Thomas
2

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".

FarFetchd
fuente