Copie los permisos de archivo de un directorio a otro


17

Durante el fin de semana copié los datos de nuestra compañía de un disco duro a otro más grande. Pensé que el permiso se habría copiado pero no lo han hecho.

¿Cuál es la mejor (y más rápida) forma de copiar el permiso que se configuró originalmente en mis nuevos datos, sin tener que copiar todos los datos nuevamente? Mis usuarios ahora están accediendo a los datos, así que no quiero volver a copiar los datos, ya que se pueden perder los cambios.

Los datos están alojados en Windows Server 2008 R2

Respuestas:


17

Creo que esto hará el trabajo:

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

Copias " SOU ": S = Información de seguridad (ACL de NTFS), O = Información de propiedad, U = aInformación de edición

Si esto no funciona, puede usar este comando para hacer una copia de seguridad de los permisos NTFS:

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

El modificador / T también le permite obtener permisos de subcarpeta. El modificador / C le permite continuar incluso si se encuentran errores (aunque todavía se mostrarán errores).

Y luego use este comando para restaurar los permisos:

icacls d:\ /restore ntfsperms.txt

Tenga en cuenta que en el comando para guardar los permisos, especifiqué la carpeta de destino D:\Data, pero cuando los restauré, especifiqué D:\como objetivo. Puede pensar que especificar D:\como el objetivo en el comando de restauración de alguna manera puede estropear los permisos en otras carpetas en ese nivel, pero como puede ver en el archivo de salida ntfspermissions.txt, solo tiene información sobre la carpeta y subcarpetas de datos, de modo que es todo lo que va a cambiar.


1
Creo que icacls es la respuesta aquí. +1
MDMarra

convenido. Como no puede volver a copiar los datos, ya que los datos ya están en uso y probablemente hayan cambiado, icacls para exportar / importar los permisos parece ser la mejor manera de hacerlo.
Rex

Gracias por toda su ayuda, estoy exportando icacls mientras escribo e intentaré importar más tarde. La próxima vez recordaré comprobar siempre mis permisos
Simon Foster, el

3

Usando PowerShell:

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

1
Estaba buscando más de lo mismo. Me parece que esta es una respuesta real. Otros dicen qué hacer antes de la copia, no después de lo solicitado
alvaroc

0

Puedes intentar usar Robocopy . AFAIK todavía funciona en versiones más nuevas de Windows.


¿Conoces la sintaxis que necesito? Intenté robocopy source destination / secfix / xo / xn / xc de la página anterior y arroja un error sobre no saber qué permisos copiar
Simon Foster,

1
Esto se debe a que la robocopy solo funcionará si el contenido del recurso compartido no se modifica. Parece que tus usuarios probablemente lo hayan cambiado, ¿verdad? No creo que la robocopia sea la herramienta para usar ahora (aunque debería haberla usado al principio)
MDMarra

Esa guía es para una versión muy temprana de robocopy. ¿Qué versión estás usando ahora? Es posible que pueda salirse con una / copia: s ahora solo para cambiar las ACL de NTFS, pero no estoy seguro ... Comenzaré una pequeña prueba ahora.
HopelessN00b

0

Como dijo Priaeas, robocopy.

Práctica guía de referencia para los interruptores a utilizar .

/ copyall o / copy: DATSOU copiará "todo" (datos, atributos, marcas de tiempo, ACL NTFS, propietario e información de auditoría).

/ COPY: copyflag [s]: What to COPY (el valor predeterminado es / COPY: DAT) (copyflags: D = Datos, A = Atributos, T = Marcas de tiempo S = Seguridad = NTFS ACL, O = Información del propietario, U = aEdición de información) .


1
Dice específicamente que no quiere copiar los datos. Además, robocopy solo copiará la seguridad si los archivos no se han modificado. Dado que la participación está en producción ahora, diría que es una apuesta segura que ha cambiado.
MDMarra

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

e:era la raíz de un disco físico con varios recursos compartidos y todo tipo de bloques de herencia esparcidos. z:era la unidad "nueva", en este caso una unidad asignada.

Simplemente funcionó, no para las acciones, solo para los permisos.


-4

CopyMik Freeware Program mit Keys:

/ CSF [FileMask1 [FileMask2 [....]]]] Copie los atributos de seguridad del archivo. Solo archivos con la máscara especificada. (máscara predeterminada *)

/ CSD [DirMask1 [DirMask2 [....]]]] Copia los atributos de seguridad de la carpeta. Solo carpetas con la máscara especificada. (máscara predeterminada *)

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.