윈도우10 자동업데이트 끄기의
cmd명령어를 다루는 부분에 대한
상세 설명 자료입니다.
[ 명령어 세부사항 ]
* 중괄호({ , })는 실제 입력시 사용하지 않습니다.
○ dir /q | find "{target}"
: dir /q는 해당 디렉토리와 그 안의 파일에 대해
소유자가 누구인지를 표시해준다.
거기에, find를 덧붙임으로써 {target}에
대한 정보만을 표시한다.
(리눅스에서는 grep, 윈도우에서는 find)
○ icacls "{target}"
: {target}에 대해서, 사용자별 권한을 표시한다.
(RX : 읽기 및 실행, F : 모든 권한)
○ takeown /f "{target}"
: 현재 사용자가 소유자가 되도록 만든다.
(관리자권한으로 cmd를 실행시켰을 때,
해당 파일의 소유자가 누구이고 권한이
어찌되건 관계없이 사용자가 소유할 수
있게 만들어준다.)
★ icacls에서도 소유자를 바꿀 수 있으나,
변경 권한이 없으면, 손을 댈 수 없는데
takeown을 이용하면 가능해진다.
(icacls는 지정한 사용자, takeown은 본인)
○ icacls "{target}" /grant {사용자}:{권한}
○ icacls "{target}" /deny {사용자}:{권한}
: 지정한 사용자에게, 지정한 권한을 부여한다.
(grant는 허용, deny는 거부로 설정된다.)
(권한에 관한 상세정보는 아래 참고자료 확인)
+ grant:r 개념도 있는데 아래 부분 확인
○ icacls "{target}" /grant administrators:F
: Administrators에게 target에 대한
모든 권한을 부여한다.
(*administrators가 정확한 어드민의 이름임)
: * Admin에게 모든 권한을 부여해야 하는 이유는
만약, Admin이 RX(읽기실행)권한만 존재한다면
소유자를 TrustedInstaller로 되돌리는데
액세스가 거부되어 처리하지 못하기 때문이다.
* 중요한 시스템 파일이 아니라면 굳이
TrustedInstaller로 소유자를 복원시킬 필요는 없다.
○ icacls "{target}" /setowner
"NT Service\TrustedInstaller"
: 소유자를 TrustedInstaller로 변경한다.
* dir /q | find "{target}" 명령어로
소유자 변경여부를 확인할 수 있음.
* 시스템 파일의 경우, 소유자 원상복구이며
일반 사용자 레벨에서의 권한 편집을 막아
해킹 및 공격의 위험을 방지한다.
○ icacls "{target}" /grant:r administrators:RX
: Admin의 권한을 RX(읽기실행)로 처리해서
더 이상 Admin에서도 {target}에 대해
접근할 수 없도록 만든다. (빠져나오기)
+ 여기서 /grant:r이 사용되는데,
그냥 /grant로 해버리면, RX권한보다 F권한이
훨씬 더 넓은 범주이므로 권한 수정이 안된다.
/grant:r을 쓰면, 지정한 권한만 활성화시키므로
RX(읽기실행) 권한만 있도록 할 수 있다.
[ 배치파일 내용 분석 ]
[ 기타 명령어 ]
○ @echo off
: @echo off를 사용하면, 위와 같이
명령어 입력 영역과 명령어 부분을 숨길 수 있다.
○ chcp 65001
: chcp 65001을 이용하여 cmd의 인코딩을
UTF-8로 변경한다.
* 다만, 코드 내의 한글은 정상 표시되게 하지만,
cmd에서 표시하는 메시지는 한글에서
영어로 변경되는 현상이 있다.
○ pause;
: bat(배치파일)에서는 사용자 입력 대기 같은
기다림이 필요한 상황이 아니라면,
명령어만 실행하고 바로 창이 닫혀버린다.
pause;를 이용하여 바로 닫히지 않고
명령을 전부 실행한 후, 사용자의 응답을
대기하게 하여, 명령어의 실행결과 등을
확인할 수 있게 해준다.
[ 업데이트 활성/비활성 ]
○ sc config "{target}" start=disabled
: target(서비스)를 사용안함으로 바꾼다.
* disable = 사용안함
* demend = 수동
* auto = 자동
○ sc stop "{target}"
: target(서비스)를 강제로 중지시킨다.
(* stop대신에 start는 시작)
* 서비스가 수동 or 자동 이라면,
관련 프로그램이나 서비스가 동작할 때
알아서 시작되므로 start는 굳이
설명하지 않는다.
[ 업데이트 복원 동작 활성/비활성 ]
○ takeown /f "{target}"
: target에 대해, 소유자를 사용자(본인)
으로 전환한다.
○ icacls "{target}" /deny system:RX
○ icacls "{target}" /grant:r system:RX
: target에 대해, SYSTEM(사용자)의
RX(읽기 및 실행)권한을 거부로 설정한다.
(/grant:r로 하면 권한을 허용한다.)
-> SYSTEM이 target을 읽기/실행 할 수 없게한다.
(윈도우 자동 업데이트 끄기의 핵심)
○ icacls "{target}" /grant administrators:F
: target에 대해, 어드민(사용자)이
모든 권한을 가지게 한다.
○ icacls "{target}" /setowner
"NT Service\TrustedInstaller"
: target에 대한 소유자를 TrustedInstaller로
변경한다. (보안처리)
○ icacls "{target}" /grant:r administrators:RX
: target에 대해, 어드민의 권한을
읽기 및 실행(RX)로 변경하여,
어드민이 target을 수정할 수 없는
상태로 만든다. (빠져나오기)
[ 참고자료 ]
ㄴ TrustedInstaller로 소유자를 바꾸는 방법
(ctrl+f(찾기)에서 3번째에 있음.)
댓글