Windows Server 2025 / 종합 실습: 도메인·공유 폴더·그룹 정책·백업을 구성하고 장애 복구하기
Windows Server 2025 종합 실습은 내부 DNS와 도메인을 기반으로 사용자·그룹·공유 권한·그룹 정책·백업을 연결하고, 일반 사용자 관점에서 결과와 복구를 확인하는 과정입니다. 관리 콘솔의 성공 표시뿐 아니라 접근 허용·거부와 복구된 데이터까지 확인해야 구성이 끝납니다.
실습의 시작 상태와 합격 기준을 정합니다
앞선 강좌에서 구축한 격리 환경을 사용합니다. DC1 172.24.50.10은 ad.example.test의 DC·DNS, FS1 .20은 도메인 파일 서버, CLIENT1은 도메인 가입 Windows 클라이언트입니다. DC2 .11이 있다면 복제 상태도 점검합니다. 설치를 마친 서버에서 같은 역할·도메인을 다시 생성하지 않습니다.
필요한 기존 항목은 사용자 labuser1, OU LabUsers·LabGroups·Workstations·Servers가 들어 있는 Lab OU, CLIENT1의 Workstations 배치, FS1의 NTFS D:와 별도 백업 E:입니다. D:·E:가 다른 용도라면 명령을 그대로 실행하지 말고 준비 단계와 경로를 먼저 맞춥니다. 같은 호스트의 두 가상 디스크는 절차 실습용이며 장애를 분리한 운영 백업은 아닙니다.
| 검증 대상 | 합격 조건 |
|---|---|
| DNS·도메인 | 내부 이름 조회와 DC 검색·정상 로그인 |
| 권한 | labuser1은 시험 파일 작성, 비대상 일반 계정은 거부 |
| 정책 | CLIENT1에 의도한 GPO와 설정이 적용 |
| 백업 | 선택한 버전·항목 조회와 별도 위치 복구 |
| 복구 | 복구 파일 해시 일치·현재 파일 보존·서비스 확인 |
기존 강좌의 데이터를 건드리지 않도록 Capstone이라는 새 폴더·공유와 전용 그룹을 사용합니다. 같은 이름이 이미 있으면 중단하고 용도를 확인합니다. 관리자 계정으로 모든 접근을 시험하면 일반 사용자의 권한 오류를 놓칠 수 있습니다.
네트워크와 도메인의 기준 상태를 기록합니다
CLIENT1에서 아래 조회를 실행합니다. 실제 이름이 .20으로 해석되고 도메인 컨트롤러 검색에 성공하는지 확인합니다. CLIENT1의 DNS는 내부 DNS여야 하며 인터넷 조회가 안 된다는 이유로 공용 DNS를 대체 입력하지 않습니다.
ipconfig /all
Resolve-DnsName fs1.ad.example.test
Resolve-DnsName -Type SRV _ldap._tcp.dc._msdcs.ad.example.test
nltest /dsgetdc:ad.example.test
whoami
서버 관리자에서 역할 상태와 시각, FS1의 D:·E: 여유를 기록합니다. DC2가 있다면 repadmin /replsummary와 DNS 등록을 확인합니다. 네트워크·복제가 이미 실패한 상태에서는 새 권한이나 정책을 더하지 말고 먼저 기준 상태를 정상화합니다.
그룹으로 권한 대상을 구성합니다
DC1의 관리자 Windows PowerShell에서 실행합니다. 기존 labuser1을 사용하며 비밀번호를 코드에 넣지 않습니다. 사용자 → 전역 그룹 → 도메인 로컬 그룹 → 권한이라는 AGDLP 구조로 연결합니다.
Import-Module ActiveDirectory
$groupOu = 'OU=LabGroups,OU=Lab,DC=ad,DC=example,DC=test'
Get-ADUser -Identity 'labuser1' -ErrorAction Stop | Out-Null
foreach ($name in 'GG_Capstone','DL_FS_Capstone_Modify') {
if (Get-ADGroup -Filter { Name -eq $name }) { throw ('Group already exists: ' + $name) }
}
New-ADGroup -Name 'GG_Capstone' -GroupScope Global -GroupCategory Security -Path $groupOu
New-ADGroup -Name 'DL_FS_Capstone_Modify' -GroupScope DomainLocal -GroupCategory Security -Path $groupOu
Add-ADGroupMember -Identity 'GG_Capstone' -Members 'labuser1'
Add-ADGroupMember -Identity 'DL_FS_Capstone_Modify' -Members 'GG_Capstone'
Get-ADGroupMember -Identity 'DL_FS_Capstone_Modify' -Recursive
조회 결과에 labuser1이 나오는지 확인합니다. 그룹 추가 후 기존 로그인 토큰에는 새 멤버십이 없을 수 있으므로 CLIENT1에서 로그아웃·로그인하고 whoami /groups로 비교합니다. 관리자 세션의 그룹을 일반 사용자의 결과로 오인하지 않습니다.
새 공유에서 허용과 거부를 확인합니다
FS1에서 파일 서버 역할이 설치된 상태로 서버 관리자 → 파일 및 저장소 서비스 → 공유 → 작업 → 새 공유를 엽니다. SMB 공유 빠른 구성에서 새 D:\Capstone과 공유 이름 Capstone을 지정합니다. 이미 존재하면 덮어쓰지 않습니다.
- NTFS 권한은 SYSTEM·관리자의 전체 제어를 유지하고 AD\DL_FS_Capstone_Modify에 수정 권한을 부여합니다. 상속된 다른 일반 사용자 허용이 있는지 유효 액세스와 ACL로 확인해 이 시험 폴더의 권한을 정리합니다.
- 공유 권한은 같은 도메인 로컬 그룹에 변경을 부여하고 관리자 관리 권한을 보존합니다. 광범위한 Everyone 허용은 이 공유의 의도와 비교해 제거합니다.
- CLIENT1에서 labuser1로 로그인해 \\fs1.ad.example.test\Capstone을 열고 sample.txt에 capstone version A를 저장합니다.
- 대상 그룹에 속하지 않은 별도 일반 시험 계정으로 다시 로그인해 접근이 거부되는지 확인합니다. 관리자나 기존 권한이 있는 계정은 거부 시험용으로 쓰지 않습니다.
공유와 NTFS 양쪽에서 허용되어야 네트워크 작업이 가능합니다. 거부 시험이 성공하지 않으면 실제 계정·그룹 중첩·상속·다른 허용 ACL을 조사합니다. 폴더를 숨기는 것과 접근을 막는 것도 구분하세요. 별도 일반 시험 계정이 없다면 LabUsers OU에 일반 계정을 만들고 Capstone 그룹에는 넣지 않습니다.
FS1에서 현재 파일 내용·해시·ACL을 기록합니다. 실제 파일이 만들어졌는지 확인한 뒤 백업 단계로 진행합니다.
Get-Content -LiteralPath 'D:\Capstone\sample.txt'
Get-FileHash -LiteralPath 'D:\Capstone\sample.txt' -Algorithm SHA256
Get-Acl -LiteralPath 'D:\Capstone' | Format-List
별도 GPO를 적용하고 결과를 확인합니다
DC1의 그룹 정책 관리에서 Workstations OU에 새 Lab-Capstone GPO를 만들고 연결합니다. 기존 Lab-Computer-Message 같은 GPO를 수정하지 않습니다. 그룹 정책 개체 생성 참조처럼 정책 개체와 OU 연결은 구분되는 항목입니다.
- 새 GPO 편집 → 컴퓨터 구성 → 정책 → Windows 설정 → 보안 설정 → 로컬 정책 → 보안 옵션을 엽니다.
- 대화형 로그온: 로그온 시도 사용자에 대한 메시지 제목을 Capstone lab으로, 메시지 텍스트를 Course verification으로 지정합니다.
- Workstations OU에서 같은 설정의 다른 GPO보다 우선할 링크 순서를 확인합니다.
- CLIENT1 관리자 셸에서 gpupdate /force를 실행하고 요청된 로그오프·재시작을 검토합니다.
- gpresult /r /scope computer로 적용된 GPO를 확인하고 로그아웃 화면·로그온 시 새 메시지를 확인합니다.
메시지가 다르면 OU 위치·컴퓨터 대상 정책·보안 필터·링크 순서와 기존 설정 충돌을 확인합니다. Lab-Capstone의 링크를 일시 중지하고 정책을 다시 처리해 기존 정책 값으로 돌아오는지도 비교할 수 있습니다. 상위 또는 다른 GPO가 같은 설정을 지정하면 값이 비워지는 대신 그 값이 적용될 수 있습니다.
시험 파일을 백업하고 별도 위치로 복구합니다
FS1에서 Windows Server Backup이 설치되어 있고 E:가 별도 시험 백업 대상인지 확인합니다. 백업 A의 파일 해시를 기록한 뒤 아래 일회성 백업을 실행합니다. wbadmin 백업 명령의 원본·대상을 확인하고 확인 창을 읽습니다.
wbadmin start backup -backupTarget:E: -include:D:\Capstone -vssCopy
wbadmin get versions -backupTarget:E:
성공한 버전의 시각과 실제 항목을 확인한 뒤, 이 실습에서 만든 sample.txt만 capstone version B로 바꿔 저장합니다. 업무 파일 삭제나 볼륨 고장 없이 잘못 바뀐 파일의 복구를 연습할 수 있습니다. 현재 B의 내용도 별도로 보존합니다.
- Windows Server Backup → 복구에서 E:의 실제 백업 시점을 선택합니다.
- 파일 및 폴더 복구에서 D:\Capstone\sample.txt가 포함된 것을 확인합니다.
- 새 D:\CapstoneRestore 아래 고유한 빈 실행 폴더를 다른 위치 복구 대상으로 지정합니다.
- 충돌 파일 처리와 보안 설정 복원 옵션을 읽고 복구합니다.
- 복구 경로의 sample.txt를 찾아 내용 A와 SHA256 해시를 백업 전 기록과 비교합니다.
- 현재 D:\Capstone\sample.txt는 B로 남아 있는지 확인합니다.
파일 복구 명령과 옵션은 CLI로 복구할 때도 버전·항목·별도 대상이 필요함을 보여 줍니다. 복구가 끝났다는 표시만으로 권한이 맞는 것은 아니므로 ACL과 실제 접근도 비교하세요. 복구 파일이 검증된 뒤에만 원본 경로 교체 여부를 결정하며, 이 실습에서는 원본을 자동 덮어쓰지 않습니다.
운영 관점의 기록과 정리를 마칩니다
- IP·DNS·역할·OU·그룹·공유·GPO·백업 버전을 한 구성표에 기록합니다.
- 허용 계정과 거부 계정, 정책 결과와 복구 해시를 각각 남깁니다.
- 실패 원인·조치·확인 방법과 복구 시간을 기록합니다.
- 같은 호스트의 여러 VM·백업 디스크에 남아 있는 공통 장애를 표시합니다.
정리하려면 먼저 Lab-Capstone 링크를 해제하고 기존 정책이 다시 적용되는지 확인합니다. 시험 공유·파일과 복구 사본·백업의 보존 여부를 정한 다음, 필요한 경우 이번에 만든 그룹과 비대상 시험 계정만 정리합니다. 기존 LabUsers·LabGroups OU나 강좌 서버의 공유 전체를 삭제하지 않습니다.
합격 기준은 정해 둔 일반 계정의 접근, 의도한 정책 적용, 선택한 시점의 검증된 복구입니다. 문제를 해결할 때 방화벽·서명·권한을 넓혀 증상을 감추기보다 계층별 결과를 비교하면 설정을 유지하면서 원인을 찾을 수 있습니다.




