Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- game
- calculator
- portable
- 대항해시대
- network
- javascript
- apm
- OS(operating system)
- MS windows
- FTP
- explorer
- webhard
- Update
- Command
- Network Info(Tool)
- Linux
- H/W
- MS Windows PE
- program
- web
- UNIX
- Windows 10
- script
- Crack(Serial Key)
- PC
- Programming
- Backup(Restore)
- Disk Partition
- LiveCD(USB)
- SSH
Archives
- Today
- Total
<In Story>
특정 드라이브 탐색기에서 숨기고 접근 막기 // [OS] [MS Windows] [Explorer] [Disk Partition] 본문
OS(operating system)/MS WIndows
특정 드라이브 탐색기에서 숨기고 접근 막기 // [OS] [MS Windows] [Explorer] [Disk Partition]
<In Story, Hi story, History> 2015. 6. 27. 14:11특정 드라이브를 숨기고 접근을 막고 싶다면?
윈도우에서는 자신이 원하는 드라이브를 윈도우 탐색기에서 숨기거나 윈도우 탐색기를 통한 접근을 제한할 수 있습니다. 이것은 로컬 그룹 정책 편집기(gpedit.msc) 를 통해 간단하게 설정할 수 있죠.
▼ 드라이브 숨기기
gpedit.msc -> 사용자 구성 -> 관리 템플릿 -> Windows 구성 요소 -> Windows 탐색기 -> 내 컴퓨터에 있는 지정된 드라이브 숨기기
▼ 드라이브 접근 막기
gpedit.msc -> 사용자 구성 -> 관리 템플릿 -> Windows 구성 요소 -> Windows 탐색기 -> 내 컴퓨터에 있는 드라이브 액세스 금지
하지만 로컬 그룹 정책 편집기를 통하는 방법은 A, B, C, D 이 네 가지 드라이브, 또는 모든 드라이브에 대한 설정만 할 수 있습니다. 그래서 그 외의 좀 더 다양한 구성의 드라이브를 숨기거나 접근을 제한하기 위해서는 레지스트리를 활용해야 합니다.
레지스트리를 통해 특정 드라이브를 숨기거나 접근을 제한하기
먼저 레지스트리를 알아보기 전에 드라이브마다 지정된 고유의 값이 있는데 이는 아래와 같습니다.
Drive | 2^n | Dec | Hex | Drive | 2^n | Dec | Hex |
---|---|---|---|---|---|---|---|
A | 2^0 | 1 | 1 | N | 2^13 | 8192 | 2000 |
B | 2^1 | 2 | 2 | O | 2^14 | 16384 | 4000 |
C | 2^2 | 4 | 4 | P | 2^15 | 32768 | 8000 |
D | 2^3 | 8 | 8 | Q | 2^16 | 65536 | 10000 |
E | 2^4 | 16 | 10 | R | 2^17 | 131072 | 20000 |
F | 2^5 | 32 | 20 | S | 2^18 | 262144 | 40000 |
G | 2^6 | 64 | 40 | T | 2^19 | 524288 | 80000 |
H | 2^7 | 128 | 80 | U | 2^20 | 1048576 | 100000 |
I | 2^8 | 256 | 100 | V | 2^21 | 2097152 | 200000 |
J | 2^9 | 512 | 200 | W | 2^22 | 4194304 | 400000 |
K | 2^10 | 1024 | 400 | X | 2^23 | 8388608 | 800000 |
L | 2^11 | 2048 | 800 | Y | 2^24 | 16777216 | 1000000 |
M | 2^12 | 4096 | 1000 | Z | 2^25 | 33554432 | 2000000 |
A 지정 = 1 AB 지정 = 1 + 2 = 3 ABC 지정 = 1 + 2 + 4 = 7 모든 드라이브 지정 = 1 + 2 .... + 33554432 = 67108863(Hex 3FFFFFF) |
즉, A 를 지정하려면 1 을, B 를 지정하려면 2 를, A 와 B 를 함께 지정하려면 이 둘을 더한 3 이 되는 것이죠. 이런 식으로 원하는 드라이브들을 지정할 수 있습니다. 참고로 모든 드라이브를 지정하면 10진수로는 67108863 16진수로는 3FFFFFF 이 됩니다. 간단하죠?
이제 이 내용을 토대로 아래의 레지스트리를 보시길 바랍니다.
특정 드라이브를 숨기는 레지스트리 (ex. Z: 드라이브)
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDrives"=dword:02000000
"NoDrives"=dword:02000000
특정 드라이브로의 접근을 제한하는 레지스트리 (ex Z: 드라이브)
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoViewOnDrive"=dword:02000000
"NoViewOnDrive"=dword:02000000
간단하죠? 참고로 reg.exe 명령이나 .reg 레지스트리 파일에서는 dword 값을 16진수 형태로 입력해 주어야 합니다. 그래서 위의 레지스트리들은 순서대로 Z: 드라이브를 숨기고 Z: 드라이브로의 접근을 막는 것이 되는 것이죠.
이제 동시에 여러 드라이브를 지정할 때에는 각 드라이브들의 값을 더해야 하죠. 근데 이게 10진수로는 계산이 얼른 되는데 이를 reg.exe 명령이나 .reg 파일에서 사용하기 위해 16진수로 변환하고자 할 때에는 좀 어려울 수 있습니다. 그럴 땐 미리 소개해드린 아래의 프로그램을 사용하시면 편리합니다.
HDOD - 간단한 Hex, Dec, Oct, Bin 숫자 변환
아무튼 reg 명령이나 .reg 레지스트리 파일에서는 이렇게 사용하시구요. 간단하게 레지스트리 편집기(regedit.exe)를 통해 직접 작업하시려면 아래와 같이 하시면 됩니다. 예제를 보시죠.
예제 1
E: 드라이브와 F: 드라이브를 탐색기에서 숨기고, 이 중에서 F: 드라이브는 탐색기를 통한 접근도 막습니다.
자 작업을 시작하기 전에 먼저 계산을 해보면 아래와 같습니다. [계산은 10진수로 계산하겠습니다.]
드라이브 숨김(NoDrives) : E + F -> 16 + 32 -> 48
드라이브 제한(NoViewOnDrive) : F -> 32
드라이브 제한(NoViewOnDrive) : F -> 32
그럼 이를 토대로 레지스트리를 편집해 보도록 하죠.
01. 실행 또는 시작 메뉴의 검색란을 통해 레지스트리 편집기(regedit.exe)를 실행한 후 다음의 레지스트리 키로 이동합니다.
02. 해당 레지스트리 키로 이동하였으면 Dword 값을 생성합니다. 이후 값의 이름을 NoDrives 로 변경해 줍니다. [NoDrives = 드라이브 숨기기]
03. 준비된 NoDrives 값의 데이터로 미리 계산한 값을 넣어줍니다. [10진수(Dec) 기준 48 = E + F]
04. 마찬가지의 방법으로 Dword - NoViewOnDrive 값을 생성한 후 값 데이터로 앞서 계산한 값을 넣어줍니다. [10진수(Dec) 기준 32 = F]
05. 결과를 반영하기 위해 시스템을 재시작하거나 로그오프 후 재로그인 합니다.
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
02. 해당 레지스트리 키로 이동하였으면 Dword 값을 생성합니다. 이후 값의 이름을 NoDrives 로 변경해 줍니다. [NoDrives = 드라이브 숨기기]
03. 준비된 NoDrives 값의 데이터로 미리 계산한 값을 넣어줍니다. [10진수(Dec) 기준 48 = E + F]
04. 마찬가지의 방법으로 Dword - NoViewOnDrive 값을 생성한 후 값 데이터로 앞서 계산한 값을 넣어줍니다. [10진수(Dec) 기준 32 = F]
05. 결과를 반영하기 위해 시스템을 재시작하거나 로그오프 후 재로그인 합니다.
윈도우를 다시 시작한 후 윈도우 탐색기를 통해 내 컴퓨터를 살펴본 모습입니다. 작업대로 E: 드라이브와 F: 드라이브가 표시되지 않죠.
이 중에서 E: 드라이브의 경우 단순히 숨기기만 했기 때문에 윈도우 탐색기의 주소 표시줄에서 드라이브 경로를 직접 타이핑하여 접근이 가능합니다.
하지만 F: 드라이브의 경우 NoViewOnDrive 를 통해 탐색기를 통한 접근도 막았기 때문에 접근을 하려면 아래와 같이 거부하게 됩니다.
어떤가요? 이제 NoDrives 와 NoViewOnDrive 값의 정확한 용도를 아실 수 있겠죠? 참고로 해당 값들은 보신 것과 같이 독립적으로 움직입니다. 이는 특정 드라이브를 단순히 숨기기만 할 수도 있고, 숨기지 않고 접근의 제한만 막을 수도 있으며, 숨기고 접근의 제한을 막을 수도 있습니다. 반드시 셋트로 함께 써야한다는 건 아니죠.
또한 이렇게 탐색기에서 숨기고 접근을 막더라도 단순히 탐색기에서만 제한하는 것일 뿐 드라이브 안에 포함된 프로그램이나 파일들을 사용하는데에는 아무런 문제가 없습니다. 그래서 이러한 특성을 활용하여 대부분의 피씨방에선 D: 드라이브에 게임이나 프로그램들을 깔아두고 D: 드라이브를 숨기고 접근을 제한하는 방법을 사용하고 있습니다. 이렇게 설정해 두었다고 우리가 피씨방에서 D: 드라이브에 설치된 게임이나 프로그램을 사용하지 못하는 것은 아니잖아요? 게임 업데이트가 안 되는 것도 아니구요. 그런겁니다.
대신 숨겨두거나 접근을 제한하면 정확한 파일의 경로를 모를 경우(프로그램의 경우 바로 가기가 없거나) 사람들이 해당 드라이브의 파일(프로그램)들을 사용하는데에는 좀 애로가 있겠죠?
해당 방식의 한계
이렇게 레지스트리를 통해 특정 드라이브를 숨기거나 접근을 제한하더라도 해당 드라이브 안에 포함된 파일이나 프로그램들은 사용이 가능하죠. 이는 탐색기(또는 탐색기를 활용하는 기능 - ex 파일 선택 창) 외의 프로그램들을 통한 접근은 가능하다고 말할 수 있습니다. 그래서 토탈 커맨더류의 윈도우 탐색기와는 전혀 별개로 독립적으로 작동하는 파일 관리 프로그램을 통하면 숨겨진 드라이브도 보이고 접근을 제한한 드라이브도 아무런 문제없이 접근이 가능합니다.
근데 생각해보면 이럴 수 밖에 없는 게, 이런 것까지 막으려면 탐색기 뿐만 아니라 모든 프로그램에서 해당 드라이브가 숨겨지거나 접근을 할 수 없게 해야 하는데, 그러면 윈도우에서 해당 드라이브를 아예 쓸 수 없는 게 되버리는 거죠. 그럼 파티션의 드라이브 문자를 제거해버리는거랑 다를 게 없죠.
뭐 그렇습니다. 여기까지 하죠. ^^