summaryrefslogtreecommitdiffstats
path: root/docs/manual/howto/auth.html.tr.utf8
blob: b8800efdfada577a240815188416077dc5cc0aee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>Kimlik Doğrulama, Yetkilendirme ve Erişim Denetimi - Apache HTTP Sunucusu</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<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>
<p class="apache">Apache HTTP Sunucusu Sürüm 2.3</p>
<img alt="" src="../images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<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>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/howto/auth.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>
<div class="outofdate">Bu çeviri güncel olmayabilir. Son değişiklikler için İngilizce sürüm geçerlidir.</div>

    <p>Kimlik Doğrulama istediğiniz kişileri teyid etme işlemidir.
    Yetkilendirme ise kişilerin nereye gireceklerine ve hangi bilgiye
    ulaşacaklarına müsaade edilmesi işlemidir.</p>
  </div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#related">İlgili modüller ve Yönergeler</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#introduction">Giriş</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#theprerequisites">Ön gereksinimler</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#gettingitworking">Çalışmaya Başlama</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#possibleproblems">Olası Sorunlar</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#dbmdbd">Diğer parola depolama yöntemleri</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#multprovider">Birden çok tedarikçi kullanmak</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#beyond">Yetkilendirmenin biraz ötesi</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">Daha fazla bilgi</a></li>
</ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="related" id="related">İlgili modüller ve Yönergeler</a></h2>

    <p>Kimlik Doğrulama ve yetkilendirme işlemi ile ilgili üç tür modül
    vardır. Genellikle her bir gruptan en az bir modül seçeceksiniz.</p>

    <ul>
      <li>Kimlik Doğrulama türü (bkz. <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> yönergesi)
        <ul>
          <li><code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code></li>
          <li><code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code></li>
        </ul>
      </li>

      <li>Kimlik Doğrulayıcı (bkz.
      <code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
      ve <code class="directive"><a href="../mod/mod_auth_digest.html#authdigestprovider">AuthDigestProvider</a></code> yönergeleri)
        <ul>
          <li><code class="module"><a href="../mod/mod_authn_anon.html">mod_authn_anon</a></code></li>
          <li><code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code></li>
          <li><code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code></li>
          <li><code class="module"><a href="../mod/mod_authn_file.html">mod_authn_file</a></code></li>
          <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
        </ul>
      </li>
      <li>Yetkilendirme (bkz.
          <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesi)
        <ul>
          <li><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></li>
          <li><code class="module"><a href="../mod/mod_authz_dbd.html">mod_authz_dbd</a></code></li>
          <li><code class="module"><a href="../mod/mod_authz_dbm.html">mod_authz_dbm</a></code></li>
          <li><code class="module"><a href="../mod/mod_authz_groupfile.html">mod_authz_groupfile</a></code></li>
          <li><code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code></li>
          <li><code class="module"><a href="../mod/mod_authz_owner.html">mod_authz_owner</a></code></li>
          <li><code class="module"><a href="../mod/mod_authz_user.html">mod_authz_user</a></code></li>
        </ul>
      </li>
    </ul>

    <p>Bu modüllere ek olarak, <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> ve
    <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> modülleri bulunur. Bu modüller
    yetkilendirme modüllerinin çekirdeğini oluşturan temel yönergeleri
    gerçekler.</p>

    <p><code class="module"><a href="../mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> modülü kimlik doğrulama ve
    yetkilendirme işlemlerinin ikisini birden gerçekleştirir.
    <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modülü bu işlemleri sunucu adına, IP
    adresine ve isteğin karekteristiğine bağlı olarak gerçekleştirir.
    Ancak kimlik doğrulama sisteminin bir parçası değildir.
    <code>mod_access</code> ile geriye uyumluluk için
    <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> diye bir modül daha vardır.</p>

    <p>Muhtemelen göz atmak isteyeceğiniz <a href="access.html">Erişim
    Denetimi</a> nasıl belgesi, sunucuya erişimlerin çeşitli yollarından
    bahsetmektedir.</p>
  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="introduction" id="introduction">Giriş</a></h2>
    <p>Sitenizde sadece küçük bir grup insana hitap eden ya da hassas
    bilgileriniz varsa, bu makaledeki teknikleri kullanarak dilediğiniz
    kişilerin sadece dilediğiniz sayfaları görüntülemesini
    sağlayabilirsiniz.</p>

    <p>Bu makale sitenizin bazı parçalarını korumak için kullanacağınız
    "standart" yolları içermektedir.</p>

    <div class="note"><h3>Bilginize:</h3>
      <p>Eğer bilgileriniz gerçekten gizliliğe ihtiyaç duyuyorsa kimlik
      doğrulamasına ilaveten <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> modülünü de
      kullanabilirsiniz.</p>
    </div>

  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="theprerequisites" id="theprerequisites">Ön gereksinimler</a></h2>
    
    <p>Bu makalede bahsi geçen yönergeler ya ana sunucu yapılandırma
    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
    yapılandırma dosyalarında (<code>.htaccess</code> dosyaları)
    bulunmak zorundadır.</p>

    <p>Eğer <code>.htaccess</code> dosyalarını kullanmayı
    tasarlıyorsanız, kimlik doğrulama yönergelerine bu dosyaların içine
    koymaya izin veren sunucu yapılandırmasına ihtiyacınız olacaktır.
    Bunun için, dizin içi yapılandırma dosyalarının içine hangi
    yönergelerin konacağını belirleyen <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> yönergesi kullanılır.</p>

    <p>Kimlik doğrulamadan sözettiğimize göre, aşağıda gösterilen
    şekilde bir <code class="directive"><a href="../mod/core.html#allowoverride">AllowOverride</a></code> yönergesine ihtiyacınız olacaktır:</p>

    <div class="example"><p><code>
      AllowOverride AuthConfig
    </code></p></div>

    <p>Yönergeleri doğrudan ana sunucunun yapılandırma dosyasına
    koyacaksanız bu dosyaya yazma izniniz olmalıdır.</p>

    <p>Bazı dosyaların nerede saklandığını bilmek için sunucunun dizin
    yapısı hakkında biraz bilgi sahibi olmanız gerekmektedir. Bu çok da
    zor olmamakla birlikte bu noktaya gelindiğinde konuyu
    netleştireceğiz.</p>

    <p>Ayrıca <code class="module"><a href="../mod/mod_authn_core.html">mod_authn_core</a></code> ve
    <code class="module"><a href="../mod/mod_authz_core.html">mod_authz_core</a></code> modülleri ya <code>httpd</code>
    çalıştırılabilirinin içinde derlenmiş olmalı ya da
    <code>httpd.conf</code> yapılandırma dosyası ile yüklenmelidir. Bu
    iki modül HTTP sunucusunda kimlik doğrulama ve yetkilendirme
    kullanımı ve yapılandırması için büyük öneme sahip temel yönergeleri
    ve işlevselliği sağlar.</p>

  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="gettingitworking" id="gettingitworking">Çalışmaya Başlama</a></h2>
    <p>Burada, sunucu üzerindeki bir dizini parolayla korumak için
    gereken temel bilgiler verilecektir.</p>

    <p>İlk olarak bir parola dosyası oluşturmalısınız. Bunu nasıl
    yapacağınız, özellikle, seçtiğiniz kimlik doğrulayıcıya göre
    değişiklik gösterir. Bunun üzerinde ileride daha fazla duracağız.
    Başlangıç için parolaları bir metin dosyasında tutacağız.</p>

    <p>Bu dosya belge kök dizini altında olmamalıdır. Böylece başkaları
    parola dosyasını indiremezler. Örneğin belgeleriniz
    <code>/usr/local/apache/htdocs</code> üzerinden sunuluyorsa parola
    dosyanızı <code>/usr/local/apache/passwd</code> dizininde
    tutabilirsiniz.</p>

    <p>Dosyayı oluşturmak için Apache ile gelen
    <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> uygulamasını kullanacağız. Bu uygulama
    Apache'nin kurulumunda belirtilen  <code>bin</code> dizininde
    bulunur. Eğer Apache'yi üçüncü parti paketlerden  kurduysanız,
    çalıştırılabilir dosyaların bulunduğu yollar üzerinde olmalıdır.</p>

    <p>Bir dosya oluşturmak için şunları yazın:</p>

    <div class="example"><p><code>
      htpasswd -c /usr/local/apache/passwd/passwords umut
    </code></p></div>

    <p><code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> size parola soracaktır arkasından da
    teyit etmek için parolayı tekrar girmenizi isteyecektir:</p>

    <div class="example"><p><code>
      # htpasswd -c /usr/local/apache/passwd/passwords umut<br />
      New password: parolam<br />
      Re-type new password: parolam<br />
      Adding password for user umut
    </code></p></div>

    <p>Eğer <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> normal yollar üzerinde değilse
    çalıştırmak için dosyanın bulunduğu tam yeri belirtmeniz
    gerekecektir. Dosyanın öntanımlı kurulum yeri:
    <code>/usr/local/apache2/bin/htpasswd</code></p>

    <p>Bundan sonra, sunucuyu, parola sorması için ve kimlerin erişim
    izni olacağını belirlemek için yapılandıracaksınız. Bu işlemi
    <code>httpd.conf</code>dosyasını düzenleyerek ya da bir
    <code>.htaccess</code> dosyası kullanarak yapabilirsiniz. Örneğin,
    <code>/usr/local/apache/htdocs/secret</code> dizinini korumayı
    amaçlıyorsanız, şu yönergeleri kullanabilirsiniz. Bu yönergeleri
    <code>/usr/local/apache/htdocs/secret/.htaccess</code> dosyası içine
    veya <code>httpd.conf</code> içindeki &lt;Directory
    /usr/local/apache/htdocs/secret&gt; bölümüne koyabilirsiniz.</p>

    <div class="example"><p><code>
      AuthType Basic<br />
      AuthName "Gizli Dosyalar"<br />
      # (Aşağıdaki satırın kullanımı isteğe bağlıdır)<br />
      AuthBasicProvider file<br />
      AuthUserFile /usr/local/apache/passwd/passwords<br />
      Require user umut
    </code></p></div>

    <p>Bu yönergeleri tek tek inceleyelim.
    <code class="directive"><a href="../mod/mod_authn_core.html#authtype">AuthType</a></code> yönergesi
    kullanıcının kimliğini doğrulamakta kullanılacak yöntemi seçer. En
    çok kullanılan yöntem <code>Basic</code>'tir ve bu yöntem
    <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> modülüyle gerçeklenmiştir. Temel
    (<code>Basic</code>) kimlik doğrulamasıyla gönderilen parolanın
    şifrelenmeyeceğini unutmayın. Bu yöntem, bu sebepten dolayı
    <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> eşliğinde kullanılmadığı sürece yüksek
    hassasiyete sahip bilgiler için kullanılmamalıdır. Apache bir başka
    kimlik doğrulama yöntemini daha destekler: <code>AuthType
    Digest</code>. Bu yöntem <code class="module"><a href="../mod/mod_auth_digest.html">mod_auth_digest</a></code> tarafından
    gerçeklenmiştir ve çok daha güvenlidir. Güncel tarayıcılar, Özet
    (<code>Digest</code>) kimlik doğrulama yöntemini
    desteklemektedir.</p>

    <p><code class="directive"><a href="../mod/mod_authn_core.html#authname">AuthName</a></code> yönergesi
    ile kimlik doğrulamada kullanılacak <dfn>Saha</dfn> da
    belirtilebilir. Saha kullanımının, başlıca iki işlevi vardır.
    Birincisi, istemci sıklıkla bu bilgiyi kullanıcıya parola diyalog
    kutusunun bir parçası olarak sunar. İkincisi, belirtilen kimlik
    doğrulamalı alan için gönderilecek parolayı belirlerken istemci
    tarafından kullanılır.</p>

    <p>Örneğin, bir istemcinin <code>"Gizli Dosyalar"</code> alanında
    kimliği doğrulanmış olsun. Aynı sunucu üzerinde <code>"Gizli
    Dosyalar"</code> Sahası olarak belirlenmiş alanlarda aynı parola
    özdevinimli olarak yinelenecektir. Böylece parola bir kere girilerek
    aynı Sahayı paylaşan çok sayıda kısıtlanmış alana ulaşırken oluşacak
    gecikmeden kullanıcı korunmuş olur. Güvenlik gerekçelerinden dolayı,
    her sunucu adı değiştirilişinde istemcinin parolayı yeniden sorması
    gerekir.</p>

    <p><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code>
    yönergesinin öntanımlı değeri <code>file</code> olduğundan, bu
    durumda, bu yönergenin kullanımı isteğe bağlıdır. Ancak, eğer kimlik
    doğrulaması için  <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> ya da
    <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code> gibi farklı bir kaynak seçecekseniz
    bu yönergeyi kullanmanız gerekecektir.</p>

    <p><code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
    yönergesi <code class="program"><a href="../programs/htpasswd.html">htpasswd</a></code> ile oluşturduğumuz parola
    dosyasının yerini belirtmek için kullanılır. Eğer çok sayıda
    kullanıcınız varsa her bir kullanıcıyı her kimlik doğrulama isteği
    için kimlik bilgilerini bir metin dosyasında aramak gayet yavaş
    olacaktır. Apache, kullanıcı bilgilerini hızlı bir veritabanı
    dosyasında depolama özelliğine de sahiptir. Bu amaçla,
    <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> modülünün
    <code class="directive"><a href="../mod/mod_authn_dbm.html#authdbmuserfile">AuthDBMUserFile</a></code>
    yönergesi kullanılabilir. Bu dosyalar <code class="program"><a href="../programs/dbmmanage.html">dbmmanage</a></code>
    programı ile oluşturulabilir ve değiştirilebilir.  <a href="http://modules.apache.org/">Apache modülleri
    Veritabanı</a> içindeki üçüncü parti modüllerinde çok sayıda
    başka kimlik doğrulama türü de vardır.</p>

    <p>Son olarak <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>
    yönergesi, sunucunun bu bölgesine erişimine izin verilen
    kullanıcıları ayarlama işleminin kimlik doğrulamasıyla ilgili
    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
    çeşitli yoları üzerinde duracağız.</p>
  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="lettingmorethanonepersonin" id="lettingmorethanonepersonin">Birden çok kişiye izin vermek</a></h2>
    
    <p>Yukarıdaki yönergelerle bir dizinde sadece bir kişiye
    (<code>umut</code> adlı kullanıcıya) izin verir. Çoğunlukla birden
    çok kişiye izin verilmesi istenir. Bu durumda <code class="directive"><a href="../mod/mod_authz_groupfile.html#authgroupfile">AuthGroupFile</a></code> yönergesi
    devreye girer.</p>

    <p>Eğer birden çok kişiye izin vermek istiyorsanız içinde kullanıcı
    isimlerinin olduğu bir grup dosyası oluşturmalısınız. Bu dosyanın
    biçemi gayet basittir ve bunu herhangi bir metin düzenleyici ile
    oluşturabilirsiniz. Bu dosyanın içeriği aşağıdaki gibi
    görünecektir:</p>

    <div class="example"><p><code>
     GroupName: umut samet engin kubilay
    </code></p></div>

    <p>Dosya, sadece, boşluklarla birbirinden ayrılmış gurup üyelerinin
    isimlerinden oluşan uzun bir liste içerir.</p>

    <p>Varolan parola dosyasına bir kullanıcı eklemek için şunu
    yazın:</p>

    <div class="example"><p><code>
      htpasswd /usr/local/apache/passwd/passwords birey
    </code></p></div>

    <p>Evvelce almış olduğunuz yanıtı yine alacaksınız ama bu sefer yeni
    bir dosya oluşturulmak yerine var olan bir dosyaya eklenecektir.
    (Yeni bir parola dosyası oluşturmak için <code>-c</code> seçeneği
    kullanılır).</p>

    <p>Şimdi, <code>.htaccess</code> dosyanızı aşağıda görüldüğü şekilde
    değiştirebilirsiniz:</p>

    <div class="example"><p><code>
      AuthType Basic<br />
      AuthName "Davete Binaen"<br />
      # Satır isteğe bağlıdır:<br />
      AuthBasicProvider file<br />
      AuthUserFile /usr/local/apache/passwd/passwords<br />
      AuthGroupFile /usr/local/apache/passwd/groups<br />
      Require group Grupismi
    </code></p></div>

    <p>Artık, <code>Grupismi</code> gurubunda listelenmiş ve
    <code>password</code> dosyasında kaydı olan kişiye, parolayı doğru
    yazdığı takdirde izin verilecektir.</p>

    <p>Çoklu kullanıcıya izin veren biraz daha az kullanılan başka bir
    yol daha mevcuttur. Bir gurup dosyası oluşturmaktansa, şu yönergeyi
    kullanabilirsiniz:</p>

    <div class="example"><p><code>
      Require valid-user
    </code></p></div>

    <p><code>Require user umut</code> satırı ile parola dosyasında
    listelenmiş ve parolayı doğru olarak giren herhangi bir kişiye izin
    vermektense, her grup için ayrı bir parola dosyası tutarak grup
    davranışını taklit edebilirsiniz. Bu yaklaşımın getirisi:
    Apache iki dosya yerine sadece bir dosyaya bakar.
    Götürüsü ise parola dosyalarından oluşan bir dosya demeti sağlamak
    ve <code class="directive"><a href="../mod/mod_authn_file.html#authuserfile">AuthUserFile</a></code>
    yönergesinde doğru dosyayı belirtmeyi unutmamak zorunda
    kalmanızdır.</p>

  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="possibleproblems" id="possibleproblems">Olası Sorunlar</a></h2>
    <p>Temel kimlik doğrulama yolu belirtildiği için, sunucuya
    yaptığınız her belge istediğinde kullanıcı adınızın ve parolanızın
    doğrulanması gerekir. Hatta aynı sayfayı yeniden yüklerken ya da
    sayfadaki her bir resim için bu yapılmalıdır (şayet korunmakta olan
    bir dizinden geliyorsa). Bu işlem hızı azaltacaktır. Yavaşlama
    miktarı parola dosyanızın büyüklüğü ile orantılı olacaktır, çünkü bu
    işlem sırasında dosya açılacak ve kullanıcıların arasında isminiz
    bulunana kadar liste aşağı doğru taranacaktır. Bu işlem sayfa her
    yüklenişinde tekrar edilecektir.</p>

    <p>Buradan çıkacak sonuç, bir parola dosyasına konulan kullanıcı
    sayısında bir üst sınır olması gerekliliğidir. Bu sınır sunucunuzun
    başarımına bağlı olarak değişiklik gösterir. Bir kaç yüz kayıtın
    üstünde giriş yaptığınızda hız düşüşünü gözlemlebilirsiniz İşte bu
    anda kimlik doğrulama için başka bir yöntem aramaya başlarsınız.</p>

  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="dbmdbd" id="dbmdbd">Diğer parola depolama yöntemleri</a></h2>
    
    <p>Parolaları basit bir metin dosyasında depolamak yukarıda
    bahsedilen sorunlara yol açtığından parolaları başka bir yerde
    depolamayı düşünebilirsiniz; örneğin bir veritabanında.</p>

    <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>
    modülleri bunu mümkün kılan iki modüldür. Depolama yönemi olarak
    <code><code class="directive"><a href="../mod/mod_auth_basic.html#authbasicprovider">AuthBasicProvider</a></code> file</code> yerine, <code>dbm</code>
    veya <code>dbd</code> kullanabilirsiniz.</p>

    <p>Bir metin dosyası yerine bir dbd dosyası kullanım örneği:</p>

    <div class="example"><p><code>
    &lt;Directory /www/docs/private&gt;<br />
    AuthName "Private"<br />
    AuthType Basic<br />
    AuthBasicProvider dbm<br />
    AuthDBMUserFile /www/passwords/passwd.dbm<br />
    Require valid-user<br />
    &lt;/Directory&gt;
    </code></p></div>

    <p>Başka seçenekler de mümkündür. Ayrınılar için
    <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code> belgesine başvurun.</p>

  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="multprovider" id="multprovider">Birden çok tedarikçi kullanmak</a></h2>
    
    <p>Kimlik doğrulama ve yetkilendirme mimarisine dayalı yeni
    tedarikçiyi kullanarak tek bir yetkilendirme ya da kimlik doğrulama
    yöntemine kilitlenip kalmayacaksınız. Aslında birden çok tedarikçi
    ihtiyacınıza cevap vermek için bir arada kullanılabilir. Aşağıdaki
    örnekte dosya ve LDAP tabanlı kimlik doğrulama tedarikçileri bir
    arada kullanılmıştır.</p>

    <div class="example"><p><code>
    &lt;Directory /www/docs/private&gt;<br />
    AuthName "Private"<br />
    AuthType Basic<br />
    AuthBasicProvider file ldap<br />
    AuthUserFile /usr/local/apache/passwd/passwords<br />
    AuthLDAPURL ldap://ldaphost/o=yourorg<br />
    Require valid-user<br />
    &lt;/Directory&gt;
    </code></p></div>

    <p>Bu örnekte dosya tedarikçisi, ilk olarak kullanıcının kimliğini
    doğrulamaya teşebbüs edecektir. Kullanıcının kimliği
    doğrulanamıyorsa LDAP tedarikçisi çağırılır. Eğer kurumunuz birden
    çok kimlik doğrulama tedarikçisini yürürlüğe koyuyorsa bu, kimlik
    doğrulama faaliyet alanının genişletilmesini sağlar. Diğer kimlik
    kanıtlama ve yetkilendirme senaryoları tek bir kimlik doğrulaması
    ile birden fazla yetkilendirme türüne izin verebilir.</p>

    <p>Çok sayıda kimlik doğrulama tedarikçisi uygulamaya konulabileceği
    gibi, çok sayıda yetkilendirme yöntemi de kullanılabilir. Bu örnekte
    dosya için hem dosyalı hem de LDAP grup kimlik doğrulaması
    kullanılmıştır.</p>

    <div class="example"><p><code>
    &lt;Directory /www/docs/private&gt;<br />
    AuthName "Private"<br />
    AuthType Basic<br />
    AuthBasicProvider file<br />
    AuthUserFile /usr/local/apache/passwd/passwords<br />
    AuthLDAPURL ldap://ldaphost/o=yourorg
    AuthGroupFile /usr/local/apache/passwd/groups<br />
    Require group GroupName<br />
    Require ldap-group cn=mygroup,o=yourorg<br />
    &lt;/Directory&gt;
    </code></p></div>

    <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
    <code class="directive"><a href="../mod/mod_authz_core.html#requireany">&lt;RequireAny&gt;</a></code> gibi yetkilendirme taşıyıcısı
    yönergelerle hangi iznin hangi sırayla uygulanacağını
    belirlenebilir. <a href="../mod/mod_authz_core.html#logic">Yetkilendirme Taşıyıcıları</a> bölümünde bunun bir uygulama
    örneğini görebilirsiniz.</p>

  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="beyond" id="beyond">Yetkilendirmenin biraz ötesi</a></h2>
    <p>Tek bir veri deposundan yapılacak tek bir sınamadan çok daha
    esnek kimlik doğrulaması yapılabilir. Sıralama, mantık ve hangi
    kimlik doğrulamasının kullanılacağını seçmek mümkündür.</p>

    <h3><a name="authandororder" id="authandororder">Mantık ve sıralamanın uygulanması</a></h3>
      
      <p>Yetkilendirmenin hangi sırayla uygulanacağı ve nasıl
      denetleneceği geçmişte biraz gizemli bir konuydu. Apache 2.2'de,
      tedarikçi tabanlı kimlik doğrulamasının devreye girmesiyle asıl
      kimlik doğrulama işlemini yetkilendirme ve destek işlevselliğinden
      ayırmak mümkün oldu. Bunun faydalarından birisi de kimlik
      doğrulama tedarikçilerinin yapılandırılabilmesi ve auth modülünün
      kendi yükleme sırasından bağımsız olarak özel bir sırayla
      çağrılabilmesidir. Bu tedarikçi tabanlı mekanizmanın aynısı
      yetkilendirmeye de getirilmiştir. Bunun anlamı <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> yönergesinde hangi
      izin yönteminin kullanılması gerektiğinin belirtmesinin yanında
      hangi sırayla çağırılacaklarının da belirlenebildiğidir. Çok
      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
      yapılandırma dosyasında göründükleri sıra ile çağırılır.</p>

      <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
      taşıyıcısı yönergelerin devreye girmesiyle yetkilendirme
      yöntemlerinin ne zaman çağırılacağı ve çağırıldığında ve erişime
      izin verirken hangi kuralların uygulanacağı konusunda denetim
      yapılandırmanın eline geçmektedir. Karmaşık yetkilendime mantığını
      ifade etmek için kullanılan bir örneği görmek için
      <a href="../mod/mod_authz_core.html#logic">Yetkilendirme
      Taşıyıcıları</a> bölümüne bakınız.</p>

      <p>Öntanımlı olarak tüm <code class="directive"><a href="../mod/mod_authz_core.html#&#10;      require">
      Require</a></code> yönergeleri, <code class="directive"><a href="../mod/mod_authz_core.html#requireany">&lt;RequireAny&gt;</a></code>
      taşıyıcı yönergesinin içine konur. Başka bir deyişle eğer
      belirtilen kimlik doğrulama yöntemlerinden herhangi biri başarılı
      olursa yetkilendirme de sağlanmış olur.</p>

    

    <h3><a name="reqaccessctrl" id="reqaccessctrl">Erişim denetimi için yetkilendirme tedarikçilerinin
      kullanımı</a></h3>
      
      <p>Kullanıcı adı ve parolasına göre kimlik doğrulama hikayenin
      sadece bir bölümüdür. Sıklıkla insanlara kim olduklarına göre
      değil birşeylere dayanarak izin vermek istersiniz. Örneğin nereden
      geldikleri gibi.</p>

      <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
      tedarikçileri ile, bir belgenin istendiği makinenin IP adresi veya
      konak ismi gibi bazı özelliklerine dayalı olarak erişime izin
      verip vermeyeceğinizi belirtebilirsiniz.</p>

      <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,
      isteklerin işlenmesi sırasında yetkilendirme aşamasında
      çağırılacak yetkilendirme tedarikçilerini kayda geçirir. Örneğin:
      </p>

      <div class="example"><p><code>
        Require ip <var>adres</var>
      </code></p></div>

      <p>Burada, <var>adres</var> bir IP adresidir (veya kısmi bir IP
        addresidir)</p>

      <div class="example"><p><code>
        Require host <var>alan_adı</var>
      </code></p></div>

      <p>Burada, <var>alan_adı</var> bir tam nitelikli alan adıdır
      (ya da kısmi alan adıdır); gerekirse çok sayıda alan adı veya IP
      adresi de belirtilebilir.</p>

      <p>Örneğin, yorum alanını gereksiz iletilerle dolduran birini uzak
      tutmak istediğinizi varsayalım. Bu kişiyi uzak tutmak için şunları
      yapabilirsiniz:</p>

      <div class="example"><p><code>
        &lt;RequireAll&gt;
        <span class="indent">
          Require all granted<br />
          Require not ip 10.252.46.165
        </span>
        &lt;/RequireAll&gt;
      </code></p></div>

      <p>Bu adresden gelen ziyaretçiler bu yönergedeki içeriği
      göremeyeceklerdir. Bunun yerine, elinizde IP adresi değil de
      makine adı varsa şunu kullanabilirsiniz:</p>

      <div class="example"><p><code>
        &lt;RequireAll&gt;
        <span class="indent">
          Require all granted<br />
          Require not host <var>host.example.com</var>
        </span>
        &lt;/RequireAll&gt;
      </code></p></div>

      <p>Eğer alan adının tamanıdan gelecek olan bütün erişimleri
      engellemek isterseniz adresin ya da alan adının bir parçasını
      belirtin:</p>

      <div class="example"><p><code>
        &lt;RequireAll&gt;
        <span class="indent">
          Require all granted<br />
          &lt;RequireNone&gt;
          <span class="indent">
            Require ip 192.168.205<br />
            Require host phishers.example.com moreidiots.example<br />
            Require host ke
          </span>
          &lt;/RequireNone&gt;
        </span>
        &lt;/RequireAll&gt;
      </code></p></div>

      <p>Yukarıdaki örnekte, <code class="directive"><a href="../mod/mod_authz_core.html#requirenone">&lt;RequireNone&gt;</a></code> yönergesi içindeki
      <code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code>
      yönergelerinin değiştirgeleriyle hiçbir bir eşleşme olmaması
      durumunda erişime izin verilir.</p>

    

    <h3><a name="filesystem" id="filesystem">Erişim denetimi ve geriye uyumluluk</a></h3>
      
      <p>Kimlik doğrulama için tedarik tabanlı mekanizma kullanımının
      yan etkilerinden birisi,
      <code class="directive"><a href="../mod/mod_access_compat.html#order">Order</a></code>,
      <code class="directive"><a href="../mod/mod_access_compat.html#allow">Allow</a></code>,
      <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> ve
      <code class="directive"><a href="../mod/mod_access_compat.html#satisfy">Satisfy</a></code> erişim
      denetim yönergelerine artık ihtiyaç duyulmamasıdır. Ancak eski
      yapılandırmalarla uyumluluğu sağlamak için bu yönergeler
      <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> modülüne taşınmıştır.</p>

    

  </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="moreinformation" id="moreinformation">Daha fazla bilgi</a></h2>
    <p>Daha fazla bilgi için <code class="module"><a href="../mod/mod_auth_basic.html">mod_auth_basic</a></code> ve
    <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code> modüllerinin belgelerine bakınız.
    <code class="directive"><a href="../mod/mod_authn_core.html#&lt;authnprovideralias&gt;">&lt;AuthnProviderAlias&gt;</a></code>
    yönergesi ile bazı yapılandırmalarınızı basitleştirebilirsiniz.</p>

    <p>Apache tarafından desteklenen şifrelerle ilgili bilgi için <a href="../misc/password_encryptions.html">Parola Biçemleri</a>
    belgesine bakınız.</p>

    <p><a href="access.html">Erişim Denetimi</a> nasıl belgesinden de
    bazı bilgiler edinebilirsiniz.</p>
  </div></div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="../tr/howto/auth.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div><div id="footer">
<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>
<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>
</body></html>