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