본문 바로가기

개발질

[레지스트리] 간단히 드라이브 숨기기/액세스 금지하기

프로그래머나 컴퓨터 사용자가 특별한 이유에 의해, 어느 특정한 드라이브를 숨기고자 할때 레지스트리를 이용해 간단히 숨기고, 액세스를 금지시킬 수 있다.

이 방법은 HKEY_LOCAL_MACHINE 혹은 HKEY_CURRENT_USER 루트키의
\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer 키에 값을 추가하여 설정한다.

HKEY_LOCAL_MACHINE 과 HKEY_CURRENT_USER 의 차이는 모든 유저에게 적용할 것인지, 현재 로그인된 유저에게만 적용할지의 차이이다.(전자가 모든 유저)

드라이브 액세스 금지 (NoViewOnDrive : DWORD 값)
NoViewOnDrive 이름의 DWORD값으로 드라이브 액세스를 금지시킬 수 있다.
D드라이브에 적용하고자 한다면 데이터에 8(10진수)을 넣어주면 된다.
이 값을 적용하면 해당 드라이브의 액세스는 금지되나 탐색기에는 계속 나타난다.

드라이브 숨기기 (NoDrives : DWORD 값)
NoDrives 이름의 DWORD값으로 드라이브 액세스를 금지시킬 수 있다.
E드라이브에 적용하고자 한다면 데이터에 16(10진수)을 넣어주면 된다.
이 값을 적용하면 해등 드라이브가 탐색기에는 나타나지 않으나, 직접 경로를 적어 실행하면 액세스가 된다.

두 값을 동시에 적용하면, 해당 드라이브의 접속을 막을 수 있다.
하지만 위에것만으로는 안심할 수는 없다.
알다싶이 이미 널리 알려져있는 방법이기 때문에, 보안성에 더 신경을 쓴다면 추가적인 처리(레지스트리를 못건들게 한다든지 등..)가 필요할 것이다.

적용 드라이브 설정법 자세히 알기
드라이브 설정은 숫자로 한다.
방법은 다음과 같다.
A드라이브 => 1
B드라이브 => 2
C드라이브 => 4
D드라이브 => 8
...

이쯤되면 눈치챘을지 모르겠지만, 2의 n-1제곱이 해당 드라이브의 숫자가 된다.
예를들어 E드라이브라면 E는 알파벳의 다섯번째 이니깐 2의 5-1제곱이 된다.
2^(5-1) = 16

여러드라이브를 설정하고자 한다면 해당 드라이브의 숫자를 합하면 된다.
예를들어 D드라이브와 F드라이브를 설정하고자 한다면
2^(4-1) = 8
2^(6-1) = 32
8 + 32 = 40

40을 설정하면 된다.

관련링크 :

'개발질' 카테고리의 다른 글

[티스토리 팁] 간단하게 카테고리 항상 펼치기!  (9) 2009.01.09