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@1738362 13f79535-47bb-0310-9956-ffa450edef68
		
			
				
	
	
		
			635 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			635 lines
		
	
	
		
			28 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?xml version='1.0' encoding='UTF-8' ?>
 | 
						||
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
 | 
						||
<?xml-stylesheet type="text/xsl" href="../style/manual.tr.xsl"?>
 | 
						||
<!-- English Revision: 1070891:1738333 (outdated) -->
 | 
						||
<!-- =====================================================
 | 
						||
 Translated by: Umut Samuk <umut belgeler.org>
 | 
						||
   Reviewed by: Nilgün Belma Bugüner <nilgun belgeler.org>
 | 
						||
========================================================== -->
 | 
						||
 | 
						||
<!--
 | 
						||
 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.
 | 
						||
-->
 | 
						||
 | 
						||
<manualpage metafile="auth.xml.meta">
 | 
						||
  <parentdocument href="./">Nasıllar ve Öğreticiler</parentdocument>
 | 
						||
 | 
						||
  <title>Kimlik Doğrulama, Yetkilendirme ve Erişim Denetimi</title>
 | 
						||
 | 
						||
  <summary>
 | 
						||
    <p>Kimlik Doğrulama istediğiniz kişileri teyid etme işlemidir.
 | 
						||
      Yetkilendirme ise kişilerin nereye gireceklerine ve hangi bilgiye
 | 
						||
      ulaşacaklarına müsaade edilmesi işlemidir.</p>
 | 
						||
 | 
						||
    <p>Genel erişim denetimi için <a href="access.html">Erişim Denetimi
 | 
						||
      Nasıl</a> belgesine bakınız.</p>
 | 
						||
