Robocopy/Mir switch – mirroring file permissions
first published on TECHNET on Jul 31, 2008
jotkut asiakkaat huomauttivat, Mitä he uskovat olevan vika Robocopy.
tilanne on: oletetaan, että kopioit tiedostosi Robocopyn avulla Windows Server 2003: ssa tai XP: ssä. Sitten, Tiedostojen tai kansioiden käyttöoikeudet (ACLs) muutetaan kuihtuu lähde tai kohde. Haluat käyttää / MIR-kytkintä käyttöoikeuksien peilaamiseen:
> ROBOCOPY source destination /MIR /SEC
Robocopy ei pysty peilaamaan tiedostojen käyttöoikeuksia – mutta toimii kansioiden käyttöoikeuksille.
tämä käyttäytyminen on suunnitelmallista. Robocopy keskittyy kopioimaan vain tiedostoja, jotka ovat muuttuneet (oletuksena koko tai muokattu päivämäärä). Jos tiedosto näyttää muuttuneen, Robocopy kopioi sen tiedot ja, jos määritit myös kopiointisuojauksen, kopioi NTFS ACL lähteestä kohteeseen kopioinnin jälkeen. Jos tiedosto näyttää siltä, ettei se ole muuttunut, Robocopy ohittaa sen oletusarvoisesti, eikä kopioi mitään tiedostolle, ei edes sen tietoturvatietoja.
kun kirjoitin robocopyn ”security copy” – osan 22.toukokuuta 1997, päätin tehdä tämän suoritussyistä, pitääkseni Robocopy-ajat isoille puille alhaalla. Tämä oli asianmukainen täytäntöönpano useimpien ihmisten tarpeisiin tuolloin. Myös, toinen syy päätin tehdä asiat niin tein, on, että turvallisuuden asettaminen hakemistot riittää useimmille ihmisille. Tietoturvan asettaminen tiedostokohtaisesti on varmasti rakeisempi lähestymistapa, mutta aiheuttaa suuremman kunnossapidon yleiskustannukset, ehkä liikaa monille käyttäjille.
näin ollen Martin Zugecin (MVP) julkaisemaksi workaroundiksi listattu ratkaisu on juuri se, mitä tässä tilanteessa pitää tehdä, ja tätä käyttäytymistä on odotettavissa:
> ROBOCOPY /mir <Source><Target>
> ROBOCOPY /E /copy:S /IS /IT <Source><Target>
ensimmäinen yllä oleva Robocopy-komento kopioi tiedot ja tietoturvan päivitetyistä tiedostoista, ja toinen Robocopy-komento päivittää file security kaikille tiedostoille, kopioimatta mitään tiedostotietoja.
Jos käyttää Robocopyn Resurssipakkausversiota, ja haluaa pitää tietoturvan synkronoituna kahden puun välillä, joissa data on melko staattista, mutta tietoturvaa päivitetään silloin tällöin. Itse asiassa Robocopyn” NTFS: n suojaustietojen kopiointi ” – osio.doc (Resurssipaketeista) toteaa:
” päivittääksesi olemassa olevien kohdetiedostojen ja-hakemistojen suojaustiedot kopioimatta tiedostotietoja, käytä /IS-kytkintä yhdessä /COPY-kytkimen kanssa ilman D-lippua. Esimerkiksi /IS / COPY:SOU päivittäisi kaikki suojaustiedot kaikille valituille tiedostoille kopioimatta yhtään tiedostotietoa.”
asiat ovat edenneet hieman viimeisten 11 vuoden aikana tietoturva-asioissa, joten muutin hieman tapaa, jolla asiat toimivat tällä alueella Vistaan päätyneen robocopyn version osalta, sillä jos määrität / SECFIX komentorivillä, Robocopy kopioi suojauksen ohitetuille tiedostoille, jotka ovat olemassa sekä lähde-että kohdepuissa.
joten säilyttääksesi kaksi puuta synkronoituna, mukaan lukien niiden tietoturvan, Vistan Robocopy-komennolla, voit käyttää seuraavaa tavallisena Robocopy-komennonasi:
> ROBOCOPY <source><target> /MIR /SEC /SECFIX
/mir toistaa muuttuneiden tiedostojen tiedot ja tietoturvan (as /SEC on määritetty), ja /SECFIX päivittää vain muuttumattomien tiedostojen tietoturvan. Lisää / V komentoriville, jos haluat nähdä, mitkä tiedostot ovat niiden turvallisuus ”kiinteä” ilman, että niiden tiedot kopioitu.
Kevin Allen