suexec.html.tr.utf8 31.2 KB
Newer Older
powelld's avatar
powelld committed
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
<?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>SuEXEC Desteği - 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="&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.4</a></div><div id="page-content"><div id="preamble"><h1>SuEXEC Desteği</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/suexec.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>

    <p><strong>SuEXEC</strong> özelliği, Apache HTTP Sunucusu kullanıcılarına
      <strong>CGI</strong> ve <strong>SSI</strong> programlarını sunucunun
      aidiyetinde çalıştığı kullanıcıdan farklı bir kullanıcının aidiyetinde
      çalıştırma olanağı verir. Normalde, <strong>CGI</strong> ve
      <strong>SSI</strong> programlarını çalıştıranla sunucuyu çalıştıran
      aynı kullanıcıdır.</p>

    <p>Gerektiği gibi kullanıldığında bu özellik, kullanıcılara
      <strong>CGI</strong> ve <strong>SSI</strong> programlarını çalıştırma
      ve geliştirmeye izin vermekle ortaya çıkan güvenlik risklerini azaltır.
      Bununla birlikte, <strong>suEXEC</strong> gerektiği gibi
      yapılandırılmadığı takdirde bazı sorunlara yol açabilir ve bilgisayar
      güvenliğinizde yeni delikler ortaya çıkmasına sebep olabilir.
      Güvenlikle ilgili mevcut sorunlarla başa çıkmada ve <em>setuid
      root</em> programları yönetmekte bilgi ve deneyim sahibi değilseniz
      <strong>suEXEC</strong> kullanmayı kesinlikle düşünmemenizi
      öneririz.</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="#before">Başlamadan önce</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#model">SuEXEC Güvenlik Modeli</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#install">suEXEC’in Yapılandırılması ve Kurulumu</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#enable">suEXEC’in etkin kılınması ve iptal edilmesi</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#usage">SuEXEC’in kullanımı</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#debug">SuEXEC ve hata ayıklama</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">Uyarılar ve Örnekler</a></li>
