mirror of
				https://github.com/apache/httpd.git
				synced 2025-10-31 19:10:37 +03:00 
			
		
		
		
	git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1421895 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:1421821 (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>
 |