Skopiuj uprawnienia do plików z jednego katalogu do drugiego


17

W weekend skopiowałem dane naszej firmy z jednego dysku twardego na inny większy. Myślałem, że pozwolenie zostało skopiowane, ale nie zrobiły tego.

Jaki jest najlepszy (i najszybszy) sposób na skopiowanie uprawnień, które zostały pierwotnie ustawione na moje nowe dane, bez konieczności ponownego kopiowania wszystkich danych? Moi użytkownicy mają teraz dostęp do danych, więc nie chcę ich kopiować, ponieważ zmiany mogą zostać utracone.

Dane są przechowywane na serwerze Windows Server 2008 R2

Odpowiedzi:


17

Myślę, że to zadziała:

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

Kopie „ SOU ”: S = informacje o bezpieczeństwie (listy ACL NTFS), O = informacje o własności, U = a Informacja o wizycie

Jeśli to nie zadziała, możesz użyć tego polecenia, aby wykonać kopię zapasową uprawnień NTFS:

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

Przełącznik / T pozwala mu również uzyskać uprawnienia do podfolderów. Przełącznik / C pozwala na kontynuację nawet w przypadku napotkania błędów (chociaż błędy będą nadal wyświetlane).

A następnie użyj tego polecenia, aby przywrócić uprawnienia:

icacls d:\ /restore ntfsperms.txt

Zauważ, że w poleceniu zapisania uprawnień określiłem folder docelowy D:\Data, ale kiedy je przywróciłem, określiłem go D:\jako cel. Możesz pomyśleć, że określenie D:\jako cel w poleceniu przywracania może w jakiś sposób zepsuć uprawnienia w innych folderach na tym poziomie, ale jak widać z pliku wyjściowego ntfspermissions.txt, zawiera on tylko informacje o folderze Data i podfolderach, dzięki czemu wszystko się zmieni.


1
Myślę, że tutaj icacls jest odpowiedzią. +1
MDMarra

Zgoda. ponieważ nie może skopiować danych, ponieważ dane są już w użyciu i prawdopodobnie uległy zmianie, najlepszym rozwiązaniem jest icacls do eksportowania / importowania uprawnień.
Rex,

Dzięki za wszelką pomoc, eksportuję icacls podczas pisania i spróbuję zaimportować później. Następnym razem będę pamiętać, aby zawsze sprawdzać moje uprawnienia
Simon Foster,

3

Za pomocą programu PowerShell:

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

1
Szukałem tego samego. Wydaje mi się, że to prawdziwa odpowiedź. Inni mówią, co robić przed kopią, a nie po zapytaniu
alvaroc

0

Możesz spróbować użyć Robocopy . AFAIK nadal działa na nowszych wersjach systemu Windows.


Czy znasz potrzebną składnię? Próbowałem źródłowego źródła robocopy / secfix / xo / xn / xc z powyższej strony i generuje błąd polegający na tym, że nie wiem, które uprawnienia do kopiowania
Simon Foster

1
Jest tak, ponieważ robocopy będzie działać tylko wtedy, gdy zawartość udziału pozostanie niezmieniona. Wygląda na to, że użytkownicy prawdopodobnie to zmienili, prawda? Nie sądzę, że robocopy jest teraz narzędziem do użycia (powinieneś był go jednak użyć na początku)
MDMarra,

Ten przewodnik dotyczy bardzo wczesnej wersji robocopy. Jakiej wersji używasz teraz? Być może uda Ci się uciec z / copy: s, aby zmienić tylko listy ACL NTFS, ale nie jestem pewien ... Rozpocznę teraz mały test.
HopelessN00b

0

Jak powiedział Priaeas, robocopy.

Poręczny przewodnik dla przełączników w użyciu .

/ copyall lub / copy: DATSOU skopiuje „wszystko” (dane, atrybuty, znaczniki czasu, listy ACL NTFS, informacje o właścicielu i audycie).

/ COPY: copyflag [s]: What to COPY (domyślnie jest to / COPY: DAT) (copyflags: D = Dane, A = Atrybuty, T = Znaczniki czasu S = Bezpieczeństwo = Listy ACL NTFS, O = Informacje o właścicielu, U = Informacje o wyszukiwaniu) .


1
Mówi w szczególności, że nie chce kopiować danych. Ponadto robocopy skopiuje zabezpieczenia tylko wtedy, gdy pliki nie zostały zmodyfikowane. Ponieważ udział jest już w produkcji, powiedziałbym, że to bezpieczny zakład, że został zmieniony.
MDMarra,

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

e:był korzeniem fizycznego dysku z kilkoma udziałami i różnego rodzaju blokami dziedziczenia. z:był „nowym” dyskiem, w tym przypadku mapowanym.

Po prostu działało, nie dla akcji, tylko uprawnienia.


-4

CopyMik Freeware Program mit Keys:

/ CSF [FileMask1 [FileMask2 [....]]]]] Kopiuj atrybuty bezpieczeństwa pliku. Tylko pliki z określoną maską. (maska ​​domyślna *)

/ CSD [DirMask1 [DirMask2 [....]]]]] Kopiuj atrybuty zabezpieczeń folderu. Tylko foldery z określoną maską. (maska ​​domyślna *)

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.