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