Je voudrais répliquer les autorisations d'un fichier sur un autre. Je ne veux pas copier les données, seulement les autorisations.
Par exemple, j'ai créé un nouveau fichier et je veux qu'il ait les mêmes autorisations qu'un autre fichier qui existait déjà.
windows-7
file-permissions
acl
TaoTao
la source
la source
Réponses:
Vous pouvez le faire en quelques étapes avec icacls et un éditeur de texte.
Vous devez d'abord enregistrer les autorisations du fichier d'origine
vous devrez modifier le
perms.txt
fichier que vous venez de créer dans le dossier que vous avez exécutéicacls
. Le fichier devrait ressembler à ceci:Vous pouvez ignorer tout ce qui se trouve sur la 2e rangée, tout ce qui nous intéresse, c'est la première rangée. Remplacez le
file1.bin
par votre nouveau nom de fichierfile2.bin
et enregistrez le fichier.Maintenant, il vous suffit de restaurer les autorisations de fichier sur le 2ème fichier, notez que nous n'avons pas inclus le nom de fichier cette fois. (Si vous obtenez une erreur indiquant que « tous les privilèges ou groupes référencés ne sont pas attribués à l'appelant », exécutez à nouveau le programme dans une invite de commandes élevée.)
la source
File.GetAccessControl()
etFile.SetAccessControl()
Pour le faire dans un lot (copier les autorisations de sécurité d'un sous-dossier ou de tous les dossiers d'un lecteur vers le même dossier / fichier de restriction sur un autre lecteur), créez un, disons, un
cpdacls.bat
fichier avec ce contenu:Et puis lancez-le comme
cpdacls.bat e:\ f:\
.Notez que la structure de dossiers dans le dossier de destination doit être la même que la structure de dossiers dans le dossier source, prise à partir de sa racine , sans dépendre du sous-dossier que vous avez spécifié comme dossier source.
la source
La manière la plus simple, de loin, est d'utiliser PowerShell et d'exécuter:
la source