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