IIS 웹서버 그룹 확인하기



    IIS를 통해 웹서버를 구축하다보면 권한 문제로 곤란한 경우가 많습니다. 아니, 비단 윈도우의 문제뿐 아니라 리눅스에서도 서버를 구축하고 나면 권한 문제로 곤란을 겪곤 합니다. 윈도우에서 그룹이나 사용자 별로 권한을 부여하는 방법은 블로그에 있는 글로도 말씀드린 적이 있는데, 사실 몇몇 Ajax 관련 소스들에서 권한에 관련된 이슈가 발생하기도 합니다.


    웹서버에서 쓰고 편집할 수 있는 권한이 있어야 Ajax 기능을 온전히 사용할 수 있기 때문에 권한 관련 이슈는 매번 골머리를 썩게 만들죠.



    기본적으로 IIS에서 일반적인 쓰기 권한을 부여하기 위해서는 IIS_IUSRS 그룹에 권한을 부여하면 되는데, 그 원리는 이렇게 됩니다.


    웹서버인 IIS에서는 새 사이트를 만들게 되면 IIS에서는 새 사이트 이름으로 된 숨겨진 계정들을 만들게 됩니다. 이 때 확인하는 방법은 c:\사용자(영문: c:\users) 폴더에 들어가면 확인할 수 있는데 그 안에 보면 새 사이트를 만들때마다 계정이 추가 되는 것을 확인할 수 있습니다.


    또는 제어판 > 시스템 및 보안 > 시스템 > 고급 시스템 설정 > 사용자 프로필설정 을 클릭하면 아래와 같은 화면이 나오는데, IIS에서 사용하는 계정 정보를 알 수 있습니다.




    그 새로 만들어진 계정의 그룹은 IIS_IUSRS로 설정되는데 그 때문에 웹서버와 관련된 권한을 부여할 때는 IIS_IUSRS 그룹에게 권한을 부여하는 이유입니다. 


    하지만, IIS_IUSRS 권한을 모두 주었는데도 불구하고 pydio 같은 웹 소스를 처음 설치를 할 때, 권한과 관련된 이슈가 자주 발생합니다. 이럴 경우 IIS_IUSRS 보다 더 상위 그룹에 권한을 부여해야 하는데, 제 경험과 느낌상 알 수 있었던 부분을 설명드리고자 합니다.


    저도 경험을 통해 유추한 부분이라 잘못되었을 수도 있습니다. 혹시나 올바른 개념을 알고 계신다면 설명과 함께 지적 부탁드립니다. 좋은 공부하도록 하겠습니다.


    제가 유추한 부분은 이렇습니다. 

    Users 그룹 안에는 많은 유저 그룹들이 있고, 그 중에 웹서버를 담당하는 것이 IUSR, 그리고 그 안에 사이트 개개인의 유저 그룹은 IIS_IUSRS 인 것같습니다.


    그림으로 나타내면 이렇게 될 듯 합니다.





    Users 사이와 IIS_IUSRS 사이에 있는 IUSR 그룹은 IIS 웹서버가 속해있는 그룹입니다. XP까지는 IIS의 그룹으로 IUSR를 사용했고, XP 이후에는 IIS_IUSRS 그룹을 사용하고 있는데, 여전히 필요한 부분이 있습니다.


    실제로도 PHP 명령어 중에 WhoAmI 명령어를 이용하면 웹서버의 그룹을 알 수 있는데, 궁금한 분들은 한번 시도해 보세요.

    새 PHP 파일을 만든 후 다음과 같이 입력합니다. 


    <?php echo exec('whoami'); ?>

     이렇게 파일을 작성하고 웹서버에 올린뒤 브라우저를 통해 http://웹주소/whoami.php 파일을 실행시켜 보면 다음처럼 나옵니다. 혹시나 파일만드는게 귀찮으신 분들은 아래 파일을 이용하세요!

    whoami.php

    즉, 웹서버의 그룹을 IUSR 라는 것을 알 수 있습니다. XP이전에나 사용할 줄 알았는데, 여전히 IIS의 그룹은 IUSR 입니다.


    II_IUSRS그룹에 권한을 충분히 부여했는데도 불구하고 권한문제가 발생한다면 IUSR 그룹의 권한을 부여해본뒤 여전히 권한에 관련된 이슈가 발생한다면 USERS 그룹에 권한을 부여하면 대부분의 권한문제는 해결됩니다.


    권한에 대해서는 윈도우도 리눅스도 중요한 부분이기 때문에 잘 배워놔야 할 듯합니다.







    Posted by Study For Us clamp2x
    • 이전 댓글 더보기
    • 안녕하세요?
      2017.03.23 16:16 신고

      안녕하세요?스터디포어스 내용을 감사히 잘 따라하면서 윈도우에 iis 10 php 7.1 마리아db 로 웹서버를 만들었습니다.
      그누보드 사이트가 잘 설치가 되었는데요 간혹 다른 플러그인들(SNS 로그인, RSS 자동 수집)을 사용할 경우에 500 내부서버 오류가 난다거나 플러그인 자체 에러 메세지가 난다거나 웹사이트 응답시간 초과로 서버와 연결이 끊기는 현상이 발생하고 있습니다. php.ini 나 my.ini 설정도 살펴보고 iis 설정도 살펴봤는데 권한문제가 아닐까 생각이 듭니다.
      현재 계정이 iusr 모든권한 user와 iis_iusrs 는 가운데 세개 권한입니다. 아 그리고 위에 스크린 샷처럼 사용자 프로필에 iis apppool 이라는 항목이 없고 달랑 pc:administrator 와 기본 프로필만 있습니다. 플러그인을 꼭 써야 하는데 도움 좀 주시면 정말 감사하겠습니다.

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2017.03.23 16:59 신고

        php7.1을 지원하지 않는 것들이 많이 있을 겁니다. php7.0을 사용하면 대부분이 해결됩니다. ^^

    • 안녕하세요?
      2017.03.23 19:29 신고

      웹 플랫폼 설치 관리자로 php 7.0.15버전으로 바꾸고 서버 재시작 하고 웹사이트에서 플러그인을 실행해봤는데 타임아웃이 되서 웹페이지를 표시할 수 없다고 나옵니다.
      혹시 다른 짐작가시는 부분 있으세요?
      큰 도움 주셔서 정말 감사합니다.

    • 안녕하세요?
      2017.03.23 19:34 신고

      혹시나 해서 작업관리자를 실행해보니 mysqld.exe가 cpu 10%정도 점유하고 있고 또 php cgi/fastcgi 가 실행되고 있습니다 얼추 5분은 넘은 것 같네요
      서버는 완전히 다운이 되서 다른 페이지 접속도 안되서 타임아웃으로 웹페이지를 표시할 수 없다고 뜹니다. ㅠㅠ
      자꾸 귀찮게 해드려서 죄송해요

    • 안녕하세요?
      2017.03.23 20:24 신고

      네 iis 에서 확인 했습니다

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2017.03.23 20:34 신고

        phpinfo에서 나타난 php 버전이 7.0.15로 나오나요? 그리고 phpinfo가 작동된다는 의미는 php는 제대로 동작한다는 뜻입니다.
        php 관리자 사용하시나요? 그렇다면 mariaDB와도 제대로 연결되었는지 확인해보세요. ^^

    • BlogIcon 안녕하세요?
      2017.03.23 20:45 신고

      네 phpinfo phpmyadmin 에서 php나 mariadb 잘 동작되고 있습니다. 혹시 사용자권한쪽을 손봐야 할까요? 혹시 사이트에서 everyone 모든권한 추가해줘야 할까요?
      저녁시간에 귀한 시간 내주셔서 감사합니다.

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2017.03.23 20:53 신고

        권한과는 큰 상관이 없습니다. 대부분의 500오류는 php와의 연동에서 일어나며 대부분 php버전이 맞지 않을 때, 또는 php 구동을 위한 visual c++의 설치 부재등이 원인입니다.

        특히 특정 플러그인들에서 발생하는 문제이기 때문에 php와 해당 플러그인의 문제일 가능성이 거의 확실합니다.

        그리고 php7.0으로 바꿨는데 사이트 자체가 보여지니 않는다면 visual c++ 이 설치되지 않은게 원인일 가능성이 있습니다. ^^

    • 안녕하세요?
      2017.03.23 21:16 신고

      아그렇군요 제가 특별히visual c++ 설치한 기억은 없습니다. 이것도 웹플랫폼 설치 관리자 통해서 설치하면 될까요?
      한번 해보고 결과 말씀 드리겠습니다. 감사합니다.

    • 안녕하세요?
      2017.03.23 21:20 신고

      visual c++ 재배포 패키지 2008은 설치가 되어 있고 2012를 추가로 설치 했는데 역시 플러그인이 작동안하고 500 에러가 나네요 흐흐
      도움 주셔서 정말 감사합니다. 행복한 저녁시간 되세요 ^^

    • 안녕하세요?
      2017.03.23 21:25 신고

      아 감사합니다 ㅠㅠ

    • 안녕하세요?
      2017.03.23 21:35 신고

      아 2015 버전이 이미 깔려 있었네요 ㅠㅠ

    • 안녕하세요?
      2017.03.23 21:50 신고

      아 죄송한데 비쥬얼 스튜디오용 visual c++ 재배포 패키지는 2013 2015 버전은 있는데 2014 버전은 없는 것 같습니다. 그래서 2013 버전을 설치 했는데 여전하네요

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2017.03.23 21:55 신고

        아참 죄송합니다. 2015였습니다.
        홈페이지는 제대로 열리나요? 가능하다면 alliis.com에서 캡쳐된 이미지와 함께 질문해주시면 더 빠른 답변이 가능할 것 같습니다. ^^

    • 안녕하세요?
      2017.03.23 22:01 신고

      아 네 잘 열리고 있씁니다 게시판 스킨을 바꾼다거나 특정 플러그인을 사용한다거나 할 때 오류가 나거나 내부 서버 오류가 나오는 것 같습니다.
      잘 정리해서 alliis.com 에서 여쭐게요 감사합니다.

    • 질문
      2017.03.30 11:18 신고

      서버 2012 r2로 운영체제 변경후 워드프레스 이미지가 업로드 되지 않습니다. 해당 폴더에 가서 이미지를 클릭하면 엑세스 할 수 없다고 나옵니다. 폴더 권한은 모두 다 체크되어 있는 상태입니다. 폴더 권한을 체크 후 해당 내 파일을 읽어들일 때 새롭게 추가한 파일들은 모두 엑세스에 문제가 있는 것으로 경고창이 떴습니다. 이전 서버에서 백업으로 옮긴 파일에 대한 권한에는 문제가 없으나 신규로 설치된 파일은 모두 엑세스가 되질 않습니다. 현재 체크는 모두 되어 있는 상태라 이제 여기서 어떻게 권한을 설정할 수 있는지 알고 싶습니다.

    • 질문
      2017.03.30 11:30 신고

      해당 파일에 접근해 권한을 설정해 주면 파일에 대한 접근이 가능해 이미지가 표시 됩니다. 그런데 워드프레스 관리모드로 원격에서 서버에 등록되는 모든 파일을 이렇게 수작업으로 권한설정할 수는 없는 것이므로 원인이 무엇인지 알고 싶습니다.

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2017.03.30 12:00 신고

        혹시 이 글에서 내용을 참고해보시고 하위 폴더및 파일에도 같은 권한 적용 하셨는지 확인해보세요. ^^
        http://studyforus.tistory.com/90

    • 질문
      2017.03.30 12:27 신고

      감사합니다. 해결했습니다. 하위 폴더 적용 문제가 맞았네요. 한가지 질문이 더 있습니다. 서버 이전 후 제 서버에서 제 홈페이지 접속이 되지 않는 문제가 발생하고 있습니다. 외부에서는 아이피와 도메인 주소로 접속하는데 아무런 문제가 없는데 제 컴퓨터에서만 접속이 되지 않습니다. iis 관리자에서 홈페이지 보기를 해도 계속 딜레이가 되면서 연결이 되지 않습니다. db나 다른 웹 사이트 접속은 아무 문제가 없는데 제가 운영하고 있는 홈페이지만 접속이 되질 않습니다.

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2017.03.30 12:32 신고

        서버os의 아이피 주소와 실제 외부에서 접속하는 주소가 달라서 그럴겁니다.

        현재 TwinIP같은 설정이 아니라 포트포워딩으로 설정하셨을겁니다. 그럴 땐 twinIP같이 외부의 아이피를 서버에서 사용할 수 있도록 설정하면 됩니다. ^^

    • 질문
      2017.03.30 14:59 신고

      답변 감사합니다. 폴더 권한 관련해서 다시 문제가 발생했습니다. 폴더 권한 설정시 해당 폴더 내에 있는 모든 파일이 읽어지고 이미지도 표기됩니다. 그런데 워드프레스 관리자에서 새롭게 파일을 업로드 하면 이 파일들은 다시 권한이 없다고 나옵니다. 그래서 다시 권한을 수동으로 지정해줘야 하는 문제가 발생합니다. 새로운 파일에 대한 권한이 없는 원인이 뭔지 알고 싶습니다.

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2017.03.30 19:37 신고

        그럼 웹 폴더로 지정한 상위 폴더가 문제일 수도 있습니다. 실제 디렉터리를 드라이브의 루트에다가 다시 해보세요. ^^

    • 질문
      2017.03.31 00:13 신고

      답변 감사합니다. 위 문제는 해결된 것 같은데 워드프레스 플러그인을 설치할때 폴더 만들기 권한이 없다고 나옵니다. 유저 권한은 전체 권한인데 왜 이러한 경고가 나오는 것인가요? 글쓰기 사진 업로드 다 되는데 플러그인 설치가 되지 않습니다. 권한을 이것저것 만져서 뭐가 좀 꼬인것 같습니다.

    • 질문
      2017.03.31 10:47 신고

      운영자님 답변 감사합니다. 서버 2012r2 이며 users 권한을 c드라이브 부터 www/wordpress 폴더까지 모두 최대 권한으로 설정했습니다. 그런데도 플러그인 설치나 업데이트시 디렉토리를 생성할 수 없다고 나옵니다. 삭제는 가능하나 쓰기와 수정이 안됩니다. 권한은 모두 체크 했습니다. 워드프레스 관리자 모드는 users 권한에 달려 있는게 맞죠? 현재 admin이나 다른 사용자도 모두 최대 권한으로 되어 있는 상태입니다.

    • 질문
      2017.03.31 12:10 신고

      여러가지 검색을 해본 결과 워드프레스 자체의 문제인것 같습니다. 현재 모든 유저에 대한 권한이 최대입니다. 가장 유력한 것은 백업파일을 이전하면서 폴더 경로에 문제가 생긴것 같습니다. 물리적인 폴더 경로는 동일하지만 무언가 코드가 안맞는것 같습니다. 워드프레스 내의 php를 수정해야 할것 같은데 혹시 짐작가는 부분이 있으신지요?

    • 질문
      2017.03.31 13:15 신고

      다행이 해결했습니다. 운영자님 관리자 권한을 제가 여기저기 손을봐 좀 정리를 하고 싶습니다. 현재 C드라이브 소유권을 가지고 있는 주 계정이랑, admin, users, iusrs, iis-iusr, system 이 전부다 모든 권한을 가지고 있습니다. 워드프레스 운영이 주 용도인데 주계정과 users만 남기고 다른 모든 계정은 삭제해도 문제가 안될런지요? admin 계정을 그냥 지워버려도 되는지 알고 싶습니다. 그리고 users 권한을 조정하고 싶은데 워드프레스 폴더 내에 있는 모든 권한을 확보하는 것과 일부 폴더만을 선별해서 지정하는 것이 보안상 큰 차이가 있는지 알고 싶습니다.

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2017.03.31 13:36 신고

        가급적 시스템에서 모두 건드릴수도 있기때문에 현재 그대로 두시는 것이 좋습니다. ^^

    • 질문
      2017.03.31 13:42 신고

      Users도 모든 파일에 모든 권한을 소유하고 있어도 별 문제가 없다는 말씀이신가요?

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2017.03.31 17:20 신고

        네. 문제없습니다. 그리고 오히려 users 그룹에 권한이 없는것보다 있는게 낫습니다.

티스토리 툴바