Copia le autorizzazioni dei file da una directory a un'altra


17

Durante il fine settimana ho copiato i dati della nostra azienda da un disco rigido a un altro più grande. Pensavo che il permesso sarebbe stato copiato, ma loro no.

Qual è il modo migliore (e più veloce) per copiare le autorizzazioni originariamente impostate sui miei nuovi dati, senza dover copiare di nuovo tutti i dati? I miei utenti stanno ora accedendo ai dati, quindi non voglio ricopiarli poiché le modifiche potrebbero andare perse.

I dati sono ospitati su Windows Server 2008 R2

Risposte:


17

Penso che questo farà il lavoro:

robocopy source destination /E /COPY:SOU /xo /xn /xc /xx /LOG+:F:\Sec.log.

Copie " SOU ": S = Informazioni sulla sicurezza (ACL NTFS), O = Informazioni sulla proprietà, U = a Informazioni di aggiornamento

Se il problema persiste, è possibile utilizzare questo comando per eseguire il backup delle autorizzazioni NTFS:

icacls d:\data /save ntfspermissions.txt /t /c

L' opzione / T consente anche di ottenere autorizzazioni per le sottocartelle. L' opzione / C consente di continuare anche se si verificano errori (anche se gli errori verranno comunque visualizzati).

E quindi utilizzare questo comando per ripristinare le autorizzazioni:

icacls d:\ /restore ntfsperms.txt

Si noti che nel comando per salvare le autorizzazioni, ho specificato la cartella di destinazione D:\Data, ma quando le ho ripristinate, ho specificato proprio D:\come destinazione. Potresti pensare di specificare D:\come target nel comando restore in qualche modo confondere le autorizzazioni su altre cartelle a quel livello, ma come puoi vedere dal file di output ntfspermissions.txt, ha solo informazioni sulla cartella Data e sulle sottocartelle, in modo che è tutto ciò che cambierà.


1
Penso che icacls sia la risposta qui. +1
MDMarra,

concordato. dal momento che non può ricopiare i dati poiché i dati sono già in uso e probabilmente cambiati, icacls per esportare / importare le autorizzazioni sembra essere il modo migliore per andare.
Rex

Grazie per tutto il vostro aiuto, sto esportando icacls mentre scrivo e proverò ad importare in seguito. La prossima volta mi ricorderò di controllare sempre i miei permessi
Simon Foster,

3

Utilizzando PowerShell:

Get-Acl 'source path' | Set-Acl 'destination path'

1
Stavo cercando lo stesso moreless. Mi sembra che questa sia una vera risposta. Altri dicono cosa fare prima della copia, non dopo come richiesto
alvaroc il

0

Puoi provare a usare Robocopy . AFAIK funziona ancora su versioni più recenti di Windows.


Conosci la sintassi di cui ho bisogno? Ho provato la destinazione di origine robocopy / secfix / xo / xn / xc dalla pagina sopra e genera un errore sul non sapere quali permessi copiare
Simon Foster,

1
Questo perché robocopy funzionerà solo se il contenuto della condivisione è invariato. Sembra che i tuoi utenti lo abbiano probabilmente cambiato, giusto? Non penso che robocopy sia lo strumento da utilizzare ora (avresti dovuto usarlo all'inizio)
MDMarra

Quella guida è per una versione molto antica di robocopy. Quale versione stai usando ora? Si può essere in grado di cavarsela con un / copia: s ora di cambiare solo l'ACL NTFS, ma non sono sicuro ... ti prendo a calci fuori un po 'di prova ora.
HopelessN00b

0

Come diceva Priaeas, robocopy.

Pratica guida di riferimento per gli interruttori da utilizzare .

/ copyall o / copy: DATSOU copia "tutto" (dati, attributi, timestamp, ACL NTFS, informazioni sul proprietario e sul controllo).

/ COPY: copyflag [s]: Cosa COPIARE (il valore predefinito è / COPY: DAT) (copyflags: D = Data, A = Attributes, T = Timestamps S = Security = NTFS ACLs, O = Informazioni sul proprietario, U = aUditing info) .


1
Dice in particolare che non vuole copiare i dati. Inoltre, robocopy copierà la sicurezza solo se i file non sono stati modificati. Dal momento che la quota è in produzione ora, direi che è una scommessa sicura che è cambiato.
MDMarra,

0
xcopy e:\*.* z: /T /E /I /H /K /X /Y

e:era la radice di un'unità fisica con diverse condivisioni e tutti i tipi di blocchi ereditari punteggiati. z:era la "nuova" unità, in questo caso un'unità mappata.

Ha funzionato, non per le condivisioni, ma solo per le autorizzazioni.


-4

Programma gratuito CopyMik con chiavi:

/ CSF [FileMask1 [FileMask2 [....]]]] Copia gli attributi di sicurezza del file. Solo file con la maschera specificata. (maschera predefinita *)

/ CSD [DirMask1 [DirMask2 [....]]]] Copia gli attributi di sicurezza della cartella. Solo cartelle con la maschera specificata. (maschera predefinita *)

http://www.superbasis.de/copymik/index.htm

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.