파일 및 폴더의 ACL 정보 및 네트워크 공유 권한을 백업/복원
파일 서버 용도의 구형 서버를 새로운 서버로 옮겨야 될 경우는 어떻게 할까요?
그렇다면 파일/폴더들에 대한 ACL 및 네트워크 공유 권한도 같이 옮겨야 할 경우가 있습니다.
파일/폴더들에 대한 ACL 정보 또는 NTFS 파일 시스템 권한은 보통 Xcacls, Xcacls.vbs 또는 Cacls 와 같은 툴을 사용할 수 있었으며, Windows Vista 에서는 Icacls 라는 툴을 개발되어 백업/복원 작업을 하실 수 있습니다.
이후 이 툴은 Windows 2003 SP2 와 Windows Server 2008, Windows 7 에 포함되었습니다.
이 툴을 이용하여 위의 두 가지 정보를 백업 및 복원하는 방법을 알아 보겠습니다.
<NTFS 파일 시스템 권한 정보를 백업/복원하는 방법>
예를 들어, d: 드라이브 상에 database 라는 폴더가 있다고 가정하면, 아래의 명령으로 백업합니다.
Icacls.exe d:\database /save acl.txt /t /c

참고! 자세한 스위치 정보를 보기 위해서는 Icacls.exe 를 실행합니다.
Sids may be in either numerical or friendly name form. If a numerical
form is given, affix a * to the start of the SID.
/T indicates that this operation is performed on all matching
files/directories below the directories specified in the name.
/C indicates that this operation will continue on all file errors.
Error messages will still be displayed.
/L indicates that this operation is performed on a symbolic link
itself versus its target.
/Q indicates that icacls should supress success messages.
그리고, 복원을 위해서는 아래의 명령을 실행합니다.
Icacls.exe d:\ /restore acl.txt
여기에서 하나 눈여겨 봐야 할 것이 있습니다. 복원 시에는 백업 당시 사용되었던 절대 경로인 D:\database 를 사용하지 않은 d:\ 가 사용되었습니다. 이것은 저장된 파일이 상대 경로를사용하기 때문입니다.
<acl.txt 파일 내용>
database
D:(A;ID;FA;;;BA)(A;OICIIOID;GA;;;BA)(A;ID;FA;;;SY)(A;OICIIOID;GA;;;SY)(A;ID;0x1301bf;;;AU)(A;OICIIOID;SDGXGWGR;;;AU)(A;ID;0x1200a9;;;BU)(A;OICIIOID;GXGR;;;BU)
database\New Text Document.txt
D:(A;ID;FA;;;BA)(A;ID;FA;;;SY)(A;ID;0x1301bf;;;AU)(A;ID;0x1200a9;;;BU)
database\perfctrl.dll
D:(A;ID;FA;;;BA)(A;ID;FA;;;SY)(A;ID;0x1301bf;;;AU)(A;ID;0x1200a9;;;BU)
database\xperf.exe
D:(A;ID;FA;;;BA)(A;ID;FA;;;SY)(A;ID;0x1301bf;;;AU)(A;ID;0x1200a9;;;BU)
database\XperfHighCPU.cmd
D:(A;ID;FA;;;BA)(A;ID;FA;;;SY)(A;ID;0x1301bf;;;AU)(A;ID;0x1200a9;;;BU)
< 네트워크 공유 권한을 백업/복원하는 방법 >
네트워크 공유 권한을 백업하기 위해 아래 네트워크 공유에 대한 레지스트리 키를 “내보내기” 후 적당한 이름 Networkshare.reg 로 저장합니다.
HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Shares
이후 네트워크 공유 권한을 복원하기 위해서는 위의 내보내기 파일 Networkshare.reg를 실행하여 가져오기 작업을 진행하면 됩니다.
Saving and restoring existing Windows shares
http://support.microsoft.com/kb/125996/en-us
기타 관련 문서:
How to use Xcacls.vbs to modify NTFS permissions
http://support.microsoft.com/kb/825751/en-us
Cacls
http://technet.microsoft.com/en-us/library/bb490872.aspx