Controlla l'utente e il gruppo rsync sul lato ricevente


1

Ho un comando rsync per eseguire il backup di una directory da un server remoto a un NAS locale sulla mia LAN, montato sul mio server. Sto usando con per invocare il comando

rsync --rsh='ssh -pxxx' -rultxz xxx.xxx.xxx.xxx:/path/to/directory/ /media/mountpoint/directory/

Il problema è che le directory non stanno ricevendo permessi di propper, e questo sta rovinando il trasferimento. Ecco cosa succede: il mountpoint ha l'autorizzazione 777

La prima cartella creata ottiene 744

RSync ha esito negativo poiché non è possibile aggiungere altri file e directory con

mkdir: Permission denied (13)

Le cartelle vengono create localmente con un ID utente che non esiste sul sistema (1028) e che non esiste neanche un gruppo. Immagino che provengano dalla posizione remota.

La domanda è: come posso controllare le autorizzazioni cartella / file create sul lato ricevente in modo da poterle mappare a un utente locale e impostare le autorizzazioni?

Ho provato a usare il flag -p e

--chmod=u+rwx,g+rwx,o+r 

ma ciò non ha fatto alcuna differenza.

Risposte:


1

Il problema si è rivelato essere il supporto stesso. L'utente che ha invocato RSync tramite cron non era il proprietario del mountpoint e, pertanto, non poteva modificare le autorizzazioni / il proprietario delle directory. Ciò ha creato la situazione in cui l'utente ha creato cartelle che non poteva leggere.

La soluzione era aggiungere --super al comando e includere l'utente nel gruppo sudo (e riavviare)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.