윈도우 파일 권한/소유자 변경 명령어 – Takeown Cacls

권한과 소유자를 명령어를 통해서도 구현할 수 있도록 Takeown, Cacls 명령을 통해 통제 할 수 있다.

먼저 Cacls에 대해 확인해보자

Cacls는 명령창을 통해 파일의 권한을 변경할 수 있다.

본 명령은 여러 파일을 서로 다른 권한으로 변경하여야 하거나, 여러 컴퓨터에 적용시 유용한 명령어이다.

윈도우 파일 권한/소유자 변경 명령어 – Takeown Cacls

[그림] 비스타부터 Cacls와 Icacls 함께 제공

Icacls는 권한 변경뿐만 아니라 현재 권한 내용을 파일로 저장 및 복원이 가능하다.

사전에 Icacls를 이용하여 설정한 고유한 권한을 백업해 두었다면, 권한 설정중 문제가 발생하였거나, 다른 컴퓨터에 동일한 권한을 지정하고자 할 때, 권한을 편리하게 복원 시킬 수 있다.

사용할 수 있는 옵션은 다음과 같다.

/save         현재 설정된 권한을 ACLfile로 저장한다.

/restore        저장된 ACLFile을 복원한다.

/setowner    Takeown을 이용하여, 소유자를 변경한다.

/findsid        설정한 SID와 일치하는 파일을 찾는다.

/grant        권한을 설정(허용)

/deny        권한을 해제(거부)

/remove        해당 SID(계정)에 대한 권한을 삭제

/setintegritylevel [(CI)(OI)] 디렉토리에 적용되는 명령으로, 컨테이너와 개체 수준에 맞게 권한이 일치하는 모든 파일에 추가된다. 권한과 관련된 오류가 발생하였을 때 유용하다.

/inheritance     상속과 관련된 옵션으로, e를 통해 상속을 할 수 있도록

:e 상속 설정

:d 상속 해제

:r 이미 상속된 권한 제거

권한 설정에 대해 세부 내용이 많으므로, 여기서는 자주 사용하는 몇가지 예를 통해 알아보도록 하자.

// C:\Windows\System32\sethc.exe파일의 권한을 Administrator에게 전체 권한을 설정

icacls C:\Windows\System32\sethc.exe /grant Administrator:F

// C:\Windows\System32\sethc.exe파일의 권한을 Administrator에게 특수 권한(읽기 제어)와 삭제 권한을 설정

icacls file /grant Administrator:(D,RC)

//C:\Windows의 모든 파일에 대한 권한 설정을 Aclfile에 저장

icacls c:\windows\* /save Aclfile

[내용] Icacls 사용 예

권한에 대한 옵션은 다음과 같다.

일반 권한:(괄호 구분없이 사용가능)

N – 권한 없음

F – 모든 권한

M – 수정 권한

RX – 읽기 및 실행 권한

R – 읽기 전용 권한

W – 쓰기 전용 권한

D – 삭제 권한

특정 권한: (괄호를 통해 사용하여야 함)

DE – 삭제

RC – 읽기 제어

WDAC – DAC 쓰기

WO – 쓰기 소유자

S – 동기화

AS – 액세스 시스템 보안

MA – 최대한 허용

GR – 일반 읽기

GW – 일반 쓰기

GE – 일반 실행

GA – 일반 전체

RD – 데이터 읽기/디렉터리 나열

WD – 데이터 쓰기/파일 추가

AD – 데이터 추가/하위 디렉터리 추가

REA – 확장 특성 읽기

WEA – 확장 특성 쓰기

X – 실행/트래버스

DC – 자식 삭제

RA – 특성 읽기

WA – 특성 쓰기

이제 TakeOwn에 대해 알아보자, TakeOwn은 파일의 소유자를 가지고 올수 있는 명령어기반 프로그램인다. 소유자란 해당 파일의 권한을 변경할 수 있는 권한을 말하며, 만약 소유자권한이 없을 경우 파일 권한을 변경할 수 없다. 이는 파일에 내용을 읽고, 저장하는 것과 혼동하여서는 않된다.

파일의 저장할 수 있어도, 파일 삭제권한이 없다면 소유권이 없는 이상 삭제 권한을 추가할 수 없기 때문에 해당 사용자가 파일을 삭제하지는 못하게 된다.

[그림] Administrators 그룹이외 파일의 권한을 변경할 수 없다.

이러한 소유자를 Takeown 명령을 통해 편리하게 변경할 수 있다.

Takeown에서 제공하는 옵션은 다음과 같다.

/S system        연결할 원격 시스템을 지정합니다.

/U [도메인\]user        명령을 실행할 사용자 컨텍스트를 지정합니다.

/P [패스워드]        /U를 사용하엿을 경우, 해당 계정에 대한 암호를 지정한다. 생략된 경우 질의화면이 나타난다.

/F 파일이름         파일 이름 또는 디렉터리 이름 패턴을 지정합니다. 패턴은 “*” 와일드카드를 이용해 범위를 지정할 수 있다. sharename\filename 형식으로 지정할 수도 있다.

/A            현재 사용자가 아닌, 관리자 그룹에게 소유권을 줍니다.

/R            지정한 디렉터리 및 모든 하위 디렉터리까지 포함하도록 한다.

/D prompt        /R를 사용하였을 경우 디렉터리에 대한 “폴더 목록” 권한이 없는 경우 사용하는 기본 응답 유형을 지정한다. 소유권을 가지려면 “Y”, 건너뛰려면 “N”

그럼 파일의 권한을 변경해 보도록 하자.

Takeown /f C:\Windows\System32\sethc.exe

[내용]sethc.exe의 소유자를 현재 사용자로 변경된다.

Facebook Comments

Leave A Reply

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.