mirror of
				https://github.com/apache/httpd.git
				synced 2025-11-03 17:53:20 +03:00 
			
		
		
		
	git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1673807 13f79535-47bb-0310-9956-ffa450edef68
		
			
				
	
	
		
			167 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			167 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?xml version="1.0" encoding="EUC-KR" ?>
 | 
						|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
 | 
						|
<?xml-stylesheet type="text/xsl" href="../style/manual.ko.xsl"?>
 | 
						|
<!-- English Revision: 151408:1673582 (outdated) -->
 | 
						|
 | 
						|
<!--
 | 
						|
 Licensed to the Apache Software Foundation (ASF) under one or more
 | 
						|
 contributor license agreements.  See the NOTICE file distributed with
 | 
						|
 this work for additional information regarding copyright ownership.
 | 
						|
 The ASF licenses this file to You under the Apache License, Version 2.0
 | 
						|
 (the "License"); you may not use this file except in compliance with
 | 
						|
 the License.  You may obtain a copy of the License at
 | 
						|
 | 
						|
     http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
 | 
						|
 Unless required by applicable law or agreed to in writing, software
 | 
						|
 distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
 See the License for the specific language governing permissions and
 | 
						|
 limitations under the License.
 | 
						|
-->
 | 
						|
 | 
						|
<modulesynopsis metafile="mod_authz_owner.xml.meta">
 | 
						|
 | 
						|
<name>mod_authz_owner</name> 
 | 
						|
<description>파일 소유자를 이용한 권한부여</description>
 | 
						|
<status>Extension</status>
 | 
						|
<sourcefile>mod_authz_owner.c</sourcefile>
 | 
						|
<identifier>authz_owner_module</identifier>
 | 
						|
<compatibility>아파치 2.1 이후부터</compatibility>
 | 
						|
 | 
						|
<summary>
 | 
						|
    <p>이 모듈은 HTTP 인증에 사용한 사용자 아이디(웹 사용자
 | 
						|
    아이디)를 요청한 파일의 파일시스템 소유자/그룹과 비교하여
 | 
						|
    파일의 접근권한을 부여한다. 여기서 사용자명과 암호는 이미
 | 
						|
    <module>mod_auth_basic</module>이나
 | 
						|
    <module>mod_auth_digest</module> 같은 인증모듈의 확인을
 | 
						|
    거쳤다. <module>mod_authz_owner</module>는 <directive
 | 
						|
    module="core">Require</directive> 지시어의 다음 두 아규먼트,
 | 
						|
    <code>file-owner</code>와 <code>file-group</code>을 처리한다:</p>
 | 
						|
 | 
						|
    <dl>
 | 
						|
      <dt><code>file-owner</code></dt>
 | 
						|
      <dd>웹 사용자명이 요청한 파일 소유자의 시스템 이름과 같아야
 | 
						|
      한다. 즉, 운영체제가 요청한 파일의 소유자가
 | 
						|
      <code>jones</code>라면, 웹을 통해 파일에 접근하는 사용자도
 | 
						|
      마찬가지로 <code>jones</code>이어야 한다.</dd>
 | 
						|
 | 
						|
      <dt><code>file-group</code></dt>
 | 
						|
      <dd>파일을 소유한 시스템 그룹명이
 | 
						|
      <module>mod_authz_groupfile</module>이나
 | 
						|
      <module>mod_authz_dbm</module>과 같은 그룹 데이터베이스에
 | 
						|
      있고, 웹 사용자명이 해당 그룹에 속해야 한다. 예를 들어,
 | 
						|
      운영체제가 요청한 파일을 <code>accounts</code> (시스템)
 | 
						|
      그룹이 소유하고 있다면, 그룹 데이터베이스에
 | 
						|
      <code>accounts</code>라는 그룹이 있고 요청에 사용한 웹
 | 
						|
      사용자명이 그 그룹에 속해야 한다.</dd>
 | 
						|
    </dl>
 | 
						|
 | 
						|
    <note><title>주의</title>
 | 
						|
      <p><module>mod_authz_owner</module>가 실제로 파일시스템에
 | 
						|
      있지 않는 자원을 (<em>즉,</em> 가상 자원) 권한부여한다면,
 | 
						|
      접근을 거부한다.</p>
 | 
						|
 | 
						|
      <p>특히 <a
 | 
						|
      href="../content-negotiation.html#multiviews">내용협상한
 | 
						|
      "MultiViews"</a> 자원을 권한부여하지 않는다.</p>
 | 
						|
    </note>
 | 
						|
</summary>
 | 
						|
<seealso><directive module="core">Require</directive></seealso>
 | 
						|
<seealso><directive module="core">Satisfy</directive></seealso>
 | 
						|
 | 
						|
