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