= 아파치 사용자 인증걸기 = [[TableOfContents]] == apache conf 수정하기 == {{{ns conf # pwd /etc/apache2/conf ns conf # vi commonapache2.conf --- 아래부분을 추가해준다 --- AllowOverride All --> 이 부분이 All 로 되어있어야 동작한다, None 은 안됨 !!! Options ExecCGI Order allow,deny Allow from all ... ns conf # /etc/init.d/apache2 restart (아파치를 재시작 해준다)}}} == 아파치 인증을 적용할 디렉토리에 .htaccess 파일 만들기 == 이제 아파치 인증을 적용할 디렉토리로 이동하자. {{{ ns conf # /var/www/tongseob.info/viewcvs}}} .htaccess 파일내용{{{ ns viewcvs # cat .htaccess AuthType Basic AuthName "tongseob's web cvs" AuthUserFile /var/www/tongseob.info/.httongseob Require valid-user}}} * /var/www/tongseob.info/.httongseob 이 파일은 한단계 상위디렉토리에 적어주는게 좋다. ==> apache 에서 .ht 로 시작하면 보안상 접근할 수 있는 파일이 된다. AuthType 인증 유형을 설정하는 지시자다. Basic과 Digest를 설정할 수 있다. Digest의 경우 MD5 방식을 사용하는데 MD5를 지원하는 브라우저가 제한 되어 있기 때문에 이 강좌에서는 언급하지 않겠다. AuthName 인증창의 제목이라고 생각하면 된다. 간단한 스트링을 입력해서 설정하는것이 바람직하다. AuthUserFile 사용자 User_ID 정보와 Password 정보가 들어 있는 파일을 지정해 주는 것이다. 보안상 꼭 웹 문서 디렉토리 밖에 위치 시키는 것이 좋다. 이 파일은 나중에 만들것이기 때문에 이 파일이 없다고 투덜 거리지 마시길.. Require 인증할 대상을 지정한다. Revalid-user -> AuthUserFile에 등록된 모든 사용자를 인증을 통해 받아 들인다는 설정 Require user 사용자1 사용자2 --> 사용자1과 사용자2만 인증을 통해 받아 들인다는 설정 Require group 그룹1 그룹2 --> 그룹1 과 그룹2 에 속하는 사용자만을 인증을 통해 받아 들인다는 설정 Require 지시자는 하나의 .htaccess 파일에 2개 이상 설정을 할 수도 있다. == 사용자 추가하기 == 아파치 인증에 사용할 사용자 추가는 아파치의 bin 디렉토리 안에 있는 htpasswd 라는 명령어로 추가한다. 사용방법은 아주 간단하지만 주의를 기울려야 될 부분이 있다. 일반적인 사용법은 다음과 같다. htpasswd [ -c ] AuthUserFile 사용자명 괄호 안에 있는 -c 옵션은 처음 사용자를 등록할 때 필요한 옵션이다. AuthUserFile 경로 앞에 -c 옵션을 추가 하게 되면 AuthUserFile 파일에서 지정한 파일을 만들어 준다. 절대 2번째 사용자 등록부터는 -c 옵션을 쓰면 안된다. 만약 실수로 -c 옵션을 쓸 경우 전에 있던 파일은 날라가고 새로운 파일이 만들어 지기 때문에 각별히 주의 해야 된다. == 특정 사용자를 그룹에 추가 하기 == 아파치 인증은 사용자 뿐만아니라 그룹에 대해서도 인증을 할 수 있다. 특정 그룹을 아파치 인증을 통해 접근을 허가하기 위해서는 해당 디렉토리 안에 있는 .htaccess 파일에 AuthGroupFile 지시자를 이용해 그룹 정보가 담겨있는 파일의 경로를 지정하고 그룹 파일을 만들어 주면 된다. [ .htaccess 파일에 추가할 부분 ] AuthUserFile /var/www/tongseob.info/.httongseob AuthGroupFile /var/www/tongseob.info/.htgroup 위와같은 형식이다 {{{# cat .htgroup admin: aaaa bbbb}}}