윈도우 비스타에서는 관리자 계정으로 로그온 한 경우에도 특정 시스템 파일-hal.dll, winload.exe등-을 삭제하거나, 이름을 변경하는 따위의 작업을 할 수 없다. 대부분의 사용자는 이러한 시스템 파일과 관련한 작업을 할 필요가 없기 때문에 안전과 보안을 위해 이렇게 설정되어 있는 것이다. 그러나, 부팅 화면을 바꾼다든지 로그온 화면을 바꾼다든지 하는 경우 특정 시스템 파일을 백업한 후 새로운 파일로 변경해야 하는데, 윈도우 비스타에서는 파일 권한을 획득하지 않으면 이런 작업은 불가능하다. 하지만, 아래의 명령을 기억하고 있으면 파일 권한을 획득하여 원하는 작업을 할 수 있다. 단, 보안과 안전에 문제가 생길 수도 있으므로 반드시 필요한 경우가 아니면 적용하지 말기를 권한다.

특정 시스템 파일에 대한 권한을 획득하려면 두 가지 명령이 필요하다. 첫 번째는 파일에 대한 소유 권한을 획득하고 그 다음으로 파일 접근 권한을 획득해야 한다. 예를 들어, C:\Windows\Wystem32\ko-KR 폴더에 있는 winload.exe.mui 파일에 대한 권한을 획득하려 한다고 가정해 보자.

  • 우선 명령 프롬프트를 관리자 권한으로 실행한다. 시작 메뉴의 검색 박스에 cmd.exe를 입력한 후 프로그램 목록에 표시된 cmd.exe를 마우스 오른쪽 클릭한 후 '관리자 권한으로 실행'을 클릭한다. 또는 마우스 오른쪽 클릭할 필요 없이 Ctl+Shift+Enter키를 동시에 눌러도 된다.
  • 이제 명령 프롬프트 상에
    takeown /f c:\windows/system32/ko-kr/winload.exe.mui
    를 입력한 후 Enter키를 누른다. 아래와 비슷한 메시지가 표시되면 성공이다. 이로써 winload.exe.mui 에 대한 파일 권한을 현재 로그온 한 사용자가 갖게 된다. 위 명령에서 /f 는 filename을 의미한다.
    takeown
  • 이번에는 명령 프롬프트 상에
    clcls c:\windows/system32/ko-kr/winload.exe.mui /g 사용자계정이름:F
    를 입력한 후 Enter 키를 누른다. 이때 '사용자 계정 이름' 대신 자신의 로그온 이름을 입력해야 한다.
  • 이제 명령 프롬프트 상에 ‘계속하시겠습니까? (Y/N)’가 표시될 것이다. y를 입력한 후 Enter 키를 누른다. 아래와 비슷한 메시지가 표시되면 성공이다.
    cacls
    이로써 이제 파일에 대한 모든 접근(Full Contol) 권한도 얻게 되었다. 위에서 /g는 grant(수여함), :F는 Full Control을 의미한다.

같은 방법으로 takeown과 cacls 명령을 이용하면 다른 파일에 대한 소유 권한과 접근 권한도 얻을 수 있게 되어 삭제, 이름 변경, 덮어쓰기 등의 작업을 할 수 있게 된다. 단, 앞에서 언급한 것처럼 시스템 파일이 아닌 일반 파일은 이 명령을 쓸 필요가 없고 특정 시스템 파일에만 이 명령어를 이용하면 된다. 물론, 꼭 필요한 경우가 아니면 파일에 대한 권한을 변경하지 말 것을 권한다.

Posted by 퓨전마법사
,