</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="#comments_section">Yorum</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="before" id="before">Başlamadan önce</a></h2>

    <p>Belgeye balıklama dalmadan önce, suexec'i kullanacağınız ortam ve
      kendiniz hakkında yapılmış çeşitli kabuller hakkında bilgi sahibi
      olmalısınız.</p>

    <p>Öncelikle, üzerinde <strong>setuid</strong> va <strong>setgid</strong>
      işlemlerinin yapılabildiği Unix türevi bir işletim sistemi
      kullandığınızı varsayıyoruz. Tüm komut örnekleri buna dayanarak
      verilmiştir. Bu desteğe sahip başka platformlar varsa onlardaki
      yapılandırma burada anlattığımız yapılandırmadan farklı olabilir.</p>

    <p>İkinci olarak, bilgisayarınızın güvenliği ve yönetimi ile ilgili bazı
      temel kavramları bildiğinizi kabul ediyoruz. Buna
      <strong>setuid/setgid</strong> işlemlerinin sisteminiz ve güvenlik
      seviyesi üzerindeki etkilerini bilmek dahildir.</p>

    <p>Üçüncü olarak, <strong>suEXEC</strong> kodunun
      <strong>değiştirilmemiş</strong> bir sürümünü kullandığınızı
      varsayıyoruz. Tüm suEXEC kodu, geliştiricilerin yanında sayısız beta
      kullanıcısı tarafından dikkatle incelenmiş ve denenmiştir. Kodların hem
      basit hem de sağlam bir şekilde güvenli olması için gerekli tüm
      önlemler alınmıştır. Bu kodun değiştirilmesi beklenmedik sorunlara ve
      yeni güvenlik risklerine yol açabilir. Özellikle güvenlikle ilgili
      programlarda deneyimli değilseniz suEXEC kodunda kesinlikle bir
      değişiklik yapmamalısınız. Değişiklik yaparsanız kodlarınızı gözden
      geçirmek ve tartışmak üzere Apache HTTP Sunucusu geliştirme ekibi ile
      paylaşmanızı öneririz.</p>

    <p>Dördüncü ve son olarak, Apache HTTP Sunucusu geliştirme ekibinin
      suEXEC’i öntanımlı httpd kurulumunun bir parçası yapmama kararından
      bahsetmek gerekir. Bunun sonucu olarak, suEXEC yapılandırması sistem
      yöneticisinin ayrıntılı bir incelemesini gerektirir. Gerekli incelemeden
      sonra yönetici tarafından suEXEC yapılandırma seçeneklerine karar
      verilip, normal yollardan sisteme kurulumu yapılır. Bu seçeneklerin
      belirlenmesi, suEXEC işlevselliğinin kullanımı sırasında sistem
      güvenliğini gerektiği gibi sağlamak için yönetici tarafından dikkatle
      saptanmayı gerektirir. Bu sürecin ayrıntılarının yöneticiye bırakılma
      sebebi, suEXEC kurulumunu, suEXEC’i dikkatle kullanacak yeterliliğe sahip
      olanlarla sınırlama  beklentimizdir.</p>

    <p>Hala bizimle misiniz? Evet mi? Pekala, o halde devam!</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="model" id="model">SuEXEC Güvenlik Modeli</a></h2>

    <p>SuEXEC yapılandırması ve kurulumuna girişmeden önce biraz da
      gerçekleşmesini istediğiniz güvenlik modelinin ayrıntıları üzerinde
      duralım. Böylece, suEXEC’in içinde olup bitenleri ve sisteminizin
      güvenliği için alınacak önlemleri daha iyi anlayabilirsiniz.</p>

    <p><strong>suEXEC</strong> işlevselliği, Apache HTTP Sunucusu tarafından
      gerektiği takdirde artalanda çalıştırılan bir setuid programa dayanır.
      Bu program, bir CGI veya SSI betiğine bir HTTP isteği yapıldığı zaman,
      bu betiği, yöneticinin ana sunucunun aidiyetinde çalıştığı kullanıcıdan
      farklı olarak seçtiği bir kullanıcının aidiyetinde çalıştırmak için
      çağrılır. Böyle bir istek geldiğinde, Apache httpd artalandaki setuid
      programına, HTTP isteği yapılan programın ismiyle beraber aidiyetinde
      çalışacağı kullanıcı ve grup kimliklerini de aktarır.</p>

    <p>Artalanda çalıştırılan setuid program başarıyı ve başarısızlığı
      aşağıdaki süreci izleyerek saptar. Bunlardan herhangi biri başarısız
      olursa program başarısızlık durumunu günlüğe kaydeder ve bir hata
      vererek çıkar. Aksi takdirde çalışmaya devam eder.</p>

    <ol>
      <li>
        <strong>Setuid programı çalıştıran kullanıcı sistemin geçerli
        kullanıcılarından biri mi?</strong>

        <p class="indent">Bu, setuid programı çalıştıran kullanıcının
        sistemin gerçek bir kullanıcısı olduğunudan emin olunmasını sağlar.
        </p>
     </li>

     <li>
        <strong>Setuid program yeterli sayıda argümanla çağrılmış mı?
        </strong>

        <p class="indent">Apache HTTP Sunucusunun artalanda çağırdığı
          setuid program ancak yeterli sayıda argüman sağlandığı takdirde
          çalışacaktır. Argümanların sayısını ve sırasını Apache HTTP sunucusu
          bilir. Eğer setuid program yeterli sayıda argümanla çağrılmamışsa
          ya kendisinde bir değişiklik yapılmıştır ya da kurulu Apache httpd
          çalıştırılabilirinin suEXEC ile ilgili kısmında yanlış giden bir
          şeyler vardır.</p>
      </li>

      <li>
        <strong>Bu geçerli kullanıcının bu setuid programı çalıştırma
          yetkisi var mı?</strong>

        <p class="indent">Sadece tek bir kullanıcı (Apache’nin aidiyetinde
          çalıştığı kullanıcı) bu programı çalıştırmaya yetkilidir.</p>
      </li>

      <li>
        <strong>Hedef CGI veya SSI programı hiyerarşik olarak güvenliği
          bozacak bir dosya yolu üzerinde mi?</strong>

        <p class="indent">Hedef CGI veya SSI programının dosya yolu '/' veya
          '..' ile başlıyor  mu? Buna izin verilmez. Hedef CGI veya SSI
          programı suEXEC’in belge kök dizininde yer almalıdır (aşağıda
          <code>--with-suexec-docroot=<em>DİZİN</em></code> seçeneğine
          bakınız).</p>
      </li>

      <li>
        <strong>Hedef kullanıcı ismi geçerli mi?</strong>

        <p class="indent">Hedef kullanıcı mevcut mu?</p>
      </li>

      <li>
        <strong>Hedef grup ismi geçerli mi?</strong>

        <p class="indent">Hedef grup mevcut mu?</p>
      </li>

      <li>
        <strong>Hedef kullanıcı <code>root</code> değil, değil mi?</strong>

        <p class="indent">Mevcut durumda, <code>root</code> kullanıcısının
          CGI/SSI programlarını çalıştırmasına izin verilmemektedir.</p>
      </li>

      <li>
        <strong>Hedef kullanıcı kimliği asgari kullanıcı numarasından
          <em>BÜYÜK</em> mü?</strong>

        <p class="indent">Asgari kullanıcı numarası yapılandırma sırasında
          belirtilir. Böylece CGI/SSI programlarını çalıştırmasına izin
          verilecek olası en düşük kullanıcı numarasını belirlemeniz mümkün
          kılınmıştır. Bu bazı “sistem” hesaplarını devreden çıkarmak için
          yararlıdır.</p>
      </li>

      <li>
        <strong>Hedef grup <code>root</code>  değil, değil mi?</strong>

        <p class="indent"><code>root</code> grubunun CGI/SSI
          programlarını çalıştırmasına izin verilmemektedir.</p>
      </li>

      <li>
        <strong>Hedef grup numarası asgari grup numarasından
          <em>BÜYÜK</em> mü?</strong>

        <p class="indent">Asgari grup numarası yapılandırma sırasında
          belirtilir. Böylece CGI/SSI programlarını çalıştırmasına izin
          verilecek olası en düşük grup numarasını belirlemeniz mümkün
          kılınmıştır. Bu bazı “sistem” hesaplarını devreden çıkarmak için
          yararlıdır.</p>
      </li>

      <li>
        <strong>Apache’nin artalanda çağırdığı setuid program hedef
          kullanıcı ve grubun aidiyetine geçebildi mi?</strong>

        <p class="indent">Bu noktadan itibaren program setuid ve setgid
          çağrıları üzerinden hedef kullanıcı ve grubun aidiyetine geçer.
          Erişim grubu listesi de ayrıca kullanıcının üyesi olduğu tüm
          gruplara genişletilir.</p>
      </li>

      <li>
        <strong>Hedef CGI/SSI programının bulunduğu dizine geçebildik mi?
        </strong>

        <p class="indent">Dizin mevcut değilse dosyaları da içeremez. Hedef
          dizine geçemiyorsak bu, dizin mevcut olmadığından olabilir.</p>
      </li>

      <li>
        <strong>Hedef dizin Apache için izin verilen yerlerden biri mi?
        </strong>

        <p class="indent">İstek sunucunun normal bir bölümü için yapılmış
          olsa da istenen dizin acaba suEXEC’in belge kök dizini altında mı?
          Yani, istenen dizin, suEXEC’in aidiyetinde çalıştığı kullanıcının
          ev dizini altında bulunan, <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> ile belirtilen dizinin altında mı? (<a href="#install">suEXEC’in yapılandırma seçeneklerine</a>
          bakınız).</p>
      </li>

      <li>
        <strong>Hedef dizin başkaları tarafından yazılabilen bir dizin değil,
          değil mi?</strong>

        <p class="indent">Başkaları da yazabilsin diye bir dizin açmıyoruz;
          dizin içeriğini sadece sahibi değiştirebilmelidir.</p>
      </li>

      <li>
        <strong>Hedef CGI/SSI programı mevcut mu?</strong>

        <p class="indent">Mevcut değilse çalıştırılamaz.</p>
      </li>

      <li>
        <strong>Hedef CGI/SSI program dosyasına başkaları tarafından
          yazılamıyor, değil mi?</strong>

        <p class="indent">Hedef CGI/SSI programının dosyasına sahibinden
          başka kimsenin bir şeyler yazmasını istemeyiz.</p>
      </li>

      <li>
        <strong>Hedef CGI/SSI program setuid veya setgid <em>değil</em>,
          değil mi?</strong>

        <p class="indent">UID/GID‘i tekrar değiştirecek programlar
          çalıştırmayı istemeyiz.</p>
      </li>

      <li>
        <strong>Hedef kullanıcı/grup, programın kullanıcı/grubu ile aynı mı?
        </strong>

        <p class="indent">Hedef kullanıcı dosyanın sahibi mi?</p>
      </li>

      <li>
        <strong>İşlemlerin güvenle yapılabilmesi için süreç ortamını
          başarıyla temizleyebildik mi?</strong>

        <p class="indent">suEXEC, sürecin çalışacağı ortama güvenli bir
          program çalıştırma yolu sağlamaktan başka, yapılandırma sırasında
          oluşturulan güvenli ortam değişkenleri listesinde isimleri bulunan
          ortam değişkenlerinden başkasını aktarmayacaktır.</p>
      </li>

      <li>
        <strong>Hedef CGI/SSI programı haline gelip çalışabildik mi?</strong>

        <p class="indent">Burası suEXEC’in bitip CGI/SSI programının
          başladığı yerdir.</p>
      </li>
    </ol>

    <p>Bu süreç suEXEC güvenlik modelinin standart işlemlerini oluşturur.
      Biraz zorlayıcı ve CGI/SSI tasarımına yeni kurallar ve sınırlamalar
      getiriyor olsa da düşünülen güvenliği adım adım sağlayacak şekilde
      tasarlanmıştır.</p>

    <p>Düzgün bir suEXEC yapılandırmasının hangi güvenlik risklerinden
      kurtulmayı sağladığı ve bu güvenlik modelinin sunucu yapılandırmasıyla
      ilgili sorumluluklarınızı nasıl sınırlayabildiği hakkında daha
      ayrıntılı bilgi edinmek için bu belgenin <a href="#jabberwock">"Uyarılar ve Örnekler"</a> bölümüne bakı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="install" id="install">suEXEC’in Yapılandırılması ve Kurulumu</a></h2>

    <p>Eğlence başlıyor.</p>

    <p><strong>suEXEC yapılandırma seçenekleri</strong><br />
    </p>

    <dl>
      <dt><code>--enable-suexec</code></dt>

      <dd>Bu seçenek, hiçbir zaman öntanımlı olarak kurulmayan ve
        etkinleştirilmeyen suEXEC özelliğini etkin kılar. suEXEC özelliğini
        kullanma isteğinizi Apache’nin kabul edebilmesi için
        <code>--enable-suexec</code> seçeneğinin yanında en azından bir tane
        de <code>--with-suexec-xxxxx</code> seçeneği belirtilmiş
        olmalıdır.</dd>

      <dt><code>--with-suexec-bin=<em>YOL</em></code></dt>

      <dd>Güvenlik sebebiyle <code>suexec</code> çalıştırılabilirinin
        bulunduğu yer sunucu koduna yazılır. Bu seçenekle öntanımlı yol
        değiştirilmiş olur. Örnek:<br />
        <code>--with-suexec-bin=/usr/sbin/suexec</code></dd>

      <dt><code>--with-suexec-caller=<em>KULLANICI</em></code></dt>

      <dd>Normalde httpd’nin aidiyetinde çalıştığı <a href="mod/mpm_common.html#user">kullanıcı</a>dır. Bu, suEXEC
        çalıştırıcısını çalıştırmasına izin verilen tek kullanıcıdır.</dd>

      <dt><code>--with-suexec-userdir=<em>DİZİN</em></code></dt>

      <dd><p>Kullanıcıların ev dizinleri altında suEXEC’in erişmesine izin
        verilen alt dizinin yerini tanımlar. Bu dizin altında suEXEC
        kullanıcısı tarafından çalıştırılacak tüm programlar "güvenilir"
        olmalıdır. Eğer “basit” bir <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> yönergesi kullanıyorsanız ( içinde “*”
        bulunmayan), bunun aynı dizin olması gerekir. Eğer burada belirtilen
        dizin, <code>passwd</code> dosyasında kullanıcı için belirtilmiş
        dizinin altında <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
        yönergesinde belirtilen dizin olmadığı takdirde suEXEC işini
        gerektiği gibi yapmayacaktır. Öntanımlı değer
        <code>public_html</code>’dir.</p>

      <p>Eğer, sanal konaklarınızın herbiri farklı <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code> yönergeleri içeriyorsa
        burada belirtilecek dizinin üst dizininin hepsinde aynı olması
        gerekir. <strong>Aksi takdirde, "~<em><code>kullanıcı</code></em>"
        istekleri düzgün çalışmayacaktır.</strong></p></dd>

      <dt><code>--with-suexec-docroot=<em>DİZİN</em></code></dt>

      <dd>httpd için belge kök dizinini belirler. Bu, (<code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>’lardan başka) suEXEC için
        kullanılacak tek hiyerarşi olacaktır. Öntanımlı dizin sonuna
        "<code>/htdocs</code>" eklenmiş <code>--datadir</code> dizinidir.
        Yani, seçeneği "<code>--datadir=/home/apache</code>" olarak
        belirtmişseniz suEXEC çalıştırıcısı için belge kök dizini
        "<code>/home/apache/htdocs</code>" olur.</dd>

      <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>

      <dd>suEXEC kullanıcısının kullanıcı kimliği olarak izin verilen en
        düşük değeri belirler. Çoğu sistemde bu ya 500’dür ya da 100; 100
        öntanımlıdır.</dd>

      <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>

      <dd>suEXEC kullanıcısının grup kimliği olarak izin verilen en düşük
        değeri belirler. Çoğu sistemde bu 100 olup, seçeneğin de öntanımlı
        değeridir.</dd>

      <dt><code>--with-suexec-logfile=<em>DOSYA</em></code></dt>

      <dd>suEXEC hareketlerinin ve hatalarının kaydedileceği günlük
        dosyasının adını belirler (denetim ve hata ayıklama için
        kullanışlıdır). Öntanımlı günlük dosyası ismi
        "<code>suexec_log</code>" olup yeri (<code>--logfiledir</code>
        seçeneği ile belirtilen) günlük dosyaları dizinidir.</dd>

      <dt><code>--with-suexec-safepath=<em>YOL</em></code></dt>

      <dd>CGI çalıştırılabilirlerine aktarılacak güvenilir <code>PATH</code>
        ortam değişkeninin değerini tanımlar.
        "<code>/usr/local/bin:/usr/bin:/bin</code>" öntanımlıdır.</dd>
    </dl>

    <h3>SuEXEC çalıştırıcısının derlenmesi ve kurulumu</h3>
      

      <p>SuEXEC özelliğini <code>--enable-suexec</code> seçeneği ile
        etkinleştirdiyseniz <code>make</code> komutunu verdiğinizde httpd
        ile birlikte <code>suexec</code> çalıştırılabilir dosyası da
        derlenecektir.</p>

      <p>Tüm bileşenler derlendikten sonra <code>make install</code> komutunu
        vererek kurulumu tamamlayabilirsiniz. <code>suexec</code>
        çalıştırılabilir dosyası <code>--sbindir</code> seçeneği ile
        tanımlanan dizine kurulacaktır; öntanımlı yeri
        <code>/usr/local/apache2/bin/</code> dizinidir.</p>

      <p>Kurulum adımında <strong><em>root yetkisine</em></strong> sahip
        olmanız gerektiğini unutmayın. Çalıştırıcıya kullanıcı kimliğinin
        atanabilmesi ve dosyanın sahibi olan kullanıcı kimliği ile
        çalıştırılabilmesini mümkün kılan bitinin etkin kılınabilmesi için
        kurulumun <code><em>root</em></code> tarafından yapılması
        önemlidir.</p>
    

    <h3>Paranoyak yetkilendirme</h3>
      

      <p>SuEXEC çalıştırıcısı kendini çalıştıran kullanıcının
        <code class="program"><a href="./programs/configure.html">configure</a></code> betiğine
        <code>--with-suexec-caller</code> seçeneği ile belirtilen kullanıcı
        olup olmadığına bakacaksa da, bu sınamanın da bir sistem veya
        kütüphane çağrısı ile istismar edilmiş olma ihtimali gözardı
        edilmemelidir. Bunun meydana gelmesini önlemek için ve genelde
        yapıldığı gibi dosyanın izinlerini suEXEC çalıştırıcısı sadece
        httpd'nin aidiyetinde çalıştığı grup tarafından çalıştırılacak
        şekilde ayarlayınız.</p>

      <p>Örneğin, sunucunuz şöyle yapılandırılmışsa:</p>

      <pre class="prettyprint lang-config">User www
