<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.tr.xsl"?>
<!-- English Revision: 1334033 -->
<!-- =====================================================
 Translated by: Nilgün Belma Bugüner <nilgun belgeler.org>
   Reviewed by: Orhan Berent <berent belgeler.org>
========================================================== -->

<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->

<manualpage metafile="suexec.xml.meta">

  <title>SuEXEC Desteği</title>

  <summary>
    <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>
  </summary>

<section id="before"><title>Başlamadan önce</title>

    <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>
</section>

<section id="model"><title>SuEXEC Güvenlik Modeli</title>

    <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, <directive module="mod_userdir"
          >UserDir</directive> 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>
</section>

<section id="install"><title>suEXEC’in Yapılandırılması ve Kurulumu</title>

    <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 <directive module="mod_userdir"
        >UserDir</directive> 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 <directive module="mod_userdir">UserDir</directive>
        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ı <directive
        module="mod_userdir">UserDir</directive> 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, (<directive
        module="mod_userdir" >UserDir</directive>’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>

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

      <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>
    </section>

    <section>
      <title>Paranoyak yetkilendirme</title>

      <p>SuEXEC çalıştırıcısı kendini çalıştıran kullanıcının
        <program>configure</program> 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>

      <highlight language="config">
User www
Group webgroup
      </highlight>

      <p>Ve <program>suexec</program> çalıştırılabilir de
        <code>/usr/local/apache2/bin/</code> dizinine kurulmuşsa şu komutları
        vermelisiniz:</p>

      <example>
          chgrp apache-grup /usr/local/apache2/bin/suexec<br />
          chmod 4750 /usr/local/apache2/bin/suexec<br />
      </example>

      <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>
    </section>
</section>

<section id="enable">
    <title>suEXEC’in etkin kılınması ve iptal edilmesi</title>

    <p>httpd başlatıldığı sırada <program>suexec</program> ç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>

<example>
    [notice] suEXEC mechanism enabled (wrapper: <var>/dosya/yolu/suexec</var>)
</example>

    <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 <program>suexec</program>
      dosyasını sildikten sonra httpd'yi öldürüp yeniden başlamalısınız.</p>
</section>

<section id="usage"><title>SuEXEC’in kullanımı</title>

    <p>CGI programlarına yapılan isteklerin suEXEC çalıştırıcısı tarafından
      yerine getirilebilmesi için sanal konağın bir <directive
      module="mod_suexec">SuexecUserGroup</directive> yönergesi içermesi veya
      isteğin <module>mod_userdir</module> 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 <directive
      module="core">VirtualHost</directive> bölümleri içinde <directive
      module="mod_suexec">SuexecUserGroup</directive> 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 />
    <module>mod_userdir</module> 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>
</section>

<section id="debug"><title>SuEXEC ve hata ayıklama</title>

    <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>

</section>

<section id="jabberwock">
    <title>Uyarılar ve Örnekler</title>

    <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/&httpd.docs;/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>

</section>

</manualpage>