<section id="examples"><title>설정 예제</title>
 | 
						|
 | 
						|
    <section id="examples.file-owner"><title>Require file-owner</title>
 | 
						|
      <p>아파치 웹서버를 운영하는 다중사용자 시스템에서 각 사용자가
 | 
						|
      <code>~/public_html/private</code>에 자신의 파일을 저장한다고
 | 
						|
      가정하자. 모든 웹 사용자명을 저장하는 <directive
 | 
						|
      module="mod_authn_dbm">AuthDBMUserFile</directive>
 | 
						|
      데이터베이스가 있고, 여기에 저장된 사용자명은 서버에서
 | 
						|
      실제 파일을 소유하는 시스템 사용자명과 동일하다. 이 경우
 | 
						|
      아래 설정은 파일 소유자에게만 접근을 허용한다. 사용자
 | 
						|
      <code>jones</code>는 파일을 <code>jones</code>가 아닌
 | 
						|
      <code>smith</code>가 소유하고 있는 한
 | 
						|
      <code>/home/smith/public_html/private</code>에 있는 파일에
 | 
						|
      접근할 수 없다.</p>
 | 
						|
 | 
						|
      <example>
 | 
						|
        <Directory /home/*/public_html/private><br />
 | 
						|
        <indent>
 | 
						|
          AuthType Basic<br />
 | 
						|
          AuthName MyPrivateFiles<br />
 | 
						|
          AuthBasicProvider dbm<br />
 | 
						|
          AuthDBMUserFile /usr/local/apache2/etc/.htdbm-all<br />
 | 
						|
          Satisfy All<br />
 | 
						|
          Require file-owner<br />
 | 
						|
        </indent>
 | 
						|
        </Directory>
 | 
						|
      </example>
 | 
						|
    </section>
 | 
						|
 | 
						|
    <section id="examples.file-group"><title>Require file-group</title>
 | 
						|
      <p>위와 상황이 비슷하지만 여러명이
 | 
						|
      <code>~/public_html/project-foo</code>에 프로젝트 파일을
 | 
						|
      공유한다고 가정하자. 파일들은 시스템 그룹 <code>foo</code>가
 | 
						|
      소유하며, 모든 웹 사용자명과 사용자 그룹을 기록하는 <directive
 | 
						|
      module="mod_authz_dbm">AuthDBMGroupFile</directive>
 | 
						|
      데이터베이스가 있다. <em>즉,</em> 최소한 <code>foo</code>라는
 | 
						|
      그룹에 구성원이 있다. <code>jones</code>와
 | 
						|
      <code>smith</code>가 모두 그룹 <code>foo</code>의
 | 
						|
      구성원이라면, 둘 모두 <code>project-foo</code> 디렉토리에
 | 
						|
      접근할 수 있다.</p>
 | 
						|
 | 
						|
      <example>
 | 
						|
        <Directory /home/*/public_html/project-foo><br />
 | 
						|
        <indent>
 | 
						|
          AuthType Basic<br />
 | 
						|
          AuthName "Project Foo Files"<br />
 | 
						|
          AuthBasicProvider dbm<br />
 | 
						|
          <br />
 | 
						|
          # combined user/group database<br />
 | 
						|
          AuthDBMUserFile  /usr/local/apache2/etc/.htdbm-all<br />
 | 
						|
          AuthDBMGroupFile /usr/local/apache2/etc/.htdbm-all<br />
 | 
						|
          <br />
 | 
						|
          Satisfy All<br />
 | 
						|
          Require file-group<br />
 | 
						|
        </indent>
 | 
						|
        </Directory>
 | 
						|
      </example>
 | 
						|
    </section>
 | 
						|
</section>
 | 
						|
 | 
						|
<directivesynopsis>
 | 
						|
<name>AuthzOwnerAuthoritative</name>
 | 
						|
<description>권한부여를 저수준 모듈로 넘겨줄지 여부</description>
 | 
						|
<syntax>AuthzOwnerAuthoritative On|Off</syntax>
 | 
						|
<default>AuthzOwnerAuthoritative On</default>
 | 
						|
<contextlist><context>directory</context><context>.htaccess</context>
 | 
						|
</contextlist>
 | 
						|
<override>AuthConfig</override>
 | 
						|
 | 
						|
<usage>
 | 
						|
    <p><directive>AuthzOwnerAuthoritative</directive> 지시어를
 | 
						|
    직접 <code>Off</code>로 설정하면 다음과 같은 경우 사용자
 | 
						|
    권한부여를 (<code>modules.c</code> 파일에서 정의한) 저수준
 | 
						|
    모듈로 넘겨준다.</p>
 | 
						|
 | 
						|
    <ul>
 | 
						|
    <li><code>file-owner</code>를 사용하면 파일시스템 소유자를
 | 
						|
    알 수 없거나 주어진 웹 사용자명과 다른 경우</li>
 | 
						|
 | 
						|
    <li><code>file-group</code>을 사용하면 파일시스템 그룹을
 | 
						|
    알 수 없거나 주어진 웹 사용자명이 구성원이 아닌 경우.</li>
 | 
						|
    </ul>
 | 
						|
 | 
						|
    <p>또, 값을 <code>Off</code>로 설정하면
 | 
						|
    <code>file-owner</code>와 <code>file-group</code>을 결합하여,
 | 
						|
    둘 중 하나만 만족해도 접근을 허가한다.</p>
 | 
						|
 | 
						|
    <p>기본적으로 제어를 넘기지않고, 모르는 그룹의 경우 인증
 | 
						|
    필요 응답을 한다. 이 지시어를 <code>Off</code>로 설정하지않으면
 | 
						|
    시스템이 안전하게 유지되며, NCSA 웹서버와 같이 동작한다.</p>
 | 
						|
</usage>
 | 
						|
</directivesynopsis>
 | 
						|
 | 
						|
</modulesynopsis>
 |