Group webgroup</pre>


      <p>Ve <code class="program"><a href="./programs/suexec.html">suexec</a></code> çalıştırılabilir de
        <code>/usr/local/apache2/bin/</code> dizinine kurulmuşsa şu komutları
        vermelisiniz:</p>

      <div class="example"><p><code>
          chgrp apache-grup /usr/local/apache2/bin/suexec<br />
          chmod 4750 /usr/local/apache2/bin/suexec<br />
      </code></p></div>

      <p>Böylece suEXEC çalıştırıcısını httpd’yi çalıştıran grubun
        üyelerinden başkasının çalıştıramayacağından emin olabilirsiniz.</p>
    
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="enable" id="enable">suEXEC’in etkin kılınması ve iptal edilmesi</a></h2>
    

    <p>httpd başlatıldığı sırada <code class="program"><a href="./programs/suexec.html">suexec</a></code> çalıştırıcısı için
      <code>--sbindir</code> seçeneği ile tanımlanan dizine bakar (seçeneğin
      öntanımlı değeri <code>/usr/local/apache/sbin/suexec</code>’tir). httpd
      düzgün yapılandırılmış bir suEXEC çalıştırıcısı bulduğu takdirde hata
      günlüğüne şöyle bir ileti yazacaktır:</p>

<div class="example"><p><code>
    [notice] suEXEC mechanism enabled (wrapper: <var>/dosya/yolu/suexec</var>)
