GNU/Linux >> Tutoriales Linux >  >> Linux

Problemas con el comando Rsync, los permisos de propietario y grupo no cambian

Solución 1:

La versión 3.1.0 de rsync introdujo el --usermap y --groupmap mencionado por Thomas, pero también la opción de conveniencia --chown , que funciona bien para su escenario.

--chown=USER:GROUP
    This option forces all files to be owned by USER with group GROUP.
    This  is  a  simpler  interface  than  using  --usermap  and  --groupmap directly,
    but  it  is implemented using those options internally, so you cannot mix them.
    If either the USER or GROUP is empty, no mapping for the omitted user/group will
    occur.  If GROUP is empty, the trailing colon may be omitted, but if USER is
    empty, a leading colon must  be supplied.

    If you specify "--chown=foo:bar, this is exactly the same as specifying
    "--usermap=*:foo --groupmap=*:bar", only easier.

Además, el -o y -g se requieren opciones. Excluirlos no actualizará su atributo respectivo, pero no producirá ningún error.

rsync -og --chown=cmsseren:cmsseren [src] [dest]

Esto se menciona indirectamente en la página de manual, que establece que el --chown la opción "se implementa usando --usermap y --groupmap internamente", y:

Para el --usermap opción para tener algún efecto, el -o (--owner ) debe usarse (o implícitamente), y el receptor deberá ejecutarse como un superusuario (ver también el --fake-super opción).

Para el --groupmap opción para tener algún efecto, el -g (--groups ) se debe usar la opción (o implícita), y el receptor deberá tener permisos para configurar ese grupo.

Solución 2:

Parece que funciona correctamente. Utilice --owner y --group para preservar (no establecido) los nombres de propietario y grupo... lo que significa que no desea que cambien después de la transferencia.

Si no utiliza estas opciones, el usuario y el grupo se cambiarán al usuario que invoca en el extremo receptor. Si desea especificar algún otro usuario, deberá agregar un chown comando a su secuencia de comandos.

-o, --owner
    This option causes rsync to set the owner of the destination file to be 
    the same as  the source file, but only if the receiving rsync is being run 
    as the super-user (see also the --super and --fake-super options). Without 
    this option, the owner of new and/or transferred files are set to the invoking 
    user on the receiving side...

-g, --group
    This option causes rsync to set the group of the destination file to be the same as 
    the source file. If the receiving program is not running as the super-user (or if
    --no-super was specified), only groups that the invoking user on the receiving side
    is a member of will be preserved. Without this option, the group is set to the default
    group of the invoking user on the receiving side...

hombre rsync

Solución 3:

La última versión (al menos 3.1.1) de rsync le permite especificar la "propiedad remota":

--usermap=tom:www-data

Cambia la propiedad de tom a www-data (también conocido como PHP/Nginx). Si está usando Mac como cliente, use brew para actualizar a la última versión. ¡Y en su servidor, descargue fuentes de archivos y luego "hazlo"!


Linux
  1. ¿Precedencia del propietario del usuario y del grupo en los permisos de archivo?

  2. Cómo usar el comando chmod (Modo de cambio) en Linux

  3. 12 ejemplos de comandos Chown de Linux para cambiar propietario y grupo

  4. ¿Cambiar propietario y grupo en C?

  5. Barras y el comando rsync

Comando Chmod:cómo cambiar los permisos de archivo en Linux

Aprenda el uso del comando chgrp (Change Group) en Linux

Aprenda el uso del comando chmod (modo de cambio) en Linux

Aprenda el uso del comando chgrp (cambiar grupo) en el sistema Linux

Comprender los permisos básicos de archivos y la propiedad en Linux

rsync y enlaces simbólicos