]> granicus.if.org Git - apache/blob - docs/manual/howto/auth.html.tr.utf8
Rebuild
[apache] / docs / manual / howto / auth.html.tr.utf8
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head><!--
4         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5               This file is generated from xml source: DO NOT EDIT
6         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7       -->
8 <title>Kimlik Doğrulama, Yetkilendirme ve Erişim Denetimi - Apache HTTP Sunucusu</title>
9 <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
12 <script src="../style/scripts/prettify.js" type="text/javascript">
13 </script>
14
15 <link href="../images/favicon.ico" rel="shortcut icon" /></head>
16 <body id="manual-page"><div id="page-header">
17 <p class="menu"><a href="../mod/">Modüller</a> | <a href="../mod/directives.html">Yönergeler</a> | <a href="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, Yetkilendirme ve Erişim Denetimi</h1>
23 <div class="toplang">
24 <p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25 <a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
26 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
27 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
28 <a href="../tr/howto/auth.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
29 </div>
30 <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     <div class="example"><p><code>
144       AllowOverride AuthConfig
145     </code></p></div>
146
147     <p>Yönergeleri doğrudan ana sunucunun yapılandırma dosyasına
148     koyacaksanız bu dosyaya yazma izniniz olmalıdır.</p>
149
150     <p>Bazı dosyaların nerede saklandığını bilmek için sunucunun dizin
151     yapısı hakkında biraz bilgi sahibi olmanız gerekmektedir. Bu çok da
152     zor olmamakla birlikte bu noktaya gelindiğinde konuyu
153     netleştireceğiz.</p>
154
155     <p>Ayrıca <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> ve
156     <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> modülleri ya <code>httpd</code>
157     çalıştırılabilirinin içinde derlenmiş olmalı ya da
158     <code>httpd.conf</code> yapılandırma dosyası ile yüklenmelidir. Bu
159     iki modül HTTP sunucusunda kimlik doğrulama ve yetkilendirme
160     kullanımı ve yapılandırması için büyük öneme sahip temel yönergeleri
161     ve işlevselliği sağlar.</p>
162
163   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
164 <div class="section">
165 <h2><a name="gettingitworking" id="gettingitworking">Çalışmaya Başlama</a></h2>
166     <p>Burada, sunucu üzerindeki bir dizini parolayla korumak için
167     gereken temel bilgiler verilecektir.</p>
168
169     <p>İlk olarak bir parola dosyası oluşturmalısınız. Bunu nasıl
170     yapacağınız, özellikle, seçtiğiniz kimlik doğrulayıcıya göre
171     değişiklik gösterir. Bunun üzerinde ileride daha fazla duracağız.
172     Başlangıç için parolaları bir metin dosyasında tutacağız.</p>
173
174     <p>Bu dosya belge kök dizini altında olmamalıdır. Böylece başkaları
175     parola dosyasını indiremezler. Örneğin belgeleriniz
176     <code>/usr/local/apache/htdocs</code> üzerinden sunuluyorsa parola
177     dosyanızı <code>/usr/local/apache/passwd</code> dizininde
178     tutabilirsiniz.</p>
179
180     <p>Dosyayı oluşturmak için Apache ile gelen
181     <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> uygulamasını kullanacağız. Bu uygulama
182     Apache'nin kurulumunda belirtilen  <code>bin</code> dizininde
183     bulunur. Eğer Apache'yi üçüncü parti paketlerden  kurduysanız,
184     çalıştırılabilir dosyaların bulunduğu yollar üzerinde olmalıdır.</p>
185
186     <p>Bir dosya oluşturmak için şunları yazın:</p>
187
188     <div class="example"><p><code>
189       htpasswd -c /usr/local/apache/passwd/passwords umut
190     </code></p></div>
191
192     <p><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> size parola soracaktır arkasından da
193     teyit etmek için parolayı tekrar girmenizi isteyecektir:</p>
194
195     <div class="example"><p><code>
196       # htpasswd -c /usr/local/apache/passwd/passwords umut<br />
197       New password: parolam<br />
198       Re-type new password: parolam<br />
199       Adding password for user umut
200     </code></p></div>
201
202     <p>Eğer <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> normal yollar üzerinde değilse
203     çalıştırmak için dosyanın bulunduğu tam yeri belirtmeniz
204     gerekecektir. Dosyanın öntanımlı kurulum yeri:
205     <code>/usr/local/apache2/bin/htpasswd</code></p>
206
207     <p>Bundan sonra, sunucuyu, parola sorması için ve kimlerin erişim
208     izni olacağını belirlemek için yapılandıracaksınız. Bu işlemi
209     <code>httpd.conf</code>dosyasını düzenleyerek ya da bir
210     <code>.htaccess</code> dosyası kullanarak yapabilirsiniz. Örneğin,
211     <code>/usr/local/apache/htdocs/secret</code> dizinini korumayı
212     amaçlıyorsanız, şu yönergeleri kullanabilirsiniz. Bu yönergeleri
213     <code>/usr/local/apache/htdocs/secret/.htaccess</code> dosyası içine
214     veya <code>httpd.conf</code> içindeki &lt;Directory
215     /usr/local/apache/htdocs/secret&gt; bölümüne koyabilirsiniz.</p>
216
217     <div class="example"><p><code>
218       AuthType Basic<br />
219       AuthName "Gizli Dosyalar"<br />
220       # (Aşağıdaki satırın kullanımı isteğe bağlıdır)<br />
221       AuthBasicProvider file<br />
222       AuthUserFile /usr/local/apache/passwd/passwords<br />
223       Require user umut
224     </code></p></div>
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>
275     programı ile oluşturulabilir ve değiştirilebilir.  <a href="http://modules.apache.org/">Apache modülleri
276     Veritabanı</a> içindeki üçüncü parti modüllerinde çok sayıda
277     başka kimlik doğrulama türü de vardır.</p>
278
279     <p>Son olarak <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>
280     yönergesi, sunucunun bu bölgesine erişimine izin verilen
281     kullanıcıları ayarlama işleminin kimlik doğrulamasıyla ilgili
282     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
283     çeşitli yoları üzerinde duracağız.</p>
284   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
285 <div class="section">
286 <h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></h2>
287     
288     <p>Yukarıdaki yönergelerle bir dizinde sadece bir kişiye
289     (<code>umut</code> adlı kullanıcıya) izin verir. Çoğunlukla birden
290     çok kişiye izin verilmesi istenir. Bu durumda <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> yönergesi
291     devreye girer.</p>
292
293     <p>Eğer birden çok kişiye izin vermek istiyorsanız içinde kullanıcı
294     isimlerinin olduğu bir grup dosyası oluşturmalısınız. Bu dosyanın
295     biçemi gayet basittir ve bunu herhangi bir metin düzenleyici ile
296     oluşturabilirsiniz. Bu dosyanın içeriği aşağıdaki gibi
297     görünecektir:</p>
298
299     <div class="example"><p><code>
300      GroupName: umut samet engin kubilay
301     </code></p></div>
302
303     <p>Dosya, sadece, boşluklarla birbirinden ayrılmış gurup üyelerinin
304     isimlerinden oluşan uzun bir liste içerir.</p>
305
306     <p>Varolan parola dosyasına bir kullanıcı eklemek için şunu
307     yazın:</p>
308
309     <div class="example"><p><code>
310       htpasswd /usr/local/apache/passwd/passwords birey
311     </code></p></div>
312
313     <p>Evvelce almış olduğunuz yanıtı yine alacaksınız ama bu sefer yeni
314     bir dosya oluşturulmak yerine var olan bir dosyaya eklenecektir.
315     (Yeni bir parola dosyası oluşturmak için <code>-c</code> seçeneği
316     kullanılır).</p>
317
318     <p>Şimdi, <code>.htaccess</code> dosyanızı aşağıda görüldüğü şekilde
319     değiştirebilirsiniz:</p>
320
321     <div class="example"><p><code>
322       AuthType Basic<br />
323       AuthName "Davete Binaen"<br />
324       # Satır isteğe bağlıdır:<br />
325       AuthBasicProvider file<br />
326       AuthUserFile /usr/local/apache/passwd/passwords<br />
327       AuthGroupFile /usr/local/apache/passwd/groups<br />
328       Require group Grupismi
329     </code></p></div>
330
331     <p>Artık, <code>Grupismi</code> gurubunda listelenmiş ve
332     <code>password</code> dosyasında kaydı olan kişiye, parolayı doğru
333     yazdığı takdirde izin verilecektir.</p>
334
335     <p>Çoklu kullanıcıya izin veren biraz daha az kullanılan başka bir
336     yol daha mevcuttur. Bir gurup dosyası oluşturmaktansa, şu yönergeyi
337     kullanabilirsiniz:</p>
338
339     <div class="example"><p><code>
340       Require valid-user
341     </code></p></div>
342
343     <p><code>Require user umut</code> satırı ile parola dosyasında
344     listelenmiş ve parolayı doğru olarak giren herhangi bir kişiye izin
345     vermektense, her grup için ayrı bir parola dosyası tutarak grup
346     davranışını taklit edebilirsiniz. Bu yaklaşımın getirisi:
347     Apache iki dosya yerine sadece bir dosyaya bakar.
348     Götürüsü ise parola dosyalarından oluşan bir dosya demeti sağlamak
349     ve <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
350     yönergesinde doğru dosyayı belirtmeyi unutmamak zorunda
351     kalmanızdır.</p>
352
353   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
354 <div class="section">
355 <h2><a name="possibleproblems" id="possibleproblems">Olası Sorunlar</a></h2>
356     <p>Temel kimlik doğrulama yolu belirtildiği için, sunucuya
357     yaptığınız her belge istediğinde kullanıcı adınızın ve parolanızın
358     doğrulanması gerekir. Hatta aynı sayfayı yeniden yüklerken ya da
359     sayfadaki her bir resim için bu yapılmalıdır (şayet korunmakta olan
360     bir dizinden geliyorsa). Bu işlem hızı azaltacaktır. Yavaşlama
361     miktarı parola dosyanızın büyüklüğü ile orantılı olacaktır, çünkü bu
362     işlem sırasında dosya açılacak ve kullanıcıların arasında isminiz
363     bulunana kadar liste aşağı doğru taranacaktır. Bu işlem sayfa her
364     yüklenişinde tekrar edilecektir.</p>
365
366     <p>Buradan çıkacak sonuç, bir parola dosyasına konulan kullanıcı
367     sayısında bir üst sınır olması gerekliliğidir. Bu sınır sunucunuzun
368     başarımına bağlı olarak değişiklik gösterir. Bir kaç yüz kayıtın
369     üstünde giriş yaptığınızda hız düşüşünü gözlemlebilirsiniz İşte bu
370     anda kimlik doğrulama için başka bir yöntem aramaya başlarsınız.</p>
371
372   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
373 <div class="section">
374 <h2><a name="dbmdbd" id="dbmdbd">Diğer parola depolama yöntemleri</a></h2>
375     
376     <p>Parolaları basit bir metin dosyasında depolamak yukarıda
377     bahsedilen sorunlara yol açtığından parolaları başka bir yerde
378     depolamayı düşünebilirsiniz; örneğin bir veritabanında.</p>
379
380     <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>
381     modülleri bunu mümkün kılan iki modüldür. Depolama yönemi olarak
382     <code><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> file</code> yerine, <code>dbm</code>
383     veya <code>dbd</code> kullanabilirsiniz.</p>
384
385     <p>Bir metin dosyası yerine bir dbd dosyası kullanım örneği:</p>
386
387     <div class="example"><p><code>
388     &lt;Directory /www/docs/private&gt;<br />
389     <span class="indent">
390     AuthName "Private"<br />
391     AuthType Basic<br />
392     AuthBasicProvider dbm<br />
393     AuthDBMUserFile /www/passwords/passwd.dbm<br />
394     Require valid-user<br />
395   </span>
396     &lt;/Directory&gt;
397     </code></p></div>
398
399     <p>Başka seçenekler de mümkündür. Ayrınılar için
400     <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> belgesine başvurun.</p>
401
402   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
403 <div class="section">
404 <h2><a name="multprovider" id="multprovider">Birden çok tedarikçi kullanmak</a></h2>
405     
406     <p>Kimlik doğrulama ve yetkilendirme mimarisine dayalı yeni
407     tedarikçiyi kullanarak tek bir yetkilendirme ya da kimlik doğrulama
408     yöntemine kilitlenip kalmayacaksınız. Aslında birden çok tedarikçi
409     ihtiyacınıza cevap vermek için bir arada kullanılabilir. Aşağıdaki
410     örnekte dosya ve LDAP tabanlı kimlik doğrulama tedarikçileri bir
411     arada kullanılmıştır.</p>
412
413     <div class="example"><p><code>
414     &lt;Directory /www/docs/private&gt;<br />
415     <span class="indent">
416     AuthName "Private"<br />
417     AuthType Basic<br />
418     AuthBasicProvider file ldap<br />
419     AuthUserFile /usr/local/apache/passwd/passwords<br />
420     AuthLDAPURL ldap://ldaphost/o=yourorg<br />
421     Require valid-user<br />
422     </span>
423     &lt;/Directory&gt;
424     </code></p></div>
425
426     <p>Bu örnekte dosya tedarikçisi, ilk olarak kullanıcının kimliğini
427     doğrulamaya teşebbüs edecektir. Kullanıcının kimliği
428     doğrulanamıyorsa LDAP tedarikçisi çağırılır. Eğer kurumunuz birden
429     çok kimlik doğrulama tedarikçisini yürürlüğe koyuyorsa bu, kimlik
430     doğrulama faaliyet alanının genişletilmesini sağlar. Diğer kimlik
431     kanıtlama ve yetkilendirme senaryoları tek bir kimlik doğrulaması
432     ile birden fazla yetkilendirme türüne izin verebilir.</p>
433
434     <p>Çok sayıda kimlik doğrulama tedarikçisi uygulamaya konulabileceği
435     gibi, çok sayıda yetkilendirme yöntemi de kullanılabilir. Bu örnekte
436     dosya için hem dosyalı hem de LDAP grup kimlik doğrulaması
437     kullanılmıştır.</p>
438
439     <div class="example"><p><code>
440     &lt;Directory /www/docs/private&gt;<br />
441     <span class="indent">
442     AuthName "Private"<br />
443     AuthType Basic<br />
444     AuthBasicProvider file<br />
445     AuthUserFile /usr/local/apache/passwd/passwords<br />
446     AuthLDAPURL ldap://ldaphost/o=yourorg
447     AuthGroupFile /usr/local/apache/passwd/groups<br />
448     Require group GroupName<br />
449     Require ldap-group cn=mygroup,o=yourorg<br />
450     </span>
451     &lt;/Directory&gt;
452     </code></p></div>
453
454     <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
455     <code class="directive"><a href="../mod/mod_authz_core.html#requireany">&lt;RequireAny&gt;</a></code> gibi yetkilendirme taşıyıcısı
456     yönergelerle hangi iznin hangi sırayla uygulanacağını
457     belirlenebilir. <a href="../mod/mod_authz_core.html#logic">Yetkilendirme Taşıyıcıları</a> bölümünde bunun bir uygulama
458     örneğini görebilirsiniz.</p>
459
460   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
461 <div class="section">
462 <h2><a name="beyond" id="beyond">Yetkilendirmenin biraz ötesi</a></h2>
463     <p>Tek bir veri deposundan yapılacak tek bir sınamadan çok daha
464     esnek kimlik doğrulaması yapılabilir. Sıralama, mantık ve hangi
465     kimlik doğrulamasının kullanılacağını seçmek mümkündür.</p>
466
467     <h3><a name="authandororder" id="authandororder">Mantık ve sıralamanın uygulanması</a></h3>
468       
469       <p>Yetkilendirmenin hangi sırayla uygulanacağı ve nasıl
470       denetleneceği geçmişte biraz gizemli bir konuydu. Apache 2.2'de,
471       tedarikçi tabanlı kimlik doğrulamasının devreye girmesiyle asıl
472       kimlik doğrulama işlemini yetkilendirme ve destek işlevselliğinden
473       ayırmak mümkün oldu. Bunun faydalarından birisi de kimlik
474       doğrulama tedarikçilerinin yapılandırılabilmesi ve auth modülünün
475       kendi yükleme sırasından bağımsız olarak özel bir sırayla
476       çağrılabilmesidir. Bu tedarikçi tabanlı mekanizmanın aynısı
477       yetkilendirmeye de getirilmiştir. Bunun anlamı <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesinde hangi
478       izin yönteminin kullanılması gerektiğinin belirtmesinin yanında
479       hangi sırayla çağırılacaklarının da belirlenebildiğidir. Çok
480       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
481       yapılandırma dosyasında göründükleri sıra ile çağırılır.</p>
482
483       <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
484       taşıyıcısı yönergelerin devreye girmesiyle yetkilendirme
485       yöntemlerinin ne zaman çağırılacağı ve çağırıldığında ve erişime
486       izin verirken hangi kuralların uygulanacağı konusunda denetim
487       yapılandırmanın eline geçmektedir. Karmaşık yetkilendime mantığını
488       ifade etmek için kullanılan bir örneği görmek için
489       <a href="../mod/mod_authz_core.html#logic">Yetkilendirme
490       Taşıyıcıları</a> bölümüne bakınız.</p>
491
492       <p>Öntanımlı olarak tüm <code class="directive"><a href="../mod/mod_authz_core.html#&#10;      require">
493       Require</a></code> yönergeleri, <code class="directive"><a href="../mod/mod_authz_core.html#requireany">&lt;RequireAny&gt;</a></code>
494       taşıyıcı yönergesinin içine konur. Başka bir deyişle eğer
495       belirtilen kimlik doğrulama yöntemlerinden herhangi biri başarılı
496       olursa yetkilendirme de sağlanmış olur.</p>
497
498     
499
500     <h3><a name="reqaccessctrl" id="reqaccessctrl">Erişim denetimi için yetkilendirme tedarikçilerinin
501       kullanımı</a></h3>
502       
503       <p>Kullanıcı adı ve parolasına göre kimlik doğrulama hikayenin
504       sadece bir bölümüdür. Sıklıkla insanlara kim olduklarına göre
505       değil birşeylere dayanarak izin vermek istersiniz. Örneğin nereden
506       geldikleri gibi.</p>
507
508       <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
509       tedarikçileri ile, bir belgenin istendiği makinenin IP adresi veya
510       konak ismi gibi bazı özelliklerine dayalı olarak erişime izin
511       verip vermeyeceğinizi belirtebilirsiniz.</p>
512
513       <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,
514       isteklerin işlenmesi sırasında yetkilendirme aşamasında
515       çağırılacak yetkilendirme tedarikçilerini kayda geçirir. Örneğin:
516       </p>
517
518       <div class="example"><p><code>
519         Require ip <var>adres</var>
520       </code></p></div>
521
522       <p>Burada, <var>adres</var> bir IP adresidir (veya kısmi bir IP
523         addresidir)</p>
524
525       <div class="example"><p><code>
526         Require host <var>alan_adı</var>
527       </code></p></div>
528
529       <p>Burada, <var>alan_adı</var> bir tam nitelikli alan adıdır
530       (ya da kısmi alan adıdır); gerekirse çok sayıda alan adı veya IP
531       adresi de belirtilebilir.</p>
532
533       <p>Örneğin, yorum alanını gereksiz iletilerle dolduran birini uzak
534       tutmak istediğinizi varsayalım. Bu kişiyi uzak tutmak için şunları
535       yapabilirsiniz:</p>
536
537       <div class="example"><p><code>
538         &lt;RequireAll&gt;
539         <span class="indent">
540           Require all granted<br />
541           Require not ip 10.252.46.165
542         </span>
543         &lt;/RequireAll&gt;
544       </code></p></div>
545
546       <p>Bu adresden gelen ziyaretçiler bu yönergedeki içeriği
547       göremeyeceklerdir. Bunun yerine, elinizde IP adresi değil de
548       makine adı varsa şunu kullanabilirsiniz:</p>
549
550       <div class="example"><p><code>
551         &lt;RequireAll&gt;
552         <span class="indent">
553           Require all granted<br />
554           Require not host <var>host.example.com</var>
555         </span>
556         &lt;/RequireAll&gt;
557       </code></p></div>
558
559       <p>Eğer alan adının tamanıdan gelecek olan bütün erişimleri
560       engellemek isterseniz adresin ya da alan adının bir parçasını
561       belirtin:</p>
562
563       <div class="example"><p><code>
564         &lt;RequireAll&gt;
565         <span class="indent">
566           Require all granted<br />
567           &lt;RequireNone&gt;
568           <span class="indent">
569             Require ip 192.168.205<br />
570             Require host phishers.example.com moreidiots.example<br />
571             Require host ke
572           </span>
573           &lt;/RequireNone&gt;
574         </span>
575         &lt;/RequireAll&gt;
576       </code></p></div>
577
578       <p>Yukarıdaki örnekte, <code class="directive"><a href="../mod/mod_authz_core.html#requirenone">&lt;RequireNone&gt;</a></code> yönergesi içindeki
579       <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>
580       yönergelerinin değiştirgeleriyle hiçbir bir eşleşme olmaması
581       durumunda erişime izin verilir.</p>
582
583     
584
585     <h3><a name="filesystem" id="filesystem">Erişim denetimi ve geriye uyumluluk</a></h3>
586       
587       <p>Kimlik doğrulama için tedarik tabanlı mekanizma kullanımının
588       yan etkilerinden birisi,
589       <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>,
590       <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>,
591       <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> ve
592       <code class="directive"><a href="../mod/mod_access_compat.html#satisfy">Satisfy</a></code> erişim
593       denetim yönergelerine artık ihtiyaç duyulmamasıdır. Ancak eski
594       yapılandırmalarla uyumluluğu sağlamak için bu yönergeler
595       <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> modülüne taşınmıştır.</p>
596
597     
598
599   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
600 <div class="section">
601 <h2><a name="socache" id="socache">Kimlik Doğrulama Arabelleği</a></h2>
602     <p>Zaman zaman kimlik doğrulama ağınızda veya sağlayıcı(ları)nızda kabul
603     edilemez yükler oluşturur. Bu çoğunlukla <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>
604     (veya üçüncü parti/özel sağlayıcıların) kullanıcılarını etkiler. Bununla
605     ilgilenmek için httpd 2.3/2.4, kimlik bilgilerini arabelleklemek ve özgün
606     sağlayıcıların yüklerini azaltmak için yeni bir arabellekleme sağlayıcısı
607     olarak <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code> modülü ile gelmektedir.</p>
608     <p>Bu, bazı kullanıcılar için önemli bir başarım artışı sağlayabilir.</p>
609   </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
610 <div class="section">
611 <h2><a name="moreinformation" id="moreinformation">Daha fazla bilgi</a></h2>
612     <p>Daha fazla bilgi için <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ve
613     <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modüllerinin belgelerine bakınız.
614     <code class="directive"><a href="../mod/mod_authn_core.html#&lt;authnprovideralias&gt;">&lt;AuthnProviderAlias&gt;</a></code>
615     yönergesi ile bazı yapılandırmalarınızı basitleştirebilirsiniz.</p>
616
617     <p>Apache tarafından desteklenen şifrelerle ilgili bilgi için <a href="../misc/password_encryptions.html">Parola Biçemleri</a>
618     belgesine bakınız.</p>
619
620     <p><a href="access.html">Erişim Denetimi</a> nasıl belgesinden de
621     bazı bilgiler edinebilirsiniz.</p>
622   </div></div>
623 <div class="bottomlang">
624 <p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
625 <a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
626 <a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
627 <a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
628 <a href="../tr/howto/auth.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
629 </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>
630 <script type="text/javascript"><!--//--><![CDATA[//><!--
631 var comments_shortname = 'httpd';
632 var comments_identifier = 'http://httpd.apache.org/docs/2.4/howto/auth.html';
633 (function(w, d) {
634     if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
635         d.write('<div id="comments_thread"><\/div>');
636         var s = d.createElement('script');
637         s.type = 'text/javascript';
638         s.async = true;
639         s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
640         (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
641     }
642     else { 
643         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
644     }
645 })(window, document);
646 //--><!]]></script></div><div id="footer">
647 <p class="apache">Copyright 2013 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>
648 <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[//><!--
649 if (typeof(prettyPrint) !== 'undefined') {
650     prettyPrint();
651 }
652 //--><!]]></script>
653 </body></html>