【共享權(quán)限遷移驗證】
上文中我們提到了NTFS權(quán)限的遷移驗證, 其實在企業(yè)中文件服務(wù)器建立出來還是要提供共享服務(wù),,所以通常情況下文件服務(wù)器的遷移也會伴隨著共享權(quán)限的遷移,,下面我將和大家分別探討下Permcopy,F(xiàn)SMT,,以及利用注冊表如何實現(xiàn)共享權(quán)限的遷移,。
【環(huán)境介紹】
2008dc.contoso.comDC角色 IP 192.168.1.2 2003FS.contoso.com2003文件服務(wù)器角色 IP 192.168.1.3 2012FS.contoso.com2012文件服務(wù)器角色 IP 192.168.1.4 本文將使用以上三臺服務(wù)器進行同一域內(nèi)文件服務(wù)器遷移驗證
工具:Permcopy+Xcopy 工具簡介:Permcopy自Windows NT時代已經(jīng)作為Resource Kit 中的工具提供,主要用于復(fù)制跨磁盤,,或跨服務(wù)器的共享文件夾權(quán)限使用 該命令并沒有內(nèi)置在之后的系統(tǒng)上,,如果2008及以后的Server OS需要使用也請手動拷貝Permcopy.exe至system32目錄,Permcopy.exe可以在網(wǎng)上下載得到,,或者從2003 Resource Kit中得到 【遷移步驟】
注: 大家可以看到,,我這次用的是 \\192.168.1.3 這種網(wǎng)絡(luò)來源路徑,,實測xcopy是支持這種網(wǎng)絡(luò)路徑的,只不過有時候網(wǎng)絡(luò)路徑會遇到問題,,所以會映射為網(wǎng)盤方式,。 另外,,雖然 \\192.168.1.3\it 也可以訪問,,但是如果希望單獨遷移it目錄的權(quán)限,也請你輸入 \\192.168.1.3\ShareFloder\it,,這種路徑,,因為Xcopy會去通過UNC路徑訪問文件路徑,去抓取權(quán)限,,實測輸入 \\192.168.1.3\it不能遷移it文件夾權(quán)限,。
注意,,這個permcopy的命令有很大的輸入講究,,如果你輸入\\Servername\sharename這樣一定會報錯,sharename前面不能加\參數(shù),,同時sharename前面必須要有一個空格,,注意,僅一個空格,,一個也不要多,。 Permcopy 在進行遷移的時候只認共享名稱,比如,,你\\192.168.1.3 上面有個it共享文件夾,,里面有一個子文件夾叫sharefloder,我想復(fù)制sharefloder行不行 對不起 ,,不行,,Permcopy只認共享名稱,如果sharefloder沒有出現(xiàn)在文件共享管理器中的共享名稱里面Permcopy是不可以復(fù)制的,。 Permcopy只復(fù)制共享文件夾的權(quán)限,,使用permcopy復(fù)制,,只好把每個需要復(fù)制共享權(quán)限的文件夾,全部變成 “ 共享“,,才可以進行復(fù)制,。
【點評】 功能實現(xiàn): ★★★★★ 專業(yè)性: ★★★★★ 性能: ★★★★ 易用性: ★★★★
通過以上驗證大家可以看到,,通過Xcopy+Permcopy,可以實現(xiàn)文件內(nèi)容+NTFS權(quán)限+Share 權(quán)限的復(fù)制遷移,,通過Xcopy復(fù)制的話,,不能復(fù)制加密文件,父文件目錄時間戳記會丟失,。如果對于加密文件屬性遷移,,目錄時間戳記遷移、以及復(fù)制性能沒有過多要求,,僅用于遷移NTFS權(quán)限+共享權(quán)限,,那么Xcopy+Permcopy這種方案是不錯的選擇。
工具:Permcopy+Robocopy
工具簡介:Permcopy自Windows NT時代已經(jīng)作為Resource Kit 中的工具提供,,主要用于復(fù)制跨磁盤,,或跨服務(wù)器的共享文件夾權(quán)限使用 該命令并沒有內(nèi)置在之后的系統(tǒng)上,如果2008及以后的Server OS需要使用請手動拷貝Permcopy.exe至system32目錄,,Permcopy.exe可以在網(wǎng)上下載得到,,或者從2003 Resource Kit中得到 【遷移步驟】
運行完成可以看到,,和之前我們測試一樣,,NTFS權(quán)限已經(jīng)得到復(fù)制遷移 文件目錄時間戳,文件內(nèi)容時間戳,,文件屬性,,也已經(jīng)完整的遷移了過去 在執(zhí)行robocopy命令之后可以看到遷移報告,也可以使用/MT:n 參數(shù),,啟動多個線程來進行robocopy復(fù)制,,但是請注意,MT參數(shù)不兼容efsraw與IPG參數(shù)
剛才我們通過RoboCopy將HR文件復(fù)制過來,,但是并沒共享,,permcopy不會自動去創(chuàng)建這個共享,所以需要我們手動將HR文件夾開啟共享,,可以隨便給個共享權(quán)限,,反正permcopy命令執(zhí)行后會用原共享權(quán)限,,完全覆蓋掉目標共享權(quán)限。
【點評】 功能實現(xiàn): ★★★★★ 專業(yè)性: ★★★★★ 性能: ★★★★★ 易用性: ★★★★ 目前看來Permcopy+Robocopy這種解決方案對于ITpro來說堪稱最完美的了,即可以完整無縫的做到遷移文件內(nèi)容+NTFS權(quán)限+共享權(quán)限+近乎全部的安全屬性 也可以將諸如文件目錄時間戳,,文件時間戳,,及文件屬性等信息進行遷移,還可以利用RoboCopy完成更加高級的操作,,比如進行多線程復(fù)制性能提升,,文件增量復(fù)制等。 所以筆者認為如果你是一名ITpro,,對于命令行操作不是特別抵觸,,那么使用Permcopy+Robocopy完成NTFS+共享權(quán)限的遷移絕對是你的最佳選擇,。
工具:FSMT 工具簡介:FSMT( File Server Migration Toolki )是微軟在Windows Server 2003推出的擴展工具,,實測可以被2008 , 2008R2,2012,,2012R2使用,,需要單獨從微軟官網(wǎng)進行下載,通過FSMT可以幫助ITpro完成共享文件夾權(quán)限的遷移,,以及DFS權(quán)限的遷移 遷移過程中采用遷移項目的方式進行運作,,每次遷移FSMT都會創(chuàng)建一個項目遷移記錄,幫助管理員用于回看,,檢查遷移時的報告,。 工具下載地址: https://www.microsoft.com/enus/download/details.aspx?id=10268 【遷移步驟】
注:如果FSMT是安裝在2012系統(tǒng)上面請事先安裝好.NET3.5功能
這種E:\,,但是FSMT在遷移過程中仍然會在E:\下面創(chuàng)建一個文件夾03fs.contoso.com,,所以03fs遷移過來的文件都會放在這里,之后的步驟中我們會通過修改xml實現(xiàn)存放在其它路徑
第一個選項,,如果被勾選,,當FSMT遷移源共享到目標共享之后,會把源共享停掉??! 第二個選項,是否要拷貝安全設(shè)置,,一定要確保被勾選 第三個選項 Resolveinvalid security descriptors,,一旦你勾選了這個復(fù)選框,F(xiàn)SMT遷移過程會去幫你解決無效的安全描述符,,具體處理如下內(nèi)容,,讓源文件夾更加適應(yīng)目標端,如果你發(fā)現(xiàn)遷移過來之后SID不太對,,可以試試取消勾選這個選項
如果你很自信路徑不會出問題的話,,也可以直接全部替換03fs.contoso.com這樣的名稱
注意,這個時候如果你去看遷移過來的文件夾和目錄,,你會發(fā)現(xiàn),,你沒有權(quán)限打開這個目錄,即便你進去打開了,,也會發(fā)現(xiàn)權(quán)限都沒有遷移過來,,千萬不要著急,因為到目前為止我們只是拷貝了文件和文件夾,,還沒有將源端的權(quán)限及安全屬性apply到目的端
當時一看共享權(quán)限沒有遷移過來我就傻眼了,,因為記得幾年前學(xué)習(xí)FSMT的時候,那時候好像時可以遷移共享權(quán)限的阿,,微軟還說過,,推薦使用FSMT這個工具,鼎鼎大名的FSMT到底怎么了,,國內(nèi)也好多人寫過文章,,說FSMT可以遷移共享權(quán)限+NTFS權(quán)限,為什么到我這里不行了,,我首先排查是否是我操作步驟的問題,,排查步驟如下 1. 檢查目標端執(zhí)行FSMT遷移賬戶是否不具備權(quán)限,確認執(zhí)行賬戶是來源端和目標端本地管理員組成員,,確保賬戶對源共享具備讀取權(quán)限,,目的端具備寫入權(quán)限 2. 驗證是否是因為修改了共享名和磁盤位置,什么都不改,,就用默認,還是不行 3. 驗證是否是因為系統(tǒng)版本問題,,因為有看到FSMT官方上面沒有寫到支持2012R2,,只寫到2008R2,嘗試在2008R2上面安裝FSMT,,還是不行,。 我開始去國外找一些文章,看看是否也有別人遇到過和我一樣的情況,,或者是關(guān)于FSMT不能遷移共享權(quán)限的說明 https://social.technet.microsoft.com/Forums/en-US/734e790d-a1fb-4571-8e02-9c7cb05d44b7/how-can-i-migrate-file-shares-permissions-from-one-volume-to-another-on-the-same-server?forum=winserverMigration https://social.technet.microsoft.com/Forums/windowsserver/en-US/46d8d9db-8e21-498d-a998-6df2c8394364/how-to-migrate-share-and-share-permissions?forum=winserverMigration 還有這位老兄的博客 https:///2015/12/29/how-to-migrate-windows-file-server-shares-with-ntfs-permissions/ 竟然真的也有人說過FSMT不能遷移共享權(quán)限,,而且還有的是權(quán)威人士,這太奇怪了,同樣的工具,,同樣的步驟,,為什么有的人做出來就有共享權(quán)限,有的人做出來就沒有共享權(quán)限,,這太奇怪了,,我本想就這樣發(fā)表,說明FSMT實測不能遷移共享遷移,。 因為說實話,,之前也有北京的老師向我問過,如何遷移共享權(quán)限,,我推薦老師用FSMT,,結(jié)果老師告訴我實際測試FSMT不能遷移共享權(quán)限,我當時心里一直很疑惑,。 不過這次我還是決定再做一下嘗試,,實踐出真理,我一定要寫出實踐驗證過的東西,,是就是是,,不是就是不是。我這次換了個思路,,我把加密文件,,只讀文件,隱藏屬性文件,,都刪除了,,想最后碰碰耗子,再試試,。 結(jié)果,,這次就通過了,把這些文件刪了之后,,再用FSMT遷移,,NTFS權(quán)限+共享權(quán)限就都遷移過來了,處于追求真理的偏執(zhí)心發(fā)作,,我又想再叫叫真,,看看到底是因為那個文件導(dǎo)致的,一般只讀文件,,隱藏屬性文件,,不會導(dǎo)致拷貝拒絕,我把只讀和隱藏屬性文件加回來,,還是可以遷移NTFS權(quán)限+共享權(quán)限,。 現(xiàn)在我基本可以斷定就是加密文件導(dǎo)致的文件,,當再次把加密文件拷貝到來源端文件夾中,復(fù)制文件過程依然會提示這個警告
實測結(jié)果,,只要來源父共享文件夾下存在加密文件,,或者父共享下面子文件夾里面存在加密文件,都會提示這個警告,,一旦由于其中一個加密文件,,導(dǎo)致產(chǎn)生警告,則整個父共享文件夾下面的共享權(quán)限都不能被遷移,,根據(jù)測試結(jié)果來看,,我推測在拷貝文件過程中,事實上FSMT在拷貝文件過程,,同時會去拷貝驗證源文件的NTFS安全設(shè)置和共享權(quán)限,,并且這個過程應(yīng)該會吧NTFS安全設(shè)置與共享權(quán)限獲取下來,如果其中因為加密文件而拒絕訪問,,則會導(dǎo)致共享權(quán)限獲取中斷,,導(dǎo)致下一步共享權(quán)限無法被apply。根據(jù)國外朋友的文章顯示長文件名也會導(dǎo)致發(fā)生中斷,,所以對于長文件名的文件名也要格外小心,,小心被中斷 :)
【點評】 功能實現(xiàn): ★★★★ 專業(yè)性: ★★★★ 性能: ★★★★ 易用性: ★★★ 說起來,,本來覺得FSMT的部分應(yīng)該是最簡單最容易最順利的,沒想到會遇到這么多的波折,,遇到的問題也沒找到相關(guān)的文章,,幸運總歸還是自己找到了問題所在,哈哈 點評一下,,其實這次實測下來我認為FSMT還是有一定的缺點的 1. 對于父共享下存在的子共享,,嵌套支持不是很好,假設(shè)我只需要遷移其中一個子共享不行,,只能連帶著父共享一起遷移,,其它工具則沒有這個問題。 2. 會由于單個文件的拒絕訪問而導(dǎo)致整個共享權(quán)限遷移失敗,,當發(fā)現(xiàn)這個問題的時候我還是比較奇怪的,怎么會有這樣的問題,,之前xcopy和wsmt,,也是遇到加密文件會拒絕訪問,,但是xcopy可以有參數(shù)來設(shè)置,遇見拒絕訪問要跳過繼續(xù)后面的,,wsmt也會自動跳過,,到了FSMT這里則會因為一個加密文件的拒絕訪問而導(dǎo)致整個父共享權(quán)限遷移失敗。 總結(jié)來看,,如果你的環(huán)境中,,主要是以多個父共享為主,不存在子共享嵌套,,且可以接受加密文件不能被遷移,,對于文件目錄時間戳記沒有要求,那么你可以選擇使用FSMT方案,,F(xiàn)SMT可以提供GUI操作畫面,,對于技術(shù)性要求不會過高,同時可以提供相對完整漂亮的報告,,這是它的優(yōu)勢,。
工具:注冊表導(dǎo)入
在NTFS權(quán)限遷移驗證結(jié)尾我們大膽討論了NTFS ACL列表到底存放在那里,也討論了如何去備份還原這個ACL,,在共享權(quán)限驗證的最后,,我們再來看下共享權(quán)限到底存在哪里呢 根據(jù)筆者的基礎(chǔ)學(xué)習(xí),得知Windows共享權(quán)限存在注冊表中,,如下位置 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\Shares
robocopy \\192.168.1.3\it e:\it /e /efsraw /copyall
再次執(zhí)行robocopy \\192.168.1.3\it e:\it/e /efsraw /copyall,,發(fā)現(xiàn)加密文件可以被遷移過來了,有朋友可能會問,,唉,,那之前的xcopy,wsmt,,fsmt是不是也是因為這個原因?qū)е录用芪募荒苓w移阿,,實測之后發(fā)現(xiàn),對于xcopy,,wsmt,,fsmt即使把執(zhí)行賬戶加入到共享權(quán)限完全控制也沒有用,真正支持加密屬性文件遷移的工具,,只有robocopy,。
我們將03FS上面的注冊表項 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\Shares 導(dǎo)出成為03fs.reg,,拷貝到2012FS上面
通常都會立刻看到,,有時可能要等幾分鐘之后才能看到權(quán)限,,不要著急,如果注冊表沒有輸入錯誤,,一般幾分鐘之內(nèi)再打開共享就可以看到共享權(quán)限
微軟相關(guān)KB https://support.microsoft.com/zh-cn/kb/125996
【總結(jié)】NTFS權(quán)限遷移各工具應(yīng)用場景
對于遷移需要有更多控制,例如需要控制那些文件類型文件需要進行遷移遷移,,那些日期后的文件需要繼進行遷移,,進行一些基本廠家的篩選控制,同時希望復(fù)制遷移過程能夠比資源管理器有部分提升,,僅需要遷移文件內(nèi)容+NTFS權(quán)限,,可以接受加密文件不能被遷移,父目錄時間戳丟失,,可以接受命令行操作,,適用方案 Xcopy 對于遷移過程希望得到比Xcopy更高要求的靈活管理控制,希望獲得遷移時得到較高的性能,,希望遷移時能夠完整遷移文件內(nèi)容+NTFS權(quán)限+文件及目錄的安全屬性及時間戳,,希望遷移過程能夠輸出完整過程及詳細log,可以接受命令行操作,,適用方案 RoboCopy 對于希望定時備份文件服務(wù)器ACL權(quán)限列表,,希望單機服務(wù)器更換磁盤保存NTFS ACL權(quán)限表,希望跨服務(wù)器還原NTFS ACL權(quán)限列表,,希望深入研究NTFS ACL內(nèi)容,,可以接受加密文件不能被遷移,文件目錄時間戳丟失,,可以接受命令行操作,,適用方案 Icacls 當跨服務(wù)器還原ACL權(quán)限列表時,Icacls可以和xcopy,,robocopy進行配合,,或者自己資源管理器手動復(fù)制,再用Icacls還原ACL權(quán)限,, 當和robocopy配合可以實現(xiàn)robocopy拷貝文件內(nèi)容+時間戳+加密文件,,Icacls去還原NTFS ACL權(quán)限。
NTFS+共享權(quán)限遷移各工具應(yīng)用場景
對于需要將文件跨服務(wù)器遷移過程進行加密,,希望通過來源服務(wù)器與目標服務(wù)器配合來完成遷移,,希望獲得完整詳細的遷移輸出,希望在遷移2003服務(wù)器系統(tǒng)AD DNS DHCP CA WSUS到2012R2順帶遷移文件服務(wù)器,,僅需要遷移文件內(nèi)容+NTFS權(quán)限+共享權(quán)限,,可以接受加密文件不能被遷移,頂級父目錄時間戳丟失,,可以接受命令行操作,,可以接受在來源端機器安裝遷移工具,,適用方案 WSMT 對于文件服務(wù)器遷移過程需要通過圖形化界面完成,希望獲得完整友好的遷移報告,,希望可以將遷移過程分步驟,,一步一步進行確認處理,可以接受加密屬性文件不能被遷移,,一旦遷移加密屬性文件將導(dǎo)致共享權(quán)限遷移失效,,可以接受所有共享下面文件目錄時間戳全部丟失,可以接受遷移父共享下的嵌套子共享,,必須遷移整個父共享,,適用方案 FSMT 對于遷移過程希望獲得更好的篩選控制,希望復(fù)制遷移過程性能比資源管理器復(fù)制有部分提升,,可以接受遷移過程要遵循嚴格的命令規(guī)范,,僅需要遷移文件內(nèi)容+NTFS權(quán)限+共享權(quán)限,可以接受加密文件不能被遷移,,頂級父共享目錄時間戳丟失,,可以接受命令行操作,可以接受使用兩個不同的命令完成遷移,,適用方案 Permcopy+Xcopy 對于遷移過程希望獲得最好的靈活控制,,希望復(fù)制遷移過程性能比資源管理器復(fù)制有大幅提升,希望遷移時能夠完整遷移文件內(nèi)容+NTFS權(quán)限+文件及目錄的安全屬性及時間戳,,希望遷移過程能夠輸出完整過程及詳細log,,可以接受遷移過程要遵循嚴格的命令規(guī)范,可以接受命令行操作,,可以接受使用兩個不同的命令完成遷移,,適用方案 Permcopy+Robocopy
對于希望定時備份文件服務(wù)器共享權(quán)限,希望更換共享文件夾磁盤,,希望跨服務(wù)器還原共享權(quán)限,,希望深入研究共享權(quán)限注冊表內(nèi)容,希望可以還原大批量的共享權(quán)限,,可以接受在注冊表中操作,,適用方案 共享權(quán)限注冊表導(dǎo)入 當跨服務(wù)器還原共享權(quán)限時,共享權(quán)限注冊表導(dǎo)入可以和Xcopy,, Robocopy進行配合,,或者自己資源管理器手動復(fù)制,再用注冊表導(dǎo)入還原共享權(quán)限,,當和Robocopy配合,,可以實現(xiàn)Robocopy拷貝文件內(nèi)容+NTFS權(quán)限+時間戳+加密文件,導(dǎo)入共享權(quán)限注冊表還原共享權(quán)限。,
在文章要結(jié)尾這兩天一直在思考,,這篇文章結(jié)尾總結(jié)到底要寫點什么才合適呢,,想來想去,還是決定按照上面場景式的方式寫出來,,什么樣的場景,,什么需求,適合用什么方案,。 在比較典型的共享權(quán)限+NTFS權(quán)限遷移場景下,,如果希望遷移時間戳和加密文件,那么筆者推薦你直接選擇Permcopy+Robocopy方案,,如果只是有遷移NTFS權(quán)限+共享權(quán)限的需求,那WSMT,,F(xiàn)SMT,,permcopy+xcopy,注冊表導(dǎo)入你都可以去選擇,,單純的NTFS權(quán)限遷移也是,,有很多種方案,隨心使用,,朋友們?nèi)绻捎帽疚奶岬竭^的工具進行遷移,,請一定仔細看過筆者的驗證步驟,里面提到了近乎所有需要注意的地方,。 說起來這篇文章從周一開始寫,,斷斷續(xù)續(xù)一直寫到周六,也算是筆者對自己的一個交代了,,話說最近一年的拖延癥越來越嚴重,,很多時候很多想法,但是卻都沒有實施下去,,這次是下定決心了,,一定要寫完,磨煉一下自己的意志,,人有時候就是要逼一下自己是吧,。 其實說實話,寫這篇文章,,還是遇到很多坎坷的地方的,,幾乎每個遷移工具都遇到問題,想過放棄,,但是最終還是堅持寫下去,,雖然實驗驗證真理的過程不太太平,但是驗證過后得到的確是收獲,不論是意志上還是技術(shù)上,。 為什么要寫這篇文章呢,,一個原因是因為微軟自身的文件服務(wù)器遷移工具有不少,但是我卻從來沒看到一篇文章,,完整對比和試驗過每個工具的,。即便是有文章寫了,但是很多關(guān)鍵的點,,我也沒有看到人寫過,。 所以我決定寫一篇這樣的文章,盡量涵蓋所有常見的微軟文件服務(wù)器遷移工具,,來告訴大家什么場景下應(yīng)該用什么方案,,什么能實現(xiàn),什么不能實現(xiàn),,不要模棱兩可,,不要一帶而過,我們就來實際一步一步驗證,,在實際做的時候到底會遇見哪些問題,,應(yīng)該如何去解決,解決不了應(yīng)該選什么方案,,有哪些一定要規(guī)避處理的設(shè)置,,如果不處理會出現(xiàn)什么錯誤,為即將做微軟文件服務(wù)器遷移和正在做微軟文件服務(wù)器遷移的朋友們查看,,我認為這篇文章寫得是有意義的,。 最后希望看本人文章的各位朋友們,都能找到自己所需要的方案,,也希望各位做技術(shù)的朋友都能變得越來越專業(yè),,一項技術(shù)一定要如果親自驗證過,或者親眼見過 ,,再告訴別人到底行不行,,面對生活可以順其自然 ,隨緣隨心,,但是面對技術(shù)一定要精益求精,,較真一些,希望能看到更多較真的文章出現(xiàn) J |
|