]> granicus.if.org Git - apache/blob - docs/manual/howto/auth.html.tr.utf8
rebuilding with new syntax hilighting stuff.
[apache] / docs / manual / howto / auth.html.tr.utf8
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>Kimlik Doğrulama, Yetkilendirme ve Erişim Denetimi - Apache HTTP Sunucusu</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
12 <script src="../style/scripts/prettify.js" type="text/javascript">
13 </script>
14
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
16 <body id="manual-page"><div id="page-header">
17 <p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p>
18 <p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
19 <img alt="" src="../images/feather.gif" /></div>
20 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
21 <div id="path">
22 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="../">Sürüm 2.4</a> &gt; <a href="./">Nasıllar ve Öğreticiler</a></div><div id="page-content"><div id="preamble"><h1>Kimlik Doğrulama, Yetkilendirme ve Erişim Denetimi</h1>
23 <div class="toplang">
24 <p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25 <a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
26 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
27 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
28 <a href="../tr/howto/auth.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
29 </div>
30
31     <p>Kimlik Doğrulama istediğiniz kişileri teyid etme işlemidir.
32       Yetkilendirme ise kişilerin nereye gireceklerine ve hangi bilgiye
33       ulaşacaklarına müsaade edilmesi işlemidir.</p>
34
35     <p>Genel erişim denetimi için <a href="access.html">Erişim Denetimi
36       Nasıl</a> belgesine bakınız.</p>
37 </div>
38 <div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">İlgili modüller ve Yönergeler</a></li>
39 <li><img alt="" src="../images/down.gif" /> <a href="#introduction">Giriş</a></li>
40 <li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">Ön gereksinimler</a></li>
41 <li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">Çalışmaya Başlama</a></li>
42 <li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></li>
43 <li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">Olası Sorunlar</a></li>
44 <li><img alt="" src="../images/down.gif" /> <a href="#dbmdbd">Diğer parola depolama yöntemleri</a></li>
45 <li><img alt="" src="../images/down.gif" /> <a href="#multprovider">Birden çok tedarikçi kullanmak</a></li>
46 <li><img alt="" src="../images/down.gif" /> <a href="#beyond">Yetkilendirmenin biraz ötesi</a></li>
47 <li><img alt="" src="../images/down.gif" /> <a href="#socache">Kimlik Doğrulama Arabelleği</a></li>
48 <li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">Daha fazla bilgi</a></li>
49 </ul></div>
50 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
51 <div class="section">
52 <h2><a name="related" id="related">İlgili modüller ve Yönergeler</a></h2>
53
54     <p>Kimlik Doğrulama ve yetkilendirme işlemi ile ilgili üç tür modül
55     vardır. Genellikle her bir gruptan en az bir modül seçeceksiniz.</p>
56
57     <ul>
58       <li>Kimlik Doğrulama türü (bkz. <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> yönergesi)
59         <ul>
60           <li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li>
61           <li><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></li>
62         </ul>
63       </li>
64
65       <li>Kimlik Doğrulayıcı (bkz.
66       <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
67       ve <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> yönergeleri)
68         <ul>
69           <li><code class="module"><a href="../mod/mod_authn_anon.html">mod_authn_anon</a></code></li>
70           <li><code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code></li>
71           <li><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code></li>
72           <li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li>
73           <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
74           <li><code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code></li>
75         </ul>
76       </li>
77       <li>Yetkilendirme (bkz.
78           <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesi)
79         <ul>
80           <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
81           <li><code class="module"><a href="../mod/mod_authz_dbd.html">mod_authz_dbd</a></code></li>
82           <li><code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code></li>
83           <li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li>
84           <li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
85           <li><code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code></li>
86           <li><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></li>
87         </ul>
88       </li>
89     </ul>
90
91     <p>Bu modüllere ek olarak, <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> ve
92     <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> modülleri bulunur. Bu modüller
93     yetkilendirme modüllerinin çekirdeğini oluşturan temel yönergeleri
94     gerçekler.</p>
95
96     <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> modülü kimlik doğrulama ve
97     yetkilendirme işlemlerinin ikisini birden gerçekleştirir.
98     <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modülü bu işlemleri sunucu adına, IP
99     adresine ve isteğin karekteristiğine bağlı olarak gerçekleştirir.
100     Ancak kimlik doğrulama sisteminin bir parçası değildir.
101     <code>mod_access</code> ile geriye uyumluluk için
102     <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> diye bir modül daha vardır.</p>
103
104     <p>Muhtemelen göz atmak isteyeceğiniz <a href="access.html">Erişim
105     Denetimi</a> nasıl belgesi, sunucuya erişimlerin çeşitli yollarından
106     bahsetmektedir.</p>
107   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
108 <div class="section">
109 <h2><a name="introduction" id="introduction">Giriş</a></h2>
110     <p>Sitenizde sadece küçük bir grup insana hitap eden ya da hassas
111     bilgileriniz varsa, bu makaledeki teknikleri kullanarak dilediğiniz
112     kişilerin sadece dilediğiniz sayfaları görüntülemesini
113     sağlayabilirsiniz.</p>
114
115     <p>Bu makale sitenizin bazı parçalarını korumak için kullanacağınız
116     "standart" yolları içermektedir.</p>
117
118     <div class="note"><h3>Bilginize:</h3>
119       <p>Eğer bilgileriniz gerçekten gizliliğe ihtiyaç duyuyorsa kimlik
120       doğrulamasına ilaveten <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> modülünü de
121       kullanabilirsiniz.</p>
122     </div>
123
124   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
125 <div class="section">
126 <h2><a name="theprerequisites" id="theprerequisites">Ön gereksinimler</a></h2>
127     
128     <p>Bu makalede bahsi geçen yönergeler ya ana sunucu yapılandırma
129     dosyasında (genellikle <code class="directive"><a href="../mod/core.html#directory">&lt;Directory&gt;</a></code> bölümünde) ya da dizin içi
130     yapılandırma dosyalarında (<code>.htaccess</code> dosyaları)
131     bulunmak zorundadır.</p>
132
133     <p>Eğer <code>.htaccess</code> dosyalarını kullanmayı
134     tasarlıyorsanız, kimlik doğrulama yönergelerine bu dosyaların içine
135     koymaya izin veren sunucu yapılandırmasına ihtiyacınız olacaktır.
136     Bunun için, dizin içi yapılandırma dosyalarının içine hangi
137     yönergelerin konacağını belirleyen <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> yönergesi kullanılır.</p>
138
139     <p>Kimlik doğrulamadan sözettiğimize göre, aşağıda gösterilen
140     şekilde bir <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> yönergesine ihtiyacınız olacaktır:</p>
141
142     <div class="example"><p><code>
143       AllowOverride AuthConfig
144     </code></p></div>
145
146     <p>Yönergeleri doğrudan ana sunucunun yapılandırma dosyasına
147     koyacaksanız bu dosyaya yazma izniniz olmalıdır.</p>
148
149     <p>Bazı dosyaların nerede saklandığını bilmek için sunucunun dizin
150     yapısı hakkında biraz bilgi sahibi olmanız gerekmektedir. Bu çok da
151     zor olmamakla birlikte bu noktaya gelindiğinde konuyu
152     netleştireceğiz.</p>
153
154     <p>Ayrıca <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> ve
155     <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> modülleri ya <code>httpd</code>
156     çalıştırılabilirinin içinde derlenmiş olmalı ya da
157     <code>httpd.conf</code> yapılandırma dosyası ile yüklenmelidir. Bu
158     iki modül HTTP sunucusunda kimlik doğrulama ve yetkilendirme
159     kullanımı ve yapılandırması için büyük öneme sahip temel yönergeleri
160     ve işlevselliği sağlar.</p>
161
162   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
163 <div class="section">
164 <h2><a name="gettingitworking" id="gettingitworking">Çalışmaya Başlama</a></h2>
165     <p>Burada, sunucu üzerindeki bir dizini parolayla korumak için
166     gereken temel bilgiler verilecektir.</p>
167
168     <p>İlk olarak bir parola dosyası oluşturmalısınız. Bunu nasıl
169     yapacağınız, özellikle, seçtiğiniz kimlik doğrulayıcıya göre
170     değişiklik gösterir. Bunun üzerinde ileride daha fazla duracağız.
171     Başlangıç için parolaları bir metin dosyasında tutacağız.</p>
172
173     <p>Bu dosya belge kök dizini altında olmamalıdır. Böylece başkaları
174     parola dosyasını indiremezler. Örneğin belgeleriniz
175     <code>/usr/local/apache/htdocs</code> üzerinden sunuluyorsa parola
176     dosyanızı <code>/usr/local/apache/passwd</code> dizininde
177     tutabilirsiniz.</p>
178
179     <p>Dosyayı oluşturmak için Apache ile gelen
180     <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> uygulamasını kullanacağız. Bu uygulama
181     Apache'nin kurulumunda belirtilen  <code>bin</code> dizininde
182     bulunur. Eğer Apache'yi üçüncü parti paketlerden  kurduysanız,
183     çalıştırılabilir dosyaların bulunduğu yollar üzerinde olmalıdır.</p>
184
185     <p>Bir dosya oluşturmak için şunları yazın:</p>
186
187     <div class="example"><p><code>
188       htpasswd -c /usr/local/apache/passwd/passwords umut
189     </code></p></div>
190
191     <p><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> size parola soracaktır arkasından da
192     teyit etmek için parolayı tekrar girmenizi isteyecektir:</p>
193
194     <div class="example"><p><code>
195       # htpasswd -c /usr/local/apache/passwd/passwords umut<br />
196       New password: parolam<br />
197       Re-type new password: parolam<br />
198       Adding password for user umut
199     </code></p></div>
200
201     <p>Eğer <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> normal yollar üzerinde değilse
202     çalıştırmak için dosyanın bulunduğu tam yeri belirtmeniz
203     gerekecektir. Dosyanın öntanımlı kurulum yeri:
204     <code>/usr/local/apache2/bin/htpasswd</code></p>
205
206     <p>Bundan sonra, sunucuyu, parola sorması için ve kimlerin erişim
207     izni olacağını belirlemek için yapılandıracaksınız. Bu işlemi
208     <code>httpd.conf</code>dosyasını düzenleyerek ya da bir
209     <code>.htaccess</code> dosyası kullanarak yapabilirsiniz. Örneğin,
210     <code>/usr/local/apache/htdocs/secret</code> dizinini korumayı
211     amaçlıyorsanız, şu yönergeleri kullanabilirsiniz. Bu yönergeleri
212     <code>/usr/local/apache/htdocs/secret/.htaccess</code> dosyası içine
213     veya <code>httpd.conf</code> içindeki &lt;Directory
214     /usr/local/apache/htdocs/secret&gt; bölümüne koyabilirsiniz.</p>
215
216     <div class="example"><p><code>
217       AuthType Basic<br />
218       AuthName "Gizli Dosyalar"<br />
219       # (Aşağıdaki satırın kullanımı isteğe bağlıdır)<br />
220       AuthBasicProvider file<br />
221       AuthUserFile /usr/local/apache/passwd/passwords<br />
222       Require user umut
223     </code></p></div>
224
225     <p>Bu yönergeleri tek tek inceleyelim.
226     <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> yönergesi
227     kullanıcının kimliğini doğrulamakta kullanılacak yöntemi seçer. En
228     çok kullanılan yöntem <code>Basic</code>'tir ve bu yöntem
229     <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> modülüyle gerçeklenmiştir. Temel
230     (<code>Basic</code>) kimlik doğrulamasıyla gönderilen parolanın
231     şifrelenmeyeceğini unutmayın. Bu yöntem, bu sebepten dolayı
232     <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> eşliğinde kullanılmadığı sürece yüksek
233     hassasiyete sahip bilgiler için kullanılmamalıdır. Apache bir başka
234     kimlik doğrulama yöntemini daha destekler: <code>AuthType
235     Digest</code>. Bu yöntem <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> tarafından
236     gerçeklenmiştir ve çok daha güvenlidir. Güncel tarayıcılar, Özet
237     (<code>Digest</code>) kimlik doğrulama yöntemini
238     desteklemektedir.</p>
239
240     <p><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code> yönergesi
241     ile kimlik doğrulamada kullanılacak <dfn>Saha</dfn> da
242     belirtilebilir. Saha kullanımının, başlıca iki işlevi vardır.
243     Birincisi, istemci sıklıkla bu bilgiyi kullanıcıya parola diyalog
244     kutusunun bir parçası olarak sunar. İkincisi, belirtilen kimlik
245     doğrulamalı alan için gönderilecek parolayı belirlerken istemci
246     tarafından kullanılır.</p>
247
248     <p>Örneğin, bir istemcinin <code>"Gizli Dosyalar"</code> alanında
249     kimliği doğrulanmış olsun. Aynı sunucu üzerinde <code>"Gizli
250     Dosyalar"</code> Sahası olarak belirlenmiş alanlarda aynı parola
251     özdevinimli olarak yinelenecektir. Böylece parola bir kere girilerek
252     aynı Sahayı paylaşan çok sayıda kısıtlanmış alana ulaşırken oluşacak
253     gecikmeden kullanıcı korunmuş olur. Güvenlik gerekçelerinden dolayı,
254     her sunucu adı değiştirilişinde istemcinin parolayı yeniden sorması
255     gerekir.</p>
256
257     <p><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
258     yönergesinin öntanımlı değeri <code>file</code> olduğundan, bu
259     durumda, bu yönergenin kullanımı isteğe bağlıdır. Ancak, eğer kimlik
260     doğrulaması için  <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ya da
261     <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> gibi farklı bir kaynak seçecekseniz
262     bu yönergeyi kullanmanız gerekecektir.</p>
263
264     <p><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
265     yönergesi <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> ile oluşturduğumuz parola
266     dosyasının yerini belirtmek için kullanılır. Eğer çok sayıda
267     kullanıcınız varsa her bir kullanıcıyı her kimlik doğrulama isteği
268     için kimlik bilgilerini bir metin dosyasında aramak gayet yavaş
269     olacaktır. Apache, kullanıcı bilgilerini hızlı bir veritabanı
270     dosyasında depolama özelliğine de sahiptir. Bu amaçla,
271     <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> modülünün
272     <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>
273     yönergesi kullanılabilir. Bu dosyalar <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code>
274     programı ile oluşturulabilir ve değiştirilebilir.  <a href="http://modules.apache.org/">Apache modülleri
275     Veritabanı</a> içindeki üçüncü parti modüllerinde çok sayıda
276     başka kimlik doğrulama türü de vardır.</p>
277
278     <p>Son olarak <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>
279     yönergesi, sunucunun bu bölgesine erişimine izin verilen
280     kullanıcıları ayarlama işleminin kimlik doğrulamasıyla ilgili
281     kısmını sağlar. Bir sonraki bölümde <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesini kullanmanın
282     çeşitli yoları üzerinde duracağız.</p>
283   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
284 <div class="section">
285 <h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></h2>
286     
287     <p>Yukarıdaki yönergelerle bir dizinde sadece bir kişiye
288     (<code>umut</code> adlı kullanıcıya) izin verir. Çoğunlukla birden
289     çok kişiye izin verilmesi istenir. Bu durumda <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> yönergesi
290     devreye girer.</p>
291
292     <p>Eğer birden çok kişiye izin vermek istiyorsanız içinde kullanıcı
293     isimlerinin olduğu bir grup dosyası oluşturmalısınız. Bu dosyanın
294     biçemi gayet basittir ve bunu herhangi bir metin düzenleyici ile
295     oluşturabilirsiniz. Bu dosyanın içeriği aşağıdaki gibi
296     görünecektir:</p>
297
298     <div class="example"><p><code>
299      GroupName: umut samet engin kubilay
300     </code></p></div>
301
302     <p>Dosya, sadece, boşluklarla birbirinden ayrılmış gurup üyelerinin
303     isimlerinden oluşan uzun bir liste içerir.</p>
304
305     <p>Varolan parola dosyasına bir kullanıcı eklemek için şunu
306     yazın:</p>
307
308     <div class="example"><p><code>
309       htpasswd /usr/local/apache/passwd/passwords birey
310     </code></p></div>
311
312     <p>Evvelce almış olduğunuz yanıtı yine alacaksınız ama bu sefer yeni
313     bir dosya oluşturulmak yerine var olan bir dosyaya eklenecektir.
314     (Yeni bir parola dosyası oluşturmak için <code>-c</code> seçeneği
315     kullanılır).</p>
316
317     <p>Şimdi, <code>.htaccess</code> dosyanızı aşağıda görüldüğü şekilde
318     değiştirebilirsiniz:</p>
319
320     <div class="example"><p><code>
321       AuthType Basic<br />
322       AuthName "Davete Binaen"<br />
323       # Satır isteğe bağlıdır:<br />
324       AuthBasicProvider file<br />
325       AuthUserFile /usr/local/apache/passwd/passwords<br />
326       AuthGroupFile /usr/local/apache/passwd/groups<br />
327       Require group Grupismi
328     </code></p></div>
329
330     <p>Artık, <code>Grupismi</code> gurubunda listelenmiş ve
331     <code>password</code> dosyasında kaydı olan kişiye, parolayı doğru
332     yazdığı takdirde izin verilecektir.</p>
333
334     <p>Çoklu kullanıcıya izin veren biraz daha az kullanılan başka bir
335     yol daha mevcuttur. Bir gurup dosyası oluşturmaktansa, şu yönergeyi
336     kullanabilirsiniz:</p>
337
338     <div class="example"><p><code>
339       Require valid-user
340     </code></p></div>
341
342     <p><code>Require user umut</code> satırı ile parola dosyasında
343     listelenmiş ve parolayı doğru olarak giren herhangi bir kişiye izin
344     vermektense, her grup için ayrı bir parola dosyası tutarak grup
345     davranışını taklit edebilirsiniz. Bu yaklaşımın getirisi:
346     Apache iki dosya yerine sadece bir dosyaya bakar.
347     Götürüsü ise parola dosyalarından oluşan bir dosya demeti sağlamak
348     ve <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
349     yönergesinde doğru dosyayı belirtmeyi unutmamak zorunda
350     kalmanızdır.</p>
351
352   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
353 <div class="section">
354 <h2><a name="possibleproblems" id="possibleproblems">Olası Sorunlar</a></h2>
355     <p>Temel kimlik doğrulama yolu belirtildiği için, sunucuya
356     yaptığınız her belge istediğinde kullanıcı adınızın ve parolanızın
357     doğrulanması gerekir. Hatta aynı sayfayı yeniden yüklerken ya da
358     sayfadaki her bir resim için bu yapılmalıdır (şayet korunmakta olan
359     bir dizinden geliyorsa). Bu işlem hızı azaltacaktır. Yavaşlama
360     miktarı parola dosyanızın büyüklüğü ile orantılı olacaktır, çünkü bu
361     işlem sırasında dosya açılacak ve kullanıcıların arasında isminiz
362     bulunana kadar liste aşağı doğru taranacaktır. Bu işlem sayfa her
363     yüklenişinde tekrar edilecektir.</p>
364
365     <p>Buradan çıkacak sonuç, bir parola dosyasına konulan kullanıcı
366     sayısında bir üst sınır olması gerekliliğidir. Bu sınır sunucunuzun
367     başarımına bağlı olarak değişiklik gösterir. Bir kaç yüz kayıtın
368     üstünde giriş yaptığınızda hız düşüşünü gözlemlebilirsiniz İşte bu
369     anda kimlik doğrulama için başka bir yöntem aramaya başlarsınız.</p>
370
371   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
372 <div class="section">
373 <h2><a name="dbmdbd" id="dbmdbd">Diğer parola depolama yöntemleri</a></h2>
374     
375     <p>Parolaları basit bir metin dosyasında depolamak yukarıda
376     bahsedilen sorunlara yol açtığından parolaları başka bir yerde
377     depolamayı düşünebilirsiniz; örneğin bir veritabanında.</p>
378
379     <p><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ve <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>
380     modülleri bunu mümkün kılan iki modüldür. Depolama yönemi olarak
381     <code><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> file</code> yerine, <code>dbm</code>
382     veya <code>dbd</code> kullanabilirsiniz.</p>
383
384     <p>Bir metin dosyası yerine bir dbd dosyası kullanım örneği:</p>
385
386     <div class="example"><p><code>
387     &lt;Directory /www/docs/private&gt;<br />
388     <span class="indent">
389     AuthName "Private"<br />
390     AuthType Basic<br />
391     AuthBasicProvider dbm<br />
392     AuthDBMUserFile /www/passwords/passwd.dbm<br />
393     Require valid-user<br />
394   </span>
395     &lt;/Directory&gt;
396     </code></p></div>
397
398     <p>Başka seçenekler de mümkündür. Ayrınılar için
399     <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> belgesine başvurun.</p>
400
401   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
402 <div class="section">
403 <h2><a name="multprovider" id="multprovider">Birden çok tedarikçi kullanmak</a></h2>
404     
405     <p>Kimlik doğrulama ve yetkilendirme mimarisine dayalı yeni
406     tedarikçiyi kullanarak tek bir yetkilendirme ya da kimlik doğrulama
407     yöntemine kilitlenip kalmayacaksınız. Aslında birden çok tedarikçi
408     ihtiyacınıza cevap vermek için bir arada kullanılabilir. Aşağıdaki
409     örnekte dosya ve LDAP tabanlı kimlik doğrulama tedarikçileri bir
410     arada kullanılmıştır.</p>
411
412     <div class="example"><p><code>
413     &lt;Directory /www/docs/private&gt;<br />
414     <span class="indent">
415     AuthName "Private"<br />
416     AuthType Basic<br />
417     AuthBasicProvider file ldap<br />
418     AuthUserFile /usr/local/apache/passwd/passwords<br />
419     AuthLDAPURL ldap://ldaphost/o=yourorg<br />
420     Require valid-user<br />
421     </span>
422     &lt;/Directory&gt;
423     </code></p></div>
424
425     <p>Bu örnekte dosya tedarikçisi, ilk olarak kullanıcının kimliğini
426     doğrulamaya teşebbüs edecektir. Kullanıcının kimliği
427     doğrulanamıyorsa LDAP tedarikçisi çağırılır. Eğer kurumunuz birden
428     çok kimlik doğrulama tedarikçisini yürürlüğe koyuyorsa bu, kimlik
429     doğrulama faaliyet alanının genişletilmesini sağlar. Diğer kimlik
430     kanıtlama ve yetkilendirme senaryoları tek bir kimlik doğrulaması
431     ile birden fazla yetkilendirme türüne izin verebilir.</p>
432
433     <p>Çok sayıda kimlik doğrulama tedarikçisi uygulamaya konulabileceği
434     gibi, çok sayıda yetkilendirme yöntemi de kullanılabilir. Bu örnekte
435     dosya için hem dosyalı hem de LDAP grup kimlik doğrulaması
436     kullanılmıştır.</p>
437
438     <div class="example"><p><code>
439     &lt;Directory /www/docs/private&gt;<br />
440     <span class="indent">
441     AuthName "Private"<br />
442     AuthType Basic<br />
443     AuthBasicProvider file<br />
444     AuthUserFile /usr/local/apache/passwd/passwords<br />
445     AuthLDAPURL ldap://ldaphost/o=yourorg
446     AuthGroupFile /usr/local/apache/passwd/groups<br />
447     Require group GroupName<br />
448     Require ldap-group cn=mygroup,o=yourorg<br />
449     </span>
450     &lt;/Directory&gt;
451     </code></p></div>
452
453     <p>Kimlik doğrulama konusunu biraz daha genişletirsek, <code class="directive"><a href="../mod/mod_authz_core.html#requireall">&lt;RequireAll&gt;</a></code> ve
454     <code class="directive"><a href="../mod/mod_authz_core.html#requireany">&lt;RequireAny&gt;</a></code> gibi yetkilendirme taşıyıcısı
455     yönergelerle hangi iznin hangi sırayla uygulanacağını
456     belirlenebilir. <a href="../mod/mod_authz_core.html#logic">Yetkilendirme Taşıyıcıları</a> bölümünde bunun bir uygulama
457     örneğini görebilirsiniz.</p>
458
459   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
460 <div class="section">
461 <h2><a name="beyond" id="beyond">Yetkilendirmenin biraz ötesi</a></h2>
462     <p>Tek bir veri deposundan yapılacak tek bir sınamadan çok daha
463     esnek kimlik doğrulaması yapılabilir. Sıralama, mantık ve hangi
464     kimlik doğrulamasının kullanılacağını seçmek mümkündür.</p>
465
466     <h3><a name="authandororder" id="authandororder">Mantık ve sıralamanın uygulanması</a></h3>
467       
468       <p>Yetkilendirmenin hangi sırayla uygulanacağı ve nasıl
469       denetleneceği geçmişte biraz gizemli bir konuydu. Apache 2.2'de,
470       tedarikçi tabanlı kimlik doğrulamasının devreye girmesiyle asıl
471       kimlik doğrulama işlemini yetkilendirme ve destek işlevselliğinden
472       ayırmak mümkün oldu. Bunun faydalarından birisi de kimlik
473       doğrulama tedarikçilerinin yapılandırılabilmesi ve auth modülünün
474       kendi yükleme sırasından bağımsız olarak özel bir sırayla
475       çağrılabilmesidir. Bu tedarikçi tabanlı mekanizmanın aynısı
476       yetkilendirmeye de getirilmiştir. Bunun anlamı <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesinde hangi
477       izin yönteminin kullanılması gerektiğinin belirtmesinin yanında
478       hangi sırayla çağırılacaklarının da belirlenebildiğidir. Çok
479       sayıda yetkilendirme yöntemi kullanıldığında, bunlar, <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergelerinin
480       yapılandırma dosyasında göründükleri sıra ile çağırılır.</p>
481
482       <p><code class="directive"><a href="../mod/mod_authz_core.html#requireall">&lt;RequireAll&gt;</a></code> ve <code class="directive"><a href="../mod/mod_authz_core.html#requireany">&lt;RequireAny&gt;</a></code> gibi yetkilendirme
483       taşıyıcısı yönergelerin devreye girmesiyle yetkilendirme
484       yöntemlerinin ne zaman çağırılacağı ve çağırıldığında ve erişime
485       izin verirken hangi kuralların uygulanacağı konusunda denetim
486       yapılandırmanın eline geçmektedir. Karmaşık yetkilendime mantığını
487       ifade etmek için kullanılan bir örneği görmek için
488       <a href="../mod/mod_authz_core.html#logic">Yetkilendirme
489       Taşıyıcıları</a> bölümüne bakınız.</p>
490
491       <p>Öntanımlı olarak tüm <code class="directive"><a href="../mod/mod_authz_core.html#&#10;      require">
492       Require</a></code> yönergeleri, <code class="directive"><a href="../mod/mod_authz_core.html#requireany">&lt;RequireAny&gt;</a></code>
493       taşıyıcı yönergesinin içine konur. Başka bir deyişle eğer
494       belirtilen kimlik doğrulama yöntemlerinden herhangi biri başarılı
495       olursa yetkilendirme de sağlanmış olur.</p>
496
497     
498
499     <h3><a name="reqaccessctrl" id="reqaccessctrl">Erişim denetimi için yetkilendirme tedarikçilerinin
500       kullanımı</a></h3>
501       
502       <p>Kullanıcı adı ve parolasına göre kimlik doğrulama hikayenin
503       sadece bir bölümüdür. Sıklıkla insanlara kim olduklarına göre
504       değil birşeylere dayanarak izin vermek istersiniz. Örneğin nereden
505       geldikleri gibi.</p>
506
507       <p><code class="directive"><a href="../mod/mod_authz_host.html#all">all</a></code>, <code class="directive"><a href="../mod/mod_authz_host.html#env">env</a></code>, <code class="directive"><a href="../mod/mod_authz_host.html#host">host</a></code> ve <code class="directive"><a href="../mod/mod_authz_host.html#ip">ip</a></code> gibi yetkilendirme
508       tedarikçileri ile, bir belgenin istendiği makinenin IP adresi veya
509       konak ismi gibi bazı özelliklerine dayalı olarak erişime izin
510       verip vermeyeceğinizi belirtebilirsiniz.</p>
511
512       <p>Bu tedarikçilerin kullanımı <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesinde açıklanmıştır. Bu yönergeler,
513       isteklerin işlenmesi sırasında yetkilendirme aşamasında
514       çağırılacak yetkilendirme tedarikçilerini kayda geçirir. Örneğin:
515       </p>
516
517       <div class="example"><p><code>
518         Require ip <var>adres</var>
519       </code></p></div>
520
521       <p>Burada, <var>adres</var> bir IP adresidir (veya kısmi bir IP
522         addresidir)</p>
523
524       <div class="example"><p><code>
525         Require host <var>alan_adı</var>
526       </code></p></div>
527
528       <p>Burada, <var>alan_adı</var> bir tam nitelikli alan adıdır
529       (ya da kısmi alan adıdır); gerekirse çok sayıda alan adı veya IP
530       adresi de belirtilebilir.</p>
531
532       <p>Örneğin, yorum alanını gereksiz iletilerle dolduran birini uzak
533       tutmak istediğinizi varsayalım. Bu kişiyi uzak tutmak için şunları
534       yapabilirsiniz:</p>
535
536       <div class="example"><p><code>
537         &lt;RequireAll&gt;
538         <span class="indent">
539           Require all granted<br />
540           Require not ip 10.252.46.165
541         </span>
542         &lt;/RequireAll&gt;
543       </code></p></div>
544
545       <p>Bu adresden gelen ziyaretçiler bu yönergedeki içeriği
546       göremeyeceklerdir. Bunun yerine, elinizde IP adresi değil de
547       makine adı varsa şunu kullanabilirsiniz:</p>
548
549       <div class="example"><p><code>
550         &lt;RequireAll&gt;
551         <span class="indent">
552           Require all granted<br />
553           Require not host <var>host.example.com</var>
554         </span>
555         &lt;/RequireAll&gt;
556       </code></p></div>
557
558       <p>Eğer alan adının tamanıdan gelecek olan bütün erişimleri
559       engellemek isterseniz adresin ya da alan adının bir parçasını
560       belirtin:</p>
561
562       <div class="example"><p><code>
563         &lt;RequireAll&gt;
564         <span class="indent">
565           Require all granted<br />
566           &lt;RequireNone&gt;
567           <span class="indent">
568             Require ip 192.168.205<br />
569             Require host phishers.example.com moreidiots.example<br />
570             Require host ke
571           </span>
572           &lt;/RequireNone&gt;
573         </span>
574         &lt;/RequireAll&gt;
575       </code></p></div>
576
577       <p>Yukarıdaki örnekte, <code class="directive"><a href="../mod/mod_authz_core.html#requirenone">&lt;RequireNone&gt;</a></code> yönergesi içindeki
578       <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>
579       yönergelerinin değiştirgeleriyle hiçbir bir eşleşme olmaması
580       durumunda erişime izin verilir.</p>
581
582     
583
584     <h3><a name="filesystem" id="filesystem">Erişim denetimi ve geriye uyumluluk</a></h3>
585       
586       <p>Kimlik doğrulama için tedarik tabanlı mekanizma kullanımının
587       yan etkilerinden birisi,
588       <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>,
589       <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>,
590       <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> ve
591       <code class="directive"><a href="../mod/mod_access_compat.html#satisfy">Satisfy</a></code> erişim
592       denetim yönergelerine artık ihtiyaç duyulmamasıdır. Ancak eski
593       yapılandırmalarla uyumluluğu sağlamak için bu yönergeler
594       <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> modülüne taşınmıştır.</p>
595
596     
597
598   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
599 <div class="section">
600 <h2><a name="socache" id="socache">Kimlik Doğrulama Arabelleği</a></h2>
601     <p>Zaman zaman kimlik doğrulama ağınızda veya sağlayıcı(ları)nızda kabul
602     edilemez yükler oluşturur. Bu çoğunlukla <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>
603     (veya üçüncü parti/özel sağlayıcıların) kullanıcılarını etkiler. Bununla
604     ilgilenmek için httpd 2.3/2.4, kimlik bilgilerini arabelleklemek ve özgün
605     sağlayıcıların yüklerini azaltmak için yeni bir arabellekleme sağlayıcısı
606     olarak <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code> modülü ile gelmektedir.</p>
607     <p>Bu, bazı kullanıcılar için önemli bir başarım artışı sağlayabilir.</p>
608   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
609 <div class="section">
610 <h2><a name="moreinformation" id="moreinformation">Daha fazla bilgi</a></h2>
611     <p>Daha fazla bilgi için <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ve
612     <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modüllerinin belgelerine bakınız.
613     <code class="directive"><a href="../mod/mod_authn_core.html#&lt;authnprovideralias&gt;">&lt;AuthnProviderAlias&gt;</a></code>
614     yönergesi ile bazı yapılandırmalarınızı basitleştirebilirsiniz.</p>
615
616     <p>Apache tarafından desteklenen şifrelerle ilgili bilgi için <a href="../misc/password_encryptions.html">Parola Biçemleri</a>
617     belgesine bakınız.</p>
618
619     <p><a href="access.html">Erişim Denetimi</a> nasıl belgesinden de
620     bazı bilgiler edinebilirsiniz.</p>
621   </div></div>
622 <div class="bottomlang">
623 <p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
624 <a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
625 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
626 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
627 <a href="../tr/howto/auth.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
628 </div><div id="footer">
629 <p class="apache">Copyright 2012 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
630 <p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="../faq/">SSS</a> | <a href="../glossary.html">Terimler</a> | <a href="../sitemap.html">Site Haritası</a></p></div><script type="text/javascript">
631     if (prettyPrint) {
632         prettyPrint();
633     }
634 </script>
635 </body></html>