</code></p></div>

    <p>Sunucu başlatıldığında bu ileti yazılmazsa sunucu ya çalıştırıcı
      programı umduğu yerde bulamamıştır ya da dosyanın <em>setuid</em> biti
      <em>root</em> tarafından etkin kılınmamıştır.</p>

     <p>SuEXEC mekanizmasını etkin kılmak istediğiniz sunucu çalışmaktaysa
      sunucuyu önce öldürmeli sonra yeniden başlatmalısınız.  Basit bir
      <code>HUP</code> veya <code>USR1</code> sinyali ile yeniden başlamasını
      sağlamak yeterli olmayacaktır.</p>

     <p>SuEXEC mekanizmasını iptal etmek için ise <code class="program"><a href="./programs/suexec.html">suexec</a></code>
      dosyasını sildikten sonra httpd'yi öldürüp yeniden başlamalısı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="usage" id="usage">SuEXEC’in kullanımı</a></h2>

    <p>CGI programlarına yapılan isteklerin suEXEC çalıştırıcısı tarafından
      yerine getirilebilmesi için sanal konağın bir <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> yönergesi içermesi veya
      isteğin <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> tarafından işleme konulması
      gerekir.</p>

    <p><strong>Sanal Konaklar:</strong><br />SuEXEC çalıştırıcısını farklı
      bir kullanıcı ile etkin kılmanın tek yolu <code class="directive"><a href="./mod/core.html#virtualhost">VirtualHost</a></code> bölümleri içinde <code class="directive"><a href="./mod/mod_suexec.html#suexecusergroup">SuexecUserGroup</a></code> yönergesini
      kullanmaktır. Bu yönergede ana sunucuyu çalıştıran kullanıcıdan farklı
      bir kullanıcı  belirterek ilgili sanal konak üzerinden CGI kaynakları
      için yapılan tüm isteklerin belirtilen <em>kullanıcı</em> ve
      <em>grup</em> tarafından çalıştırılması sağlanır. Bu yönergeyi
      içermeyen sanal konaklar için ana sunucunun kullanıcısı
      öntanımlıdır.</p>

    <p><strong>Kullanıcı dizinleri:</strong><br />
    <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> tarafından işleme sokulan tüm istekler için
    suEXEC çalıştırıcısı istek yapılan kullanıcı dizininin sahibinin
    aidiyetinde çalıştırılacaktır. Bu özelliğin çalışması için tek
    gereklilik, kullanıcının SuEXEC çalıştırıcısı için etkin kılınmış olması
    ve çalıştırıcının yukarıdaki <a href="#model">güvenlik sınamalarından</a>
    geçebilmesidir. Ayrıca,  <code>--with-suexec-userdir</code> <a href="#install">derleme</a> seçeneğinin açıklamasına da bakı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="debug" id="debug">SuEXEC ve hata ayıklama</a></h2>

    <p>SuEXEC çalıştırıcısı yukarıda değinildiği gibi günlük bilgilerini
      <code>--with-suexec-logfile</code> seçeneği ile belirtilen dosyaya
      yazacaktır. Çalıştırıcıyı doğru yapılandırarak kurduğunuzdan emin olmak
      istiyorsanız, yolunda gitmeyen şeyler var mı diye bu günlük dosyasına
      bakmayı ihmal etmeyin.</p>

</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="jabberwock" id="jabberwock">Uyarılar ve Örnekler</a></h2>
    

    <p><strong>UYARI!</strong> Bu bölüm henüz bitmedi. Bu bölümün son hali
      için <a href="http://httpd.apache.org/docs/2.4/suexec.html">çevrimiçi
      belgelere</a> bakınız.</p>

    <p>SuEXEC çalıştırıcısından dolayı sunucu ayarlarına bazı sınırlamalar
      getiren bir kaç önemli nokta mevcuttur. SuEXEC ile ilgili hata
      bildiriminde bulunmadan önce bunlara bir göz atmalısınız.</p>

    <ul>
      <li><strong>suEXEC ile ilgili önemli noktalar</strong></li>

      <li>Hiyerarşik sınırlamalar

        <p class="indent">Güvenlik ve verimlilik adına, tüm suEXEC
          isteklerinin sanal konaklar için üst düzey belge kökünün altındaki
          dosyalarla, kullanıcı dizinleri için ise üst düzey bireysel belge
          köklerinin altındaki dosyalarla sınırlı kalması gerekir. Örneğin,
          dört sanal konağınız varsa ve suEXEC çalıştırıcısının
          getirilerinden faydalanmak istiyorsanız, sanal konaklarınızın belge
          kök dizinlerini ana sunucunun belge kök dizininin altında kalacak
          şekilde yapılandırmanız gerekir (örnek yolda).</p>
      </li>

      <li>SuEXEC'in <code>PATH</code> ortam değişkeni

        <p class="indent">Bunu değiştirmek tehlikeli olabilir. Bu değişkende
          tanımladığınız her yolun <strong>güvenli</strong> bir dizini işaret
          ettiğinden emin olmalısınız. Başkalarının oralarda bir truva atı
          çalıştırmasını istemiyorsanız buna çok dikkat ediniz.</p>
      </li>

      <li>SuEXEC kodunda değişiklik

        <p class="indent">Gerçekte ne yaptığınızı bilmiyorsanız bu,
          <strong>büyük bir sorun</strong> olabilir. Böyle şeyler yapmaktan
          mümkün olduğunca uzak durmalısınız.</p>
      </li>
    </ul>

</div></div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/suexec.html" title="Türkçe">&nbsp;tr&nbsp;</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">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>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/suexec.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 2017 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>