</summary>
 | 
						||
 | 
						||
  <section id="related"><title>İlgili modüller ve Yönergeler</title>
 | 
						||
 | 
						||
    <p>Kimlik Doğrulama ve yetkilendirme işlemi ile ilgili üç tür modül
 | 
						||
    vardır. Genellikle her bir gruptan en az bir modül seçeceksiniz.</p>
 | 
						||
 | 
						||
    <ul>
 | 
						||
      <li>Kimlik Doğrulama türü (bkz. <directive module="mod_authn_core"
 | 
						||
      >AuthType</directive> yönergesi)
 | 
						||
        <ul>
 | 
						||
          <li><module>mod_auth_basic</module></li>
 | 
						||
          <li><module>mod_auth_digest</module></li>
 | 
						||
        </ul>
 | 
						||
      </li>
 | 
						||
 | 
						||
      <li>Kimlik Doğrulayıcı (bkz.
 | 
						||
      <directive module="mod_auth_basic">AuthBasicProvider</directive>
 | 
						||
      ve <directive module="mod_auth_digest"
 | 
						||
      >AuthDigestProvider</directive> yönergeleri)
 | 
						||
        <ul>
 | 
						||
          <li><module>mod_authn_anon</module></li>
 | 
						||
          <li><module>mod_authn_dbd</module></li>
 | 
						||
          <li><module>mod_authn_dbm</module></li>
 | 
						||
          <li><module>mod_authn_file</module></li>
 | 
						||
          <li><module>mod_authnz_ldap</module></li>
 | 
						||
          <li><module>mod_authn_socache</module></li>
 | 
						||
        </ul>
 | 
						||
      </li>
 | 
						||
      <li>Yetkilendirme (bkz.
 | 
						||
          <directive module="mod_authz_core">Require</directive> yönergesi)
 | 
						||
        <ul>
 | 
						||
          <li><module>mod_authnz_ldap</module></li>
 | 
						||
          <li><module>mod_authz_dbd</module></li>
 | 
						||
          <li><module>mod_authz_dbm</module></li>
 | 
						||
          <li><module>mod_authz_groupfile</module></li>
 | 
						||
          <li><module>mod_authz_host</module></li>
 | 
						||
          <li><module>mod_authz_owner</module></li>
 | 
						||
          <li><module>mod_authz_user</module></li>
 | 
						||
        </ul>
 | 
						||
      </li>
 | 
						||
    </ul>
 | 
						||
 | 
						||
    <p>Bu modüllere ek olarak, <module>mod_authn_core</module> ve
 | 
						||
    <module>mod_authz_core</module> modülleri bulunur. Bu modüller
 | 
						||
    yetkilendirme modüllerinin çekirdeğini oluşturan temel yönergeleri
 | 
						||
    gerçekler.</p>
 | 
						||
 | 
						||
    <p><module>mod_authnz_ldap</module> modülü kimlik doğrulama ve
 | 
						||
    yetkilendirme işlemlerinin ikisini birden gerçekleştirir.
 | 
						||
    <module>mod_authz_host</module> modülü bu işlemleri sunucu adına, IP
 | 
						||
    adresine ve isteğin karekteristiğine bağlı olarak gerçekleştirir.
 | 
						||
    Ancak kimlik doğrulama sisteminin bir parçası değildir.
 | 
						||
    <code>mod_access</code> ile geriye uyumluluk için
 | 
						||
    <module>mod_access_compat</module> diye bir modül daha vardır.</p>
 | 
						||
 | 
						||
    <p>Muhtemelen göz atmak isteyeceğiniz <a href="access.html">Erişim
 | 
						||
    Denetimi</a> nasıl belgesi, sunucuya erişimlerin çeşitli yollarından
 | 
						||
    bahsetmektedir.</p>
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="introduction"><title>Giriş</title>
 | 
						||
    <p>Sitenizde sadece küçük bir grup insana hitap eden ya da hassas
 | 
						||
    bilgileriniz varsa, bu makaledeki teknikleri kullanarak dilediğiniz
 | 
						||
    kişilerin sadece dilediğiniz sayfaları görüntülemesini
 | 
						||
    sağlayabilirsiniz.</p>
 | 
						||
 | 
						||
    <p>Bu makale sitenizin bazı parçalarını korumak için kullanacağınız
 | 
						||
    "standart" yolları içermektedir.</p>
 | 
						||
 | 
						||
    <note><title>Bilginize:</title>
 | 
						||
      <p>Eğer bilgileriniz gerçekten gizliliğe ihtiyaç duyuyorsa kimlik
 | 
						||
      doğrulamasına ilaveten <module>mod_ssl</module> modülünü de
 | 
						||
      kullanabilirsiniz.</p>
 | 
						||
    </note>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="theprerequisites">
 | 
						||
    <title>Ön gereksinimler</title>
 | 
						||
    <p>Bu makalede bahsi geçen yönergeler ya ana sunucu yapılandırma
 | 
						||
    dosyasında (genellikle <directive module="core"
 | 
						||
    type="section">Directory</directive> bölümünde) ya da dizin içi
 | 
						||
    yapılandırma dosyalarında (<code>.htaccess</code> dosyaları)
 | 
						||
    bulunmak zorundadır.</p>
 | 
						||
 | 
						||
    <p>Eğer <code>.htaccess</code> dosyalarını kullanmayı
 | 
						||
    tasarlıyorsanız, kimlik doğrulama yönergelerine bu dosyaların içine
 | 
						||
    koymaya izin veren sunucu yapılandırmasına ihtiyacınız olacaktır.
 | 
						||
    Bunun için, dizin içi yapılandırma dosyalarının içine hangi
 | 
						||
    yönergelerin konacağını belirleyen <directive module="core"
 | 
						||
    >AllowOverride</directive> yönergesi kullanılır.</p>
 | 
						||
 | 
						||
    <p>Kimlik doğrulamadan sözettiğimize göre, aşağıda gösterilen
 | 
						||
    şekilde bir <directive module="core"
 | 
						||
    >AllowOverride</directive> yönergesine ihtiyacınız olacaktır:</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
      AllowOverride AuthConfig
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p>Yönergeleri doğrudan ana sunucunun yapılandırma dosyasına
 | 
						||
    koyacaksanız bu dosyaya yazma izniniz olmalıdır.</p>
 | 
						||
 | 
						||
    <p>Bazı dosyaların nerede saklandığını bilmek için sunucunun dizin
 | 
						||
    yapısı hakkında biraz bilgi sahibi olmanız gerekmektedir. Bu çok da
 | 
						||
    zor olmamakla birlikte bu noktaya gelindiğinde konuyu
 | 
						||
    netleştireceğiz.</p>
 | 
						||
 | 
						||
    <p>Ayrıca <module>mod_authn_core</module> ve
 | 
						||
    <module>mod_authz_core</module> modülleri ya <code>httpd</code>
 | 
						||
    çalıştırılabilirinin içinde derlenmiş olmalı ya da
 | 
						||
    <code>httpd.conf</code> yapılandırma dosyası ile yüklenmelidir. Bu
 | 
						||
    iki modül HTTP sunucusunda kimlik doğrulama ve yetkilendirme
 | 
						||
    kullanımı ve yapılandırması için büyük öneme sahip temel yönergeleri
 | 
						||
    ve işlevselliği sağlar.</p>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="gettingitworking"><title>Çalışmaya Başlama</title>
 | 
						||
    <p>Burada, sunucu üzerindeki bir dizini parolayla korumak için
 | 
						||
    gereken temel bilgiler verilecektir.</p>
 | 
						||
 | 
						||
    <p>İlk olarak bir parola dosyası oluşturmalısınız. Bunu nasıl
 | 
						||
    yapacağınız, özellikle, seçtiğiniz kimlik doğrulayıcıya göre
 | 
						||
    değişiklik gösterir. Bunun üzerinde ileride daha fazla duracağız.
 | 
						||
    Başlangıç için parolaları bir metin dosyasında tutacağız.</p>
 | 
						||
 | 
						||
    <p>Bu dosya belge kök dizini altında olmamalıdır. Böylece başkaları
 | 
						||
    parola dosyasını indiremezler. Örneğin belgeleriniz
 | 
						||
    <code>/usr/local/apache/htdocs</code> üzerinden sunuluyorsa parola
 | 
						||
    dosyanızı <code>/usr/local/apache/passwd</code> dizininde
 | 
						||
    tutabilirsiniz.</p>
 | 
						||
 | 
						||
    <p>Dosyayı oluşturmak için Apache ile gelen
 | 
						||
    <program>htpasswd</program> uygulamasını kullanacağız. Bu uygulama
 | 
						||
    Apache'nin kurulumunda belirtilen  <code>bin</code> dizininde
 | 
						||
    bulunur. Eğer Apache'yi üçüncü parti paketlerden  kurduysanız,
 | 
						||
    çalıştırılabilir dosyaların bulunduğu yollar üzerinde olmalıdır.</p>
 | 
						||
 | 
						||
    <p>Bir dosya oluşturmak için şunları yazın:</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
      htpasswd -c /usr/local/apache/passwd/passwords umut
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p><program>htpasswd</program> size parola soracaktır arkasından da
 | 
						||
    teyit etmek için parolayı tekrar girmenizi isteyecektir:</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
      # htpasswd -c /usr/local/apache/passwd/passwords umut<br />
 | 
						||
      New password: parolam<br />
 | 
						||
      Re-type new password: parolam<br />
 | 
						||
      Adding password for user umut
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p>Eğer <program>htpasswd</program> normal yollar üzerinde değilse
 | 
						||
    çalıştırmak için dosyanın bulunduğu tam yeri belirtmeniz
 | 
						||
    gerekecektir. Dosyanın öntanımlı kurulum yeri:
 | 
						||
    <code>/usr/local/apache2/bin/htpasswd</code></p>
 | 
						||
 | 
						||
    <p>Bundan sonra, sunucuyu, parola sorması için ve kimlerin erişim
 | 
						||
    izni olacağını belirlemek için yapılandıracaksınız. Bu işlemi
 | 
						||
    <code>httpd.conf</code>dosyasını düzenleyerek ya da bir
 | 
						||
    <code>.htaccess</code> dosyası kullanarak yapabilirsiniz. Örneğin,
 | 
						||
    <code>/usr/local/apache/htdocs/secret</code> dizinini korumayı
 | 
						||
    amaçlıyorsanız, şu yönergeleri kullanabilirsiniz. Bu yönergeleri
 | 
						||
    <code>/usr/local/apache/htdocs/secret/.htaccess</code> dosyası içine
 | 
						||
    veya <code>httpd.conf</code> içindeki <Directory
 | 
						||
    /usr/local/apache/htdocs/secret> bölümüne koyabilirsiniz.</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
      AuthType Basic<br />
 | 
						||
      AuthName "Gizli Dosyalar"<br />
 | 
						||
      # (Aşağıdaki satırın kullanımı isteğe bağlıdır)<br />
 | 
						||
      AuthBasicProvider file<br />
 | 
						||
      AuthUserFile /usr/local/apache/passwd/passwords<br />
 | 
						||
      Require user umut
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p>Bu yönergeleri tek tek inceleyelim.
 | 
						||
    <directive module="mod_authn_core">AuthType</directive> yönergesi
 | 
						||
    kullanıcının kimliğini doğrulamakta kullanılacak yöntemi seçer. En
 | 
						||
    çok kullanılan yöntem <code>Basic</code>'tir ve bu yöntem
 | 
						||
    <module>mod_auth_basic</module> modülüyle gerçeklenmiştir. Temel
 | 
						||
    (<code>Basic</code>) kimlik doğrulamasıyla gönderilen parolanın
 | 
						||
    şifrelenmeyeceğini unutmayın. Bu yöntem, bu sebepten dolayı
 | 
						||
    <module>mod_ssl</module> eşliğinde kullanılmadığı sürece yüksek
 | 
						||
    hassasiyete sahip bilgiler için kullanılmamalıdır. Apache bir başka
 | 
						||
    kimlik doğrulama yöntemini daha destekler: <code>AuthType
 | 
						||
    Digest</code>. Bu yöntem <module>mod_auth_digest</module> tarafından
 | 
						||
    gerçeklenmiştir ve çok daha güvenlidir. Güncel tarayıcılar, Özet
 | 
						||
    (<code>Digest</code>) kimlik doğrulama yöntemini
 | 
						||
    desteklemektedir.</p>
 | 
						||
 | 
						||
    <p><directive module="mod_authn_core">AuthName</directive> yönergesi
 | 
						||
    ile kimlik doğrulamada kullanılacak <dfn>Saha</dfn> da
 | 
						||
    belirtilebilir. Saha kullanımının, başlıca iki işlevi vardır.
 | 
						||
    Birincisi, istemci sıklıkla bu bilgiyi kullanıcıya parola diyalog
 | 
						||
    kutusunun bir parçası olarak sunar. İkincisi, belirtilen kimlik
 | 
						||
    doğrulamalı alan için gönderilecek parolayı belirlerken istemci
 | 
						||
    tarafından kullanılır.</p>
 | 
						||
 | 
						||
    <p>Örneğin, bir istemcinin <code>"Gizli Dosyalar"</code> alanında
 | 
						||
    kimliği doğrulanmış olsun. Aynı sunucu üzerinde <code>"Gizli
 | 
						||
    Dosyalar"</code> Sahası olarak belirlenmiş alanlarda aynı parola
 | 
						||
    özdevinimli olarak yinelenecektir. Böylece parola bir kere girilerek
 | 
						||
    aynı Sahayı paylaşan çok sayıda kısıtlanmış alana ulaşırken oluşacak
 | 
						||
    gecikmeden kullanıcı korunmuş olur. Güvenlik gerekçelerinden dolayı,
 | 
						||
    her sunucu adı değiştirilişinde istemcinin parolayı yeniden sorması
 | 
						||
    gerekir.</p>
 | 
						||
 | 
						||
    <p><directive module="mod_auth_basic">AuthBasicProvider</directive>
 | 
						||
    yönergesinin öntanımlı değeri <code>file</code> olduğundan, bu
 | 
						||
    durumda, bu yönergenin kullanımı isteğe bağlıdır. Ancak, eğer kimlik
 | 
						||
    doğrulaması için  <module>mod_authn_dbm</module> ya da
 | 
						||
    <module>mod_authn_dbd</module> gibi farklı bir kaynak seçecekseniz
 | 
						||
    bu yönergeyi kullanmanız gerekecektir.</p>
 | 
						||
 | 
						||
    <p><directive module="mod_authn_file">AuthUserFile</directive>
 | 
						||
    yönergesi <program>htpasswd</program> ile oluşturduğumuz parola
 | 
						||
    dosyasının yerini belirtmek için kullanılır. Eğer çok sayıda
 | 
						||
    kullanıcınız varsa her bir kullanıcıyı her kimlik doğrulama isteği
 | 
						||
    için kimlik bilgilerini bir metin dosyasında aramak gayet yavaş
 | 
						||
    olacaktır. Apache, kullanıcı bilgilerini hızlı bir veritabanı
 | 
						||
    dosyasında depolama özelliğine de sahiptir. Bu amaçla,
 | 
						||
    <module>mod_authn_dbm</module> modülünün
 | 
						||
    <directive module="mod_authn_dbm">AuthDBMUserFile</directive>
 | 
						||
    yönergesi kullanılabilir. Bu dosyalar <program>dbmmanage</program>
 | 
						||
    programı ile oluşturulabilir ve değiştirilebilir.  <a
 | 
						||
    href="http://modules.apache.org/">Apache modülleri
 | 
						||
    Veritabanı</a> içindeki üçüncü parti modüllerinde çok sayıda
 | 
						||
    başka kimlik doğrulama türü de vardır.</p>
 | 
						||
 | 
						||
    <p>Son olarak <directive module="mod_authz_core">Require</directive>
 | 
						||
    yönergesi, sunucunun bu bölgesine erişimine izin verilen
 | 
						||
    kullanıcıları ayarlama işleminin kimlik doğrulamasıyla ilgili
 | 
						||
    kısmını sağlar. Bir sonraki bölümde <directive
 | 
						||
    module="mod_authz_core">Require</directive> yönergesini kullanmanın
 | 
						||
    çeşitli yoları üzerinde duracağız.</p>
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="lettingmorethanonepersonin">
 | 
						||
    <title>Birden çok kişiye izin vermek</title>
 | 
						||
    <p>Yukarıdaki yönergelerle bir dizinde sadece bir kişiye
 | 
						||
    (<code>umut</code> adlı kullanıcıya) izin verir. Çoğunlukla birden
 | 
						||
    çok kişiye izin verilmesi istenir. Bu durumda <directive
 | 
						||
    module="mod_authz_groupfile">AuthGroupFile</directive> yönergesi
 | 
						||
    devreye girer.</p>
 | 
						||
 | 
						||
    <p>Eğer birden çok kişiye izin vermek istiyorsanız içinde kullanıcı
 | 
						||
    isimlerinin olduğu bir grup dosyası oluşturmalısınız. Bu dosyanın
 | 
						||
    biçemi gayet basittir ve bunu herhangi bir metin düzenleyici ile
 | 
						||
    oluşturabilirsiniz. Bu dosyanın içeriği aşağıdaki gibi
 | 
						||
    görünecektir:</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
     GroupName: umut samet engin kubilay
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p>Dosya, sadece, boşluklarla birbirinden ayrılmış gurup üyelerinin
 | 
						||
    isimlerinden oluşan uzun bir liste içerir.</p>
 | 
						||
 | 
						||
    <p>Varolan parola dosyasına bir kullanıcı eklemek için şunu
 | 
						||
    yazın:</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
      htpasswd /usr/local/apache/passwd/passwords birey
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p>Evvelce almış olduğunuz yanıtı yine alacaksınız ama bu sefer yeni
 | 
						||
    bir dosya oluşturulmak yerine var olan bir dosyaya eklenecektir.
 | 
						||
    (Yeni bir parola dosyası oluşturmak için <code>-c</code> seçeneği
 | 
						||
    kullanılır).</p>
 | 
						||
 | 
						||
    <p>Şimdi, <code>.htaccess</code> dosyanızı aşağıda görüldüğü şekilde
 | 
						||
    değiştirebilirsiniz:</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
      AuthType Basic<br />
 | 
						||
      AuthName "Davete Binaen"<br />
 | 
						||
      # Satır isteğe bağlıdır:<br />
 | 
						||
      AuthBasicProvider file<br />
 | 
						||
      AuthUserFile /usr/local/apache/passwd/passwords<br />
 | 
						||
      AuthGroupFile /usr/local/apache/passwd/groups<br />
 | 
						||
      Require group Grupismi
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p>Artık, <code>Grupismi</code> gurubunda listelenmiş ve
 | 
						||
    <code>password</code> dosyasında kaydı olan kişiye, parolayı doğru
 | 
						||
    yazdığı takdirde izin verilecektir.</p>
 | 
						||
 | 
						||
    <p>Çoklu kullanıcıya izin veren biraz daha az kullanılan başka bir
 | 
						||
    yol daha mevcuttur. Bir gurup dosyası oluşturmaktansa, şu yönergeyi
 | 
						||
    kullanabilirsiniz:</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
      Require valid-user
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p><code>Require user umut</code> satırı ile parola dosyasında
 | 
						||
    listelenmiş ve parolayı doğru olarak giren herhangi bir kişiye izin
 | 
						||
    vermektense, her grup için ayrı bir parola dosyası tutarak grup
 | 
						||
    davranışını taklit edebilirsiniz. Bu yaklaşımın getirisi:
 | 
						||
    Apache iki dosya yerine sadece bir dosyaya bakar.
 | 
						||
    Götürüsü ise parola dosyalarından oluşan bir dosya demeti sağlamak
 | 
						||
    ve <directive module="mod_authn_file">AuthUserFile</directive>
 | 
						||
    yönergesinde doğru dosyayı belirtmeyi unutmamak zorunda
 | 
						||
    kalmanızdır.</p>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="possibleproblems"><title>Olası Sorunlar</title>
 | 
						||
    <p>Temel kimlik doğrulama yolu belirtildiği için, sunucuya
 | 
						||
    yaptığınız her belge istediğinde kullanıcı adınızın ve parolanızın
 | 
						||
    doğrulanması gerekir. Hatta aynı sayfayı yeniden yüklerken ya da
 | 
						||
    sayfadaki her bir resim için bu yapılmalıdır (şayet korunmakta olan
 | 
						||
    bir dizinden geliyorsa). Bu işlem hızı azaltacaktır. Yavaşlama
 | 
						||
    miktarı parola dosyanızın büyüklüğü ile orantılı olacaktır, çünkü bu
 | 
						||
    işlem sırasında dosya açılacak ve kullanıcıların arasında isminiz
 | 
						||
    bulunana kadar liste aşağı doğru taranacaktır. Bu işlem sayfa her
 | 
						||
    yüklenişinde tekrar edilecektir.</p>
 | 
						||
 | 
						||
    <p>Buradan çıkacak sonuç, bir parola dosyasına konulan kullanıcı
 | 
						||
    sayısında bir üst sınır olması gerekliliğidir. Bu sınır sunucunuzun
 | 
						||
    başarımına bağlı olarak değişiklik gösterir. Bir kaç yüz kayıtın
 | 
						||
    üstünde giriş yaptığınızda hız düşüşünü gözlemlebilirsiniz İşte bu
 | 
						||
    anda kimlik doğrulama için başka bir yöntem aramaya başlarsınız.</p>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="dbmdbd">
 | 
						||
    <title>Diğer parola depolama yöntemleri</title>
 | 
						||
    <p>Parolaları basit bir metin dosyasında depolamak yukarıda
 | 
						||
    bahsedilen sorunlara yol açtığından parolaları başka bir yerde
 | 
						||
    depolamayı düşünebilirsiniz; örneğin bir veritabanında.</p>
 | 
						||
 | 
						||
    <p><module>mod_authn_dbm</module> ve <module>mod_authn_dbd</module>
 | 
						||
    modülleri bunu mümkün kılan iki modüldür. Depolama yönemi olarak
 | 
						||
    <code><directive module="mod_auth_basic"
 | 
						||
    >AuthBasicProvider</directive> file</code> yerine, <code>dbm</code>
 | 
						||
    veya <code>dbd</code> kullanabilirsiniz.</p>
 | 
						||
 | 
						||
    <p>Bir metin dosyası yerine bir dbd dosyası kullanım örneği:</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
    <Directory /www/docs/private><br />
 | 
						||
    <indent>
 | 
						||
    AuthName "Private"<br />
 | 
						||
    AuthType Basic<br />
 | 
						||
    AuthBasicProvider dbm<br />
 | 
						||
    AuthDBMUserFile /www/passwords/passwd.dbm<br />
 | 
						||
    Require valid-user<br />
 | 
						||
  </indent>
 | 
						||
    </Directory>
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p>Başka seçenekler de mümkündür. Ayrınılar için
 | 
						||
    <module>mod_authn_dbm</module> belgesine başvurun.</p>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="multprovider">
 | 
						||
    <title>Birden çok tedarikçi kullanmak</title>
 | 
						||
    <p>Kimlik doğrulama ve yetkilendirme mimarisine dayalı yeni
 | 
						||
    tedarikçiyi kullanarak tek bir yetkilendirme ya da kimlik doğrulama
 | 
						||
    yöntemine kilitlenip kalmayacaksınız. Aslında birden çok tedarikçi
 | 
						||
    ihtiyacınıza cevap vermek için bir arada kullanılabilir. Aşağıdaki
 | 
						||
    örnekte dosya ve LDAP tabanlı kimlik doğrulama tedarikçileri bir
 | 
						||
    arada kullanılmıştır.</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
    <Directory /www/docs/private><br />
 | 
						||
    <indent>
 | 
						||
    AuthName "Private"<br />
 | 
						||
    AuthType Basic<br />
 | 
						||
    AuthBasicProvider file ldap<br />
 | 
						||
    AuthUserFile /usr/local/apache/passwd/passwords<br />
 | 
						||
    AuthLDAPURL ldap://ldaphost/o=yourorg<br />
 | 
						||
    Require valid-user<br />
 | 
						||
    </indent>
 | 
						||
    </Directory>
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p>Bu örnekte dosya tedarikçisi, ilk olarak kullanıcının kimliğini
 | 
						||
    doğrulamaya teşebbüs edecektir. Kullanıcının kimliği
 | 
						||
    doğrulanamıyorsa LDAP tedarikçisi çağırılır. Eğer kurumunuz birden
 | 
						||
    çok kimlik doğrulama tedarikçisini yürürlüğe koyuyorsa bu, kimlik
 | 
						||
    doğrulama faaliyet alanının genişletilmesini sağlar. Diğer kimlik
 | 
						||
    kanıtlama ve yetkilendirme senaryoları tek bir kimlik doğrulaması
 | 
						||
    ile birden fazla yetkilendirme türüne izin verebilir.</p>
 | 
						||
 | 
						||
    <p>Çok sayıda kimlik doğrulama tedarikçisi uygulamaya konulabileceği
 | 
						||
    gibi, çok sayıda yetkilendirme yöntemi de kullanılabilir. Bu örnekte
 | 
						||
    dosya için hem dosyalı hem de LDAP grup kimlik doğrulaması
 | 
						||
    kullanılmıştır.</p>
 | 
						||
 | 
						||
    <example>
 | 
						||
    <Directory /www/docs/private><br />
 | 
						||
    <indent>
 | 
						||
    AuthName "Private"<br />
 | 
						||
    AuthType Basic<br />
 | 
						||
    AuthBasicProvider file<br />
 | 
						||
    AuthUserFile /usr/local/apache/passwd/passwords<br />
 | 
						||
    AuthLDAPURL ldap://ldaphost/o=yourorg
 | 
						||
    AuthGroupFile /usr/local/apache/passwd/groups<br />
 | 
						||
    Require group GroupName<br />
 | 
						||
    Require ldap-group cn=mygroup,o=yourorg<br />
 | 
						||
    </indent>
 | 
						||
    </Directory>
 | 
						||
    </example>
 | 
						||
 | 
						||
    <p>Kimlik doğrulama konusunu biraz daha genişletirsek, <directive
 | 
						||
    module="mod_authz_core" type="section">RequireAll</directive> ve
 | 
						||
    <directive module="mod_authz_core" type="section"
 | 
						||
    >RequireAny</directive> gibi yetkilendirme taşıyıcısı
 | 
						||
    yönergelerle hangi iznin hangi sırayla uygulanacağını
 | 
						||
    belirlenebilir. <a href="../mod/mod_authz_core.html#logic"
 | 
						||
    >Yetkilendirme Taşıyıcıları</a> bölümünde bunun bir uygulama
 | 
						||
    örneğini görebilirsiniz.</p>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="beyond"><title>Yetkilendirmenin biraz ötesi</title>
 | 
						||
    <p>Tek bir veri deposundan yapılacak tek bir sınamadan çok daha
 | 
						||
    esnek kimlik doğrulaması yapılabilir. Sıralama, mantık ve hangi
 | 
						||
    kimlik doğrulamasının kullanılacağını seçmek mümkündür.</p>
 | 
						||
 | 
						||
    <section id="authandororder">
 | 
						||
      <title>Mantık ve sıralamanın uygulanması</title>
 | 
						||
      <p>Yetkilendirmenin hangi sırayla uygulanacağı ve nasıl
 | 
						||
      denetleneceği geçmişte biraz gizemli bir konuydu. Apache 2.2'de,
 | 
						||
      tedarikçi tabanlı kimlik doğrulamasının devreye girmesiyle asıl
 | 
						||
      kimlik doğrulama işlemini yetkilendirme ve destek işlevselliğinden
 | 
						||
      ayırmak mümkün oldu. Bunun faydalarından birisi de kimlik
 | 
						||
      doğrulama tedarikçilerinin yapılandırılabilmesi ve auth modülünün
 | 
						||
      kendi yükleme sırasından bağımsız olarak özel bir sırayla
 | 
						||
      çağrılabilmesidir. Bu tedarikçi tabanlı mekanizmanın aynısı
 | 
						||
      yetkilendirmeye de getirilmiştir. Bunun anlamı <directive
 | 
						||
      module="mod_authz_core">Require</directive> yönergesinde hangi
 | 
						||
      izin yönteminin kullanılması gerektiğinin belirtmesinin yanında
 | 
						||
      hangi sırayla çağırılacaklarının da belirlenebildiğidir. Çok
 | 
						||
      sayıda yetkilendirme yöntemi kullanıldığında, bunlar, <directive
 | 
						||
      module="mod_authz_core">Require</directive> yönergelerinin
 | 
						||
      yapılandırma dosyasında göründükleri sıra ile çağırılır.</p>
 | 
						||
 | 
						||
      <p><directive module="mod_authz_core" type="section"
 | 
						||
      >RequireAll</directive> ve <directive module="mod_authz_core"
 | 
						||
      type="section">RequireAny</directive> gibi yetkilendirme
 | 
						||
      taşıyıcısı yönergelerin devreye girmesiyle yetkilendirme
 | 
						||
      yöntemlerinin ne zaman çağırılacağı ve çağırıldığında ve erişime
 | 
						||
      izin verirken hangi kuralların uygulanacağı konusunda denetim
 | 
						||
      yapılandırmanın eline geçmektedir. Karmaşık yetkilendime mantığını
 | 
						||
      ifade etmek için kullanılan bir örneği görmek için
 | 
						||
      <a href="../mod/mod_authz_core.html#logic">Yetkilendirme
 | 
						||
      Taşıyıcıları</a> bölümüne bakınız.</p>
 | 
						||
 | 
						||
      <p>Öntanımlı olarak tüm <directive module="mod_authz_core">
 | 
						||
      Require</directive> yönergeleri, <directive
 | 
						||
      module="mod_authz_core" type="section">RequireAny</directive>
 | 
						||
      taşıyıcı yönergesinin içine konur. Başka bir deyişle eğer
 | 
						||
      belirtilen kimlik doğrulama yöntemlerinden herhangi biri başarılı
 | 
						||
      olursa yetkilendirme de sağlanmış olur.</p>
 | 
						||
 | 
						||
    </section>
 | 
						||
 | 
						||
    <section id="reqaccessctrl">
 | 
						||
      <title>Erişim denetimi için yetkilendirme tedarikçilerinin
 | 
						||
      kullanımı</title>
 | 
						||
      <p>Kullanıcı adı ve parolasına göre kimlik doğrulama hikayenin
 | 
						||
      sadece bir bölümüdür. Sıklıkla insanlara kim olduklarına göre
 | 
						||
      değil birşeylere dayanarak izin vermek istersiniz. Örneğin nereden
 | 
						||
      geldikleri gibi.</p>
 | 
						||
 | 
						||
      <p><directive module="mod_authz_host">all</directive>, <directive
 | 
						||
      module="mod_authz_host">env</directive>, <directive
 | 
						||
      module="mod_authz_host">host</directive> ve <directive
 | 
						||
      module="mod_authz_host">ip</directive> gibi yetkilendirme
 | 
						||
      tedarikçileri ile, bir belgenin istendiği makinenin IP adresi veya
 | 
						||
      konak ismi gibi bazı özelliklerine dayalı olarak erişime izin
 | 
						||
      verip vermeyeceğinizi belirtebilirsiniz.</p>
 | 
						||
 | 
						||
      <p>Bu tedarikçilerin kullanımı <directive module="mod_authz_core"
 | 
						||
      >Require</directive> yönergesinde açıklanmıştır. Bu yönergeler,
 | 
						||
      isteklerin işlenmesi sırasında yetkilendirme aşamasında
 | 
						||
      çağırılacak yetkilendirme tedarikçilerini kayda geçirir. Örneğin:
 | 
						||
      </p>
 | 
						||
 | 
						||
      <example>
 | 
						||
        Require ip <var>adres</var>
 | 
						||
      </example>
 | 
						||
 | 
						||
      <p>Burada, <var>adres</var> bir IP adresidir (veya kısmi bir IP
 | 
						||
        addresidir)</p>
 | 
						||
 | 
						||
      <example>
 | 
						||
        Require host <var>alan_adı</var>
 | 
						||
      </example>
 | 
						||
 | 
						||
      <p>Burada, <var>alan_adı</var> bir tam nitelikli alan adıdır
 | 
						||
      (ya da kısmi alan adıdır); gerekirse çok sayıda alan adı veya IP
 | 
						||
      adresi de belirtilebilir.</p>
 | 
						||
 | 
						||
      <p>Örneğin, yorum alanını gereksiz iletilerle dolduran birini uzak
 | 
						||
      tutmak istediğinizi varsayalım. Bu kişiyi uzak tutmak için şunları
 | 
						||
      yapabilirsiniz:</p>
 | 
						||
 | 
						||
      <example>
 | 
						||
        <RequireAll>
 | 
						||
        <indent>
 | 
						||
          Require all granted<br/>
 | 
						||
          Require not ip 10.252.46.165
 | 
						||
        </indent>
 | 
						||
        </RequireAll>
 | 
						||
      </example>
 | 
						||
 | 
						||
      <p>Bu adresden gelen ziyaretçiler bu yönergedeki içeriği
 | 
						||
      göremeyeceklerdir. Bunun yerine, elinizde IP adresi değil de
 | 
						||
      makine adı varsa şunu kullanabilirsiniz:</p>
 | 
						||
 | 
						||
      <example>
 | 
						||
        <RequireAll>
 | 
						||
        <indent>
 | 
						||
          Require all granted<br/>
 | 
						||
          Require not host <var>host.example.com</var>
 | 
						||
        </indent>
 | 
						||
        </RequireAll>
 | 
						||
      </example>
 | 
						||
 | 
						||
      <p>Eğer alan adının tamanıdan gelecek olan bütün erişimleri
 | 
						||
      engellemek isterseniz adresin ya da alan adının bir parçasını
 | 
						||
      belirtin:</p>
 | 
						||
 | 
						||
      <example>
 | 
						||
        <RequireAll>
 | 
						||
        <indent>
 | 
						||
          Require all granted<br/>
 | 
						||
          <RequireNone>
 | 
						||
          <indent>
 | 
						||
            Require ip 192.168.205<br />
 | 
						||
            Require host phishers.example.com moreidiots.example<br />
 | 
						||
            Require host ke
 | 
						||
          </indent>
 | 
						||
          </RequireNone>
 | 
						||
        </indent>
 | 
						||
        </RequireAll>
 | 
						||
      </example>
 | 
						||
 | 
						||
      <p>Yukarıdaki örnekte, <directive module="mod_authz_core"
 | 
						||
      type="section">RequireNone</directive> yönergesi içindeki
 | 
						||
      <directive module="mod_authz_core">Require</directive>
 | 
						||
      yönergelerinin değiştirgeleriyle hiçbir bir eşleşme olmaması
 | 
						||
      durumunda erişime izin verilir.</p>
 | 
						||
 | 
						||
    </section>
 | 
						||
 | 
						||
    <section id="filesystem">
 | 
						||
      <title>Erişim denetimi ve geriye uyumluluk</title>
 | 
						||
      <p>Kimlik doğrulama için tedarik tabanlı mekanizma kullanımının
 | 
						||
      yan etkilerinden birisi,
 | 
						||
      <directive module="mod_access_compat">Order</directive>,
 | 
						||
      <directive module="mod_access_compat">Allow</directive>,
 | 
						||
      <directive module="mod_access_compat">Deny</directive> ve
 | 
						||
      <directive module="mod_access_compat">Satisfy</directive> erişim
 | 
						||
      denetim yönergelerine artık ihtiyaç duyulmamasıdır. Ancak eski
 | 
						||
      yapılandırmalarla uyumluluğu sağlamak için bu yönergeler
 | 
						||
      <module>mod_access_compat</module> modülüne taşınmıştır.</p>
 | 
						||
 | 
						||
    </section>
 | 
						||
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="socache"><title>Kimlik Doğrulama Arabelleği</title>
 | 
						||
    <p>Zaman zaman kimlik doğrulama ağınızda veya sağlayıcı(ları)nızda kabul
 | 
						||
    edilemez yükler oluşturur. Bu çoğunlukla <module>mod_authn_dbd</module>
 | 
						||
    (veya üçüncü parti/özel sağlayıcıların) kullanıcılarını etkiler. Bununla
 | 
						||
    ilgilenmek için httpd 2.3/2.4, kimlik bilgilerini arabelleklemek ve özgün
 | 
						||
    sağlayıcıların yüklerini azaltmak için yeni bir arabellekleme sağlayıcısı
 | 
						||
    olarak <module>mod_authn_socache</module> modülü ile gelmektedir.</p>
 | 
						||
    <p>Bu, bazı kullanıcılar için önemli bir başarım artışı sağlayabilir.</p>
 | 
						||
  </section>
 | 
						||
 | 
						||
  <section id="moreinformation"><title>Daha fazla bilgi</title>
 | 
						||
    <p>Daha fazla bilgi için <module>mod_auth_basic</module> ve
 | 
						||
    <module>mod_authz_host</module> modüllerinin belgelerine bakınız.
 | 
						||
    <directive module="mod_authn_core"><AuthnProviderAlias></directive>
 | 
						||
    yönergesi ile bazı yapılandırmalarınızı basitleştirebilirsiniz.</p>
 | 
						||
 | 
						||
    <p>Apache tarafından desteklenen şifrelerle ilgili bilgi için <a
 | 
						||
    href="../misc/password_encryptions.html">Parola Biçemleri</a>
 | 
						||
    belgesine bakınız.</p>
 | 
						||
 | 
						||
    <p><a href="access.html">Erişim Denetimi</a> nasıl belgesinden de
 | 
						||
    bazı bilgiler edinebilirsiniz.</p>
 | 
						||
  </section>
 | 
						||
</manualpage>
 |