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 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639
|
<?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>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Kimlik Doğrulama ve Yetkilendirme - Apache HTTP Sunucusu Sürüm 2.4</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 rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>
<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="http://wiki.apache.org/httpd/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.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="../">Sürüm 2.4</a> > <a href="./">Nasıllar ve Öğreticiler</a></div><div id="page-content"><div id="preamble"><h1>Kimlik Doğrulama ve Yetkilendirme</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="../en/howto/auth.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/howto/auth.html" title="Türkçe"> tr </a></p>
</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>
<p>Genel erişim denetimi için <a href="access.html">Erişim Denetimi
Nasıl</a> belgesine bakınız.</p>
</div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><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="#socache">Kimlik Doğrulama Arabelleği</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#moreinformation">Daha fazla bilgi</a></li>
</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="#comments_section">Yorumlar</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>
<li><code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</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"><Directory></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>
<pre class="prettyprint lang-config">AllowOverride AuthConfig</pre>
<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 <Directory
"/usr/local/apache/htdocs/secret"> bölümüne koyabilirsiniz.</p>
<pre class="prettyprint lang-config">AuthType Basic
AuthName "Gizli Dosyalar"
# (Aşağıdaki satırın kullanımı isteğe bağlıdır)
AuthBasicProvider file
AuthUserFile "/usr/local/apache/passwd/passwords"
Require user umut</pre>
<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şti ve çok daha güvenli olacağı düşünülmüştü. Bu artık
geçerliliğini yitirdiğinden bağlantının bundan böyle
<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> ile şifrelenmesi gerekmektedir.</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> ve
<code class="program"><a href="../programs/htdbm.html">htdbm</a></code> programı ile oluşturulabilir ve değiştirilebilir.
Üçü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ı veya
<code class="directive"><a href="../mod/core.html#directory"><Directory></a></code> bölümünüzü
aşağıda görüldüğü şekilde değiştirebilirsiniz:</p>
<pre class="prettyprint lang-config">AuthType Basic
AuthName "Davete Binaen"
# Satır isteğe bağlıdır:
AuthBasicProvider file
AuthUserFile "/usr/local/apache/passwd/passwords"
AuthGroupFile "/usr/local/apache/passwd/groups"
Require group Grupismi</pre>
<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>
<pre class="prettyprint lang-config">Require valid-user</pre>
<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.</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 dbm dosyası kullanım örneği:</p>
<pre class="prettyprint lang-config"><Directory "/www/docs/private">
AuthName "Private"
AuthType Basic
AuthBasicProvider dbm
AuthDBMUserFile "/www/passwords/passwd.dbm"
Require valid-user
</Directory></pre>
<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>
<pre class="prettyprint lang-config"><Directory "/www/docs/private">
AuthName "Private"
AuthType Basic
AuthBasicProvider file ldap
AuthUserFile "/usr/local/apache/passwd/passwords"
AuthLDAPURL ldap://ldaphost/o=yourorg
Require valid-user
</Directory></pre>
<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>
<pre class="prettyprint lang-config"><Directory "/www/docs/private">
AuthName "Private"
AuthType Basic
AuthBasicProvider file
AuthUserFile "/usr/local/apache/passwd/passwords"
AuthLDAPURL ldap://ldaphost/o=yourorg
AuthGroupFile "/usr/local/apache/passwd/groups"
Require group GroupName
Require ldap-group cn=mygroup,o=yourorg
</Directory></pre>
<p>Kimlik doğrulama konusunu biraz daha genişletirsek, <code class="directive"><a href="../mod/mod_authz_core.html#requireall"><RequireAll></a></code> ve
<code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></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"><RequireAll></a></code> ve <code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></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#require">
Require</a></code> yönergeleri, <code class="directive"><a href="../mod/mod_authz_core.html#requireany"><RequireAny></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>all</code>, <code>env</code>, <code>host</code> ve
<code>ip</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>
<pre class="prettyprint lang-config">Require ip <var>adres</var>
</pre>
<p>Burada, <var>adres</var> bir IP adresidir (veya kısmi bir IP
addresidir)</p>
<pre class="prettyprint lang-config">Require host <var>alan_adı</var>
</pre>
<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>
<pre class="prettyprint lang-config"><RequireAll>
Require all granted
Require not ip 10.252.46.165
</RequireAll></pre>
<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>
<pre class="prettyprint lang-config"><RequireAll>
Require all granted
Require not host host.example.com
</RequireAll></pre>
<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>
<pre class="prettyprint lang-config"><RequireAll>
Require all granted
Require not ip 192.168.205
Require not host phishers.example.com moreidiots.example
Require not host ke
</RequireAll></pre>
<p><code class="directive"><a href="../mod/mod_authz_core.html#requireall"><RequireAll></a></code> yönergesini çok sayıda
<code class="directive"><a href="../mod/mod_authz_core.html#require"><Require></a></code> yönergesi ile birlikte kullanarak,
sadece <code>not</code> ile olumsuzlanan tüm koşulları gerçekleyen
bağlantılara erişim verilir. Başka bir deyişle, olumsuzlanan koşulları
gerçeklemeyen bağlantıların erişimi engellenir.</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 class="warning"><h3>Note</h3>
<p><code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> ile sağlanan yönergelerin
kullanımı artık önerilmemekte, <code class="module"><a href="../mod/mod_authz_host.html">mod_authz_host</a></code>
modülündeki yönergeler önerilmektedir. <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> veya <code class="directive"><a href="../mod/mod_access_compat.html#deny">Deny</a></code> ile
<code class="directive"><a href="../mod/mod_authz_core.html#require">Require</a></code> gibi daha yeni
olanlarının yenilerle karışık kullanımı teknik olarak mümkünse de
önerilmemektedir. <code class="module"><a href="../mod/mod_access_compat.html">mod_access_compat</a></code> modülü, 2.4
yükseltmesini kolaylaştırmak için sadece eski yönergeleri içeren
yapılandırmaları desteklemek üzere oluşturulmuştur. Daha ayrıntılı
bilgi için <a href="../upgrading.html">yükseltme</a> belgesine bakınız.
</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="socache" id="socache">Kimlik Doğrulama Arabelleği</a></h2>
<p>Zaman zaman kimlik doğrulama ağınızda veya sağlayıcı(ları)nızda kabul
edilemez yükler oluşturur. Bu çoğunlukla <code class="module"><a href="../mod/mod_authn_dbd.html">mod_authn_dbd</a></code>
(veya üçüncü parti/özel sağlayıcıların) kullanıcılarını etkiler. Bununla
ilgilenmek için httpd 2.3/2.4, kimlik bilgilerini arabelleklemek ve özgün
sağlayıcıların yüklerini azaltmak için yeni bir arabellekleme sağlayıcısı
olarak <code class="module"><a href="../mod/mod_authn_socache.html">mod_authn_socache</a></code> modülü ile gelmektedir.</p>
<p>Bu, bazı kullanıcılar için önemli bir başarım artışı sağlayabilir.</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#authnprovideralias">AuthnProviderAlias</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"> en </a> |
<a href="../es/howto/auth.html" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/howto/auth.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
<a href="../ja/howto/auth.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
<a href="../ko/howto/auth.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
<a href="../tr/howto/auth.html" title="Türkçe"> tr </a></p>
</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">Yorumlar</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/howto/auth.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2024 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="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[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
|