
단지 한 컴퓨터에 로그온하는 것을 제한하는 것외에 Windows NT는 다중 로그온을 막는 어떠한 표준적인 방법도 지원하지 않는다. 여기에 효과적인 방법이있다.
- 각 사용자의 홈디렉토리에대한 숨은 공유를 생성하고 그 사용자에대해서만 공유 권한을 할당한다. 필자는 공유명을 추측하는 것을 막기위해 의미없는 문자열을 사용한다. 예:a1hl2o$. 허용을 1명까지로 설정한다.
- 각 사용자의 홈디렉토리에 그 사용자만 읽기권한을 갖는 %UserName%.txt 파일을 생성한다.
- 로그온 스크립트 문제 해결하기로 KixTart 로그온 스크립트를 구현한다.
- 로그온 스크립트(cookie1문 바로전)에 다음과 같은 것을 추가한다.
$K = "@LSERVER" + "\" + "NETLOGON" + "\" + "Once.txt"
$J = "x:\" + "@USERID" + ".txt"
if exist ("$J")
goto done
endif
CLS
AT (1,1)
display "$K"
Sleep 3
$RC = shutdown("","Shutdown in progress!", 0, 1, 0)
:done
여기서 once.txt은 NetLogon 공유에 있으며 다음과 같은 내용을 포함한다.
넌 한번에 한번만 로그인 할수 있어. 임마.
CTRL + ALT + DELETE를 누르고
시스템 종료를 눌러라
이 방법이 왜 동작하는가? 단지 한명의 사용자만이 사용자 공유로 접속하는 것이 허용되므로 로그온 스크립트내의
use 명령은 이 공유에대해 하나의 접속이라도 존재하면 네트웍 드라이브 연결에 실패하게된다. 이 것은
if exist을 거짓이 되게하며,
shutdown 프로세스를 호출한다. 로그온 스크립트는 종료되지 않았으므로
once.txt에서 요청한 키입력을 필요로 한다. 만약 사용자가 이들 명령을 따르지 않으면 시스템 종료가 지연되기때문에 로그온을 종료할 수 없다.