1
0
mirror of https://github.com/apache/httpd.git synced 2025-05-30 01:07:09 +03:00
apache/docs/manual/mod/mod_authz_owner.xml.ko
André Malo ef27013c2f update revision references
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@421136 13f79535-47bb-0310-9956-ffa450edef68
2006-07-12 05:37:53 +00:00

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:420993 (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>
&lt;Directory /home/*/public_html/private&gt;<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>
&lt;/Directory&gt;
</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>
&lt;Directory /home/*/public_html/project-foo&gt;<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>
&lt;/Directory&gt;
</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>