Copiez les autorisations de fichiers d'un répertoire à un autre

17

Au cours du week-end, j'ai copié les données de notre entreprise d'un disque dur à un autre plus gros. Je pensais que la permission aurait été copiée mais ce n'est pas le cas.

Quelle est la meilleure façon (et la plus rapide) de copier l'autorisation qui a été initialement définie sur mes nouvelles données, sans avoir à recopier toutes les données à nouveau? Mes utilisateurs accèdent maintenant aux données, donc je ne veux pas recopier les données car les modifications pourraient être perdues.

Les données sont hébergées sur Windows Server 2008 R2

Simon Foster
la source

Réponses:

17

Je pense que cela fera le travail:

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

Copies " SOU ": S = Informations de sécurité (ACL NTFS), O = Informations de propriété, U = aInformations de mise à jour

Si cela ne fonctionne pas, vous pouvez utiliser cette commande pour sauvegarder les autorisations NTFS:

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

Le commutateur / T lui permet également d'obtenir des autorisations de sous-dossier. Le commutateur / C lui permet de continuer même si des erreurs sont rencontrées (bien que des erreurs soient toujours affichées).

Et puis utilisez cette commande pour restaurer les autorisations:

icacls d:\ /restore ntfsperms.txt

Notez que dans la commande pour enregistrer les autorisations, j'ai spécifié le dossier cible D:\Data, mais lorsque je les ai restaurés, je l'ai spécifié D:\comme cible. Vous pourriez penser que spécifier D:\comme cible dans la commande de restauration peut gâcher les autorisations sur d'autres dossiers à ce niveau, mais comme vous pouvez le voir dans le fichier de sortie ntfspermissions.txt, il ne contient que des informations sur le dossier Data et ses sous-dossiers, de sorte que c'est tout cela va changer.

Kalatzis Stefanos
la source
1
Je pense que icacls est la réponse ici. +1
MDMarra
D'accord. comme il ne peut pas recopier les données car les données sont déjà en cours d'utilisation et probablement modifiées, icacls pour exporter / importer les autorisations semble être la meilleure façon de procéder.
Rex
Merci pour toute votre aide, j'exporte icacls au fur et à mesure que je tape et j'essaierai d'importer plus tard. La prochaine fois, je me souviendrai de toujours vérifier mes autorisations
Simon Foster
3

Utilisation de PowerShell:

Get-Acl 'source path' | Set-Acl 'destination path'
torvin
la source
1
Je cherchais la même sans moralité. Il me semble que c'est une vraie réponse. D'autres disent quoi faire avant la copie, pas après comme demandé
alvaroc
0

Vous pouvez essayer d'utiliser Robocopy . AFAIK, il fonctionne toujours sur les nouvelles versions de Windows.

pritaeas
la source
Connaissez-vous la syntaxe dont j'ai besoin? J'ai essayé la destination de la source de robocopy / secfix / xo / xn / xc à partir de la page ci-dessus et cela génère une erreur de ne pas savoir quelles autorisations copier
Simon Foster
1
En effet, robocopy ne fonctionnera que si le contenu du partage est inchangé. On dirait que vos utilisateurs l'ont probablement changé, non? Je ne pense pas que robocopy soit l'outil à utiliser maintenant (vous devriez cependant l'avoir utilisé au début)
MDMarra
Ce guide est destiné à une toute première version de robocopy. Quelle version utilisez-vous maintenant? Vous pourrez peut- être vous en sortir avec un / copy: s maintenant pour ne changer que les ACL NTFS, mais je ne suis pas sûr ... Je vais lancer un petit test maintenant.
HopelessN00b
0

Comme Priaeas l'a dit, robocopy.

Guide de référence pratique pour les commutateurs à utiliser .

/ copyall ou / copy: DATSOU copiera "tout" (données, attributs, horodatages, ACL NTFS, informations sur le propriétaire et l'audit).

/ COPY: copyflag [s]: Que copier (par défaut est / COPY: DAT) (copyflags: D = Data, A = Attributes, T = Timestamps S = Security = NTFS ACLs, O = Owner info, U = aUditing info) .

HopelessN00b
la source
1
Il dit spécifiquement qu'il ne veut pas copier les données. De plus, robocopy ne copiera la sécurité que si les fichiers n'ont pas été modifiés. Puisque la part est en production maintenant, je dirais que c'est une valeur sûre qu'elle a changé.
MDMarra
0
xcopy e:\*.* z: /T /E /I /H /K /X /Y

e:était la racine d'un lecteur physique avec plusieurs partages et toutes sortes de blocs d'héritage parsemés. z:était le "nouveau" lecteur, dans ce cas un lecteur mappé.

Cela a juste fonctionné, pas pour les partages, juste les autorisations.

John Lamb
la source
-4

CopyMik Freeware Program mit Keys:

/ CSF [FileMask1 [FileMask2 [....]]]] Copier les attributs de sécurité des fichiers. Seuls les fichiers avec le masque spécifié. (masque par défaut *)

/ CSD [DirMask1 [DirMask2 [....]]]] Copier les attributs de sécurité du dossier. Seuls les dossiers avec le masque spécifié. (masque par défaut *)

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

user2290929
la source