Come posso impostare i permessi di destinazione con rsync (chown chmod)


13

Sto cercando di eseguire un rsync locale, da un punto di montaggio a una cartella locale. Devo impostare il proprietario, il gruppo e le autorizzazioni su impostazioni specifiche. Ecco cosa sto usando:

 rsync -rtlv --chown=process:sambausers --chmod=D770,F770 /mnt/owncloud_mnt/Engineering/ /Drive_D/docs/Engineering_test

Finisco con le autorizzazioni 760 su entrambe le directory e i file e root: root sulla proprietà (rsync viene eseguito come root).

Che cosa sto facendo di sbagliato?

TIA


Il filesystem di destinazione è qualcosa di simile a NTFS, dato che è "Drive_D"?
Sami Kuhmonen,

il filesystem di destinazione è ext4
Roger Creasy l'

L'aggiunta di -p aiuta?
Sami Kuhmonen,

-p fa funzionare chmod sui file spostati. Devo testare per assicurarmi che non sovrascriva le autorizzazioni su alcun file esistente. Grazie. E ho ancora il problema del chown
Roger Creasy,

1
Per questo in realtà hai bisogno di -og credo
Sami Kuhmonen l'

Risposte:


19

È necessario comunicare a rsync che si desidera impostare le autorizzazioni e le informazioni sul proprietario / gruppo. Sarebbe logico supporre che l'avere --chmodo --chowndirebbe ciò, ma non lo fanno.

Per la propagazione delle autorizzazioni è necessario il flag --permso -pe per il proprietario / gruppo è necessario --owner --groupo -ogflag per impostare le informazioni sul proprietario / gruppo / autorizzazione.

La documentazione è un po 'poco chiara, quindi non è chiaro come le autorizzazioni vengono gestite con combinazioni diverse o se i file esistenti sono interessati.


non è ancora chiaro, perché in esecuzione come sudo, cosa che devo fare, i documenti linux.die.net/man/1/rsync sottolineano che puoi impostare la destinazione solo come la fonte. Il problema è che devo impostarlo su come si trova l'utente registrato, ad es$(whoami)
Brian Thomas il

2

Ho trovato questa versione StackOverflow della stessa domanda più utile, perché sembra che Roger e io abbiamo rsyncs con diverse preferenze per il formato di --chmod(il mio è 3.1.3 da un pacchetto Debian).

Come ha detto Sami, a rsync deve essere detto "permessi", quindi includi -po includilo implicitamente usando -a. Ma poi, per far funzionare effettivamente il comando, è necessario (ad esempio per le directory 755 e i file 644) --chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r, piuttosto che il formato "D755, F644".

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.