• Daum블로그로 구독
  • HanRSS
  • Google
  • RSS
  • Bloglines

IT2011. 4. 19. 19:44

Windows XP에서 Net Share, Cacls로 폴더 공유 하기


net share, cacls, 폴더 공유,공유 권한, windows XP 공유

간혹, Windows XP 상에서 DOS Command를 사용하여 폴더를 공유 해야할 경우가 있습니다. 이럴때 사용하는 Net Share라는 명령어가 있습니다. 컴퓨터를 좀 다루시는 분이라면 익히 알고 있으리라고 생각됩니다.

그런데 우찌된 일인지 Net Share 명령어를 사용하여 폴더 공유를 하게되면 폴더 아이콘에는 공유 표시가 되는데 실상 다른 PC에서 접근시 권한이 없다는 메시지가 표시되는 경우가 있습니다.

Net Share 명령만으로는 정상적으로 공유가 되지 않습니다. 물론 유저가 직접 폴더의 공유 속성을 변경도 가능하지만 프로그램을 제작하는 입장에서는 완성도를 떨어뜨리는 일이 것입니다.

그럼 천천히 살펴 보겠습니다.

[Net Share 구문]
Net Share 공유명=공유폴더 [/USERS:허용인원(숫자)] [/remark 설명]
자세한 설명은 cmd창에서 Net share /help를 치시면하시면 보실 수 있습니다.


예) "E:\4CS\UTIL" 폴더를 4Cs라는 공유명으로 공유를하되 허용 인원을 5명으로 제한할 경우
      net share 4Cs="E:\4CS\UTIL" /USERS:5

E:\4CS\ 폴더로 이동하여 UTIL 폴더를 보면 폴더 아이콘에 공유 마크인 손바닥이 표시가 되어 있습니다.


그리고 속성창을 보아도 의도했던 설정대로 공유가 되어 있는 것을 확인할 수가 있습니다.
(아래 공유 속성창을 보기위해서는 [도구]->[폴더 옵션]->[보기]에서 "모든 사용자에게 동일한 폴더 공유 권한 지정(권장)"의 체크를 해제하시면 됩니다.)


그러나 다른 PC에서 접근을 할려고 하면 하단의 그림과 같이 오류 메시지가 표시됩니다. 경고창은 권한이 없어 액세스가 거부되었는 내용입니다.

이럴 경우는 사용자의 액세스 권한 설정을 해주어야 합니다. 이때 사용되는 명령어는 CACLS 입니다.

[CACLS 구문]

cacls FileName [/t] [/e] [/c] [/g User:permission] [/r User [...]] [/p User:permission [...]] [/d User [...]]
자세한 설명은 cmd창에서 cacls /help를 치시면하시면 보실 수 있습니다. (win7에서는 icacls로 변경되었습니다.)


예) "E:\4CS\UTIL" 폴더의 제어 속성을 수정(/E)하되 모든 사용자(/G "everynoe")에게 모든 권한(:F)을 주고자 할 경우
      cacls "E:\4CS\UTIL" /E /G "everyone":F

cacls 명령을 실행하고 난 후 다른 PC에서 접속을 하면 정상적으로 이루어지며 해당 공유 폴더의 내용을 확인할 수 있습니다.


결론적으로 windowsXP에서 CMD명령어로 폴더 공유를 하기 위해서는 Net Share와 Cacls 명령어를 같이 사용하여야 될 것 같습니다.

net share 4Cs="E:\4CS\UTIL" /USERS:5
cacls "E:\4CS\UTIL" /E /G "everyone":F


배치화일로 만들면 편하리라 생각됩니다.


Posted by 4Cs