복사 방지 스크립트

2013년 8월 2일 금요일

[Windows. S] 파일/폴더 소유권, 접근권한 변경 (CMD 활용)

소유권 : TAKEOWN, 접근권한 : ICACLS

TAKEOWN



이 명령어는 이름 그대로 소유권을 가져올 때 사용.

TakeOwn /F "파일이나 폴더 이름"

이렇게 하면 현재 로그온된 사용자가 소유권을 가지게 되며,
그런데 폴더인 경우 하위 폴더와 그 안에 존재하는 파일들에 전부 적용해야되는경우, Recursive 라는 단어로,
여기서 /R 옵션을 붙여주시면 하위 폴더에도 일괄 적용된다.

그런데 폴더 목록 권한이 없는 경우 물음 창이 자주 뜰 수 있으니, 이 경우 /D Y를 붙여줌.

따라서 가장 추천하는 완성형 명령어는 아래와 같다.

TakeOwn /F "파일이나 폴더 이름" /R /D Y

※ 참고 : 위에 " " 따옴표를 해주는 이유는, 경로에 빈칸이 있는경우 따옴표를 쳐주는데,
          그렇지 않을 시, 띄어쓰기 다음 단어의 이름이 연속성을 띄는것인지에 대한 구분을 못한다.
          빈칸이 없더라도 따옴표 사용시 문제되는것은 없다.



ICACLS

일단 TAKEOWN으로 소유권을 가져왔다면

이제 내 마음대로 접근 권한을 편집할 수 있게된다.

권한이라 하면 일반적으로 R - 읽기, W - 쓰기, M - 수정, D - 삭제 등이 떠오르는데,
여기서는 간단히 모든 권한 "F"에 대해서만 살펴본다.

기본적으로 아래와 같이 사용.

ICACLS "파일이나 폴더 이름" /GRANT USERNAME:F

위 명령어는 USERNAME에게 모든 접근 권한을 허용하겠다는 것이고
만약 읽기, 쓰기 권한만 주겠다면 괄호로 묶자.

ICACLS "파일이나 폴더 이름" /GRANT USERNAME:(R,W)

폴더인 경우 모든 하위 폴더와 파일에도 적용을 필요로 한다면,
이번엔 /R 옵션이 아니라 /T 옵션을 사용.

ICACLS "파일이나 폴더 이름" /GRANT USERNAME:F /T

또한 처리된 파일에 대해 결과를 계속해서 보여주기 때문에 화면이 좀 지저분해지는데,

/Q 옵션을 붙여주면 조용히 처리 된다.

따라서 모든 사용자에게 모든 권한을 부여하려는 경우 아래와 같이 입력하면 됨.

ICACLS "파일이나 폴더 이름" /GRANT Everyone:F /T /Q



출처 : http://snoopybox.co.kr/1510