1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head><!--
4        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5              This file is generated from xml source: DO NOT EDIT
6        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7      -->
8<title>SuEXEC Desteği - Apache HTTP Sunucusu</title>
9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
12<script src="/style/scripts/prettify.js" type="text/javascript">
13</script>
14
15<link href="/images/favicon.ico" rel="shortcut icon" /></head>
16<body id="manual-page"><div id="page-header">
17<p class="menu"><a href="/mod/">Modüller</a> | <a href="/mod/directives.html">Yönergeler</a> | <a href="http://wiki.apache.org/httpd/FAQ">SSS</a> | <a href="/glossary.html">Terimler</a> | <a href="/sitemap.html">Site Haritası</a></p>
18<p class="apache">Apache HTTP Sunucusu Sürüm 2.2</p>
19<img alt="" src="/images/feather.gif" /></div>
20<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
21<div id="path">
22<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="./">Sürüm 2.2</a></div><div id="page-content"><div id="preamble"><h1>SuEXEC Desteği</h1>
23<div class="toplang">
24<p><span>Mevcut Diller: </span><a href="/en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25<a href="/fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
26<a href="/ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
27<a href="/ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
28<a href="/tr/suexec.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
29</div>
30
31    <p><strong>SuEXEC</strong> özelliği, Apache kullanıcılarına
32      <strong>CGI</strong> ve <strong>SSI</strong> programlarını sunucunun
33      aidiyetinde çalıştığı kullanıcıdan farklı bir kullanıcının aidiyetinde
34      çalıştırma olanağı verir. Normalde, <strong>CGI</strong> ve
35      <strong>SSI</strong> programlarını çalıştıranla sunucuyu çalıştıran
36      aynı kullanıcıdır.</p>
37
38    <p>Gerektiği gibi kullanıldığında bu özellik, kullanıcılara
39      <strong>CGI</strong> ve <strong>SSI</strong> programlarını çalıştırma
40      ve geliştirmeye izin vermekle ortaya çıkan güvenlik risklerini azaltır.
41      Bununla birlikte, <strong>suEXEC</strong> gerektiği gibi
42      yapılandırılmadığı takdirde bazı sorunlara yol açabilir ve bilgisayar
43      güvenliğinizde yeni delikler ortaya çıkmasına sebep olabilir.
44      Güvenlikle ilgili mevcut sorunlarla başa çıkmada ve <em>setuid
45      root</em> programları yönetmekte bilgi ve deneyim sahibi değilseniz
46      <strong>suEXEC</strong> kullanmayı kesinlikle düşünmemenizi
47      öneririz.</p>
48  </div>
49<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#before">Başlamadan önce</a></li>
50<li><img alt="" src="/images/down.gif" /> <a href="#model">SuEXEC Güvenlik Modeli</a></li>
51<li><img alt="" src="/images/down.gif" /> <a href="#install">suEXEC’in Yapılandırılması ve Kurulumu</a></li>
52<li><img alt="" src="/images/down.gif" /> <a href="#enable">suEXEC’in etkin kılınması ve iptal edilmesi</a></li>
53<li><img alt="" src="/images/down.gif" /> <a href="#usage">SuEXEC’in kullanımı</a></li>
54<li><img alt="" src="/images/down.gif" /> <a href="#debug">SuEXEC ve hata ayıklama</a></li>
55<li><img alt="" src="/images/down.gif" /> <a href="#jabberwock">Uyarılar ve Örnekler</a></li>
56</ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
57<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
58<div class="section">
59<h2><a name="before" id="before">Başlamadan önce</a></h2>
60
61    <p>Belgeye balıklama dalmadan önce, Apache Grubu ve bu belge ile ilgili
62      kabuller hakkında bilgi sahibi olmalısınız.</p>
63
64    <p>Öncelikle, üzerinde <strong>setuid</strong> va <strong>setgid</strong>
65      işlemlerinin yapılabildiği Unix türevi bir işletim sistemi
66      kullandığınızı varsayıyoruz. Tüm komut örnekleri buna dayanarak
67      verilmiştir. Bu desteğe sahip başka platformlar varsa onlardaki
68      yapılandırma burada anlattığımız yapılandırmadan farklı olabilir.</p>
69
70    <p>İkinci olarak, bilgisayarınızın güvenliği ve yönetimi ile ilgili bazı
71      temel kavramları bildiğinizi kabul ediyoruz. Buna
72      <strong>setuid/setgid</strong> işlemlerinin sisteminiz ve güvenlik
73      seviyesi üzerindeki etkilerini bilmek dahildir.</p>
74
75    <p>Üçüncü olarak, <strong>suEXEC</strong> kodunun
76      <strong>değiştirilmemiş</strong> bir sürümünü kullandığınızı
77      varsayıyoruz. Tüm suEXEC kodu, geliştiricilerin yanında sayısız beta
78      kullanıcısı tarafından dikkatle incelenmiş ve denenmiştir. Kodların hem
79      basit hem de sağlam bir şekilde güvenli olması için gerekli tüm
80      önlemler alınmıştır. Bu kodun değiştirilmesi beklenmedik sorunlara ve
81      yeni güvenlik risklerine yol açabilir. Özellikle güvenlikle ilgili
82      programlarda deneyimli değilseniz suEXEC kodunda kesinlikle bir
83      değişiklik yapmamalısınız. Değişiklik yaparsanız kodlarınızı gözden
84      geçirmek ve tartışmak üzere Apache Grubu ile paylaşmanızı öneririz.</p>
85
86    <p>Dördüncü ve son olarak, Apache Grubunun suEXEC’i öntanımlı Apache
87      kurulumunun bir parçası yapmama kararından bahsetmek gerekir. Bunun
88      sonucu olarak, suEXEC yapılandırması sistem yöneticisinin ayrıntılı bir
89      incelemesini gerektirir. Gerekli incelemeden sonra yönetici tarafından
90      suEXEC yapılandırma seçeneklerine karar verilip, normal yollardan
91      sisteme kurulumu yapılır. Bu seçeneklerin belirlenmesi, suEXEC
92      işlevselliğinin kullanımı sırasında sistem güvenliğini gerektiği gibi
93      sağlamak için yönetici tarafından dikkatle saptanmayı gerektirir. Bu
94      sürecin ayrıntılarının yöneticiye bırakılma sebebi, Apache Grubunun
95      suEXEC kurulumunu, suEXEC’i dikkatle kullanacak yeterliliğe sahip
96      olanlarla sınırlama beklentisidir.</p>
97
98    <p>Hala bizimle misiniz? Evet mi? Pekala, o halde devam!</p>
99</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
100<div class="section">
101<h2><a name="model" id="model">SuEXEC Güvenlik Modeli</a></h2>
102
103    <p>SuEXEC yapılandırması ve kurulumuna girişmeden önce biraz da
104      gerçekleşmesini istediğiniz güvenlik modelinin ayrıntıları üzerinde
105      duralım. Böylece, suEXEC’in içinde olup bitenleri ve sisteminizin
106      güvenliği için alınacak önlemleri daha iyi anlayabilirsiniz.</p>
107
108    <p><strong>suEXEC</strong> işlevselliği, Apache HTTP Sunucusu tarafından
109      gerektiği takdirde artalanda çalıştırılan bir setuid programa dayanır.
110      Bu program, bir CGI veya SSI betiğine bir HTTP isteği yapıldığı zaman,
111      bu betiği, yöneticinin ana sunucunun aidiyetinde çalıştığı kullanıcıdan
112      farklı olarak seçtiği bir kullanıcının aidiyetinde çalıştırmak için
113      çağrılır. Böyle bir istek geldiğinde, Apache artalandaki setuid
114      programına, HTTP isteği yapılan programın ismiyle beraber aidiyetinde
115      çalışacağı kullanıcı ve grup kimliklerini de aktarır.</p>
116
117    <p>Artalanda çalıştırılan setuid program başarıyı ve başarısızlığı
118      aşağıdaki süreci izleyerek saptar. Bunlardan herhangi biri başarısız
119      olursa program başarısızlık durumunu günlüğe kaydeder ve bir hata
120      vererek çıkar. Aksi takdirde çalışmaya devam eder.</p>
121
122    <ol>
123      <li>
124        <strong>Setuid programı çalıştıran kullanıcı sistemin geçerli
125        kullanıcılarından biri mi?</strong>
126
127        <p class="indent">Bu, setuid programı çalıştıran kullanıcının
128        sistemin gerçek bir kullanıcısı olduğunudan emin olunmasını sağlar.
129        </p>
130     </li>
131
132     <li>
133        <strong>Setuid program yeterli sayıda argümanla çağrılmış mı?
134        </strong>
135
136        <p class="indent">Apache’nin artalanda çağırdığı setuid program
137          ancak yeterli sayıda argüman sağlandığı takdirde çalışacaktır.
138          Argümanların sayısını ve sırasını Apache HTTP sunucusu bilir. Eğer
139          setuid program yeterli sayıda argümanla çağrılmamışsa ya
140          kendisinde bir değişiklik yapılmıştır ya da kurulu Apache
141          çalıştırılabilirinin suEXEC ile ilgili kısmında yanlış giden bir
142          şeyler vardır.</p>
143      </li>
144
145      <li>
146        <strong>Bu geçerli kullanıcının bu setuid programı çalıştırma
147          yetkisi var mı?</strong>
148
149        <p class="indent">Sadece tek bir kullanıcı (Apache’nin aidiyetinde
150          çalıştığı kullanıcı) bu programı çalıştırmaya yetkilidir.</p>
151      </li>
152
153      <li>
154        <strong>Hedef CGI veya SSI programı hiyerarşik olarak güvenliği
155          bozacak bir dosya yolu üzerinde mi?</strong>
156
157        <p class="indent">Hedef CGI veya SSI programının dosya yolu '/' veya
158          '..' ile başlıyor  mu? Buna izin verilmez. Hedef CGI veya SSI
159          programı suEXEC’in belge kök dizininde yer almalıdır (aşağıda
160          <code>--with-suexec-docroot=<em>DİZİN</em></code> seçeneğine
161          bakınız).</p>
162      </li>
163
164      <li>
165        <strong>Hedef kullanıcı ismi geçerli mi?</strong>
166
167        <p class="indent">Hedef kullanıcı mevcut mu?</p>
168      </li>
169
170      <li>
171        <strong>Hedef grup ismi geçerli mi?</strong>
172
173        <p class="indent">Hedef grup mevcut mu?</p>
174      </li>
175
176      <li>
177        <strong>Hedef kullanıcı <code>root</code> değil, değil mi?</strong>
178
179        <p class="indent">Mevcut durumda, <code>root</code> kullanıcısının
180          CGI/SSI programlarını çalıştırmasına izin verilmemektedir.</p>
181      </li>
182
183      <li>
184        <strong>Hedef kullanıcı kimliği asgari kullanıcı numarasından
185          <em>BÜYÜK</em> mü?</strong>
186
187        <p class="indent">Asgari kullanıcı numarası yapılandırma sırasında
188          belirtilir. Böylece CGI/SSI programlarını çalıştırmasına izin
189          verilecek olası en düşük kullanıcı numarasını belirlemeniz mümkün
190          kılınmıştır. Bu bazı “sistem” hesaplarını devreden çıkarmak için
191          yararlıdır.</p>
192      </li>
193
194      <li>
195        <strong>Hedef grup <code>root</code>  değil, değil mi?</strong>
196
197        <p class="indent"><code>root</code> grubunun CGI/SSI
198          programlarını çalıştırmasına izin verilmez.</p>
199      </li>
200
201      <li>
202        <strong>Hedef grup numarası asgari grup numarasından
203          <em>BÜYÜK</em> mü?</strong>
204
205        <p class="indent">Asgari grup numarası yapılandırma sırasında
206          belirtilir. Böylece CGI/SSI programlarını çalıştırmasına izin
207          verilecek olası en düşük grup numarasını belirlemeniz mümkün
208          kılınmıştır. Bu bazı “sistem” hesaplarını devreden çıkarmak için
209          yararlıdır.</p>
210      </li>
211
212      <li>
213        <strong>Apache’nin artalanda çağırdığı setuid program hedef
214          kullanıcı ve grubun aidiyetine geçebildi mi?</strong>
215
216        <p class="indent">Bu noktadan itibaren program setuid ve setgid
217          çağrıları üzerinden hedef kullanıcı ve grubun aidiyetine geçer.
218          Erişim grubu listesi de ayrıca kullanıcının üyesi olduğu tüm
219          gruplara genişletilir.</p>
220      </li>
221
222      <li>
223        <strong>Hedef CGI/SSI programının bulunduğu dizine geçebildik mi?
224        </strong>
225
226        <p class="indent">Dizin mevcut değilse dosyaları da içeremez. Hedef
227          dizine geçemiyorsak bu, dizin mevcut olmadığından olabilir.</p>
228      </li>
229
230      <li>
231        <strong>Hedef dizin Apache için izin verilen yerlerden biri mi?
232        </strong>
233
234        <p class="indent">İstek sunucunun normal bir bölümü için yapılmış
235          olsa da istenen dizin acaba suEXEC’in belge kök dizini altında mı?
236          Yani, istenen dizin, suEXEC’in aidiyetinde çalıştığı kullanıcının
237          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>
238          bakınız).</p>
239      </li>
240
241      <li>
242        <strong>Hedef dizin başkaları tarafından yazılabilen bir dizin değil,
243          değil mi?</strong>
244
245        <p class="indent">Başkaları da yazabilsin diye bir dizin açmıyoruz;
246          dizin içeriğini sadece sahibi değiştirebilmelidir.</p>
247      </li>
248
249      <li>
250        <strong>Hedef CGI/SSI programı mevcut mu?</strong>
251
252        <p class="indent">Mevcut değilse çalıştırılamaz.</p>
253      </li>
254
255      <li>
256        <strong>Hedef CGI/SSI program dosyasına başkaları tarafından
257          yazılamıyor, değil mi?</strong>
258
259        <p class="indent">Hedef CGI/SSI programının dosyasına sahibinden
260          başka kimsenin bir şeyler yazmasını istemeyiz.</p>
261      </li>
262
263      <li>
264        <strong>Hedef CGI/SSI program setuid veya setgid <em>değil</em>,
265          değil mi?</strong>
266
267        <p class="indent">UID/GID‘i tekrar değiştirecek programlar
268          çalıştırmayı istemeyiz.</p>
269      </li>
270
271      <li>
272        <strong>Hedef kullanıcı/grup, programın kullanıcı/grubu ile aynı mı?
273        </strong>
274
275        <p class="indent">Hedef kullanıcı dosyanın sahibi mi?</p>
276      </li>
277
278      <li>
279        <strong>İşlemlerin güvenle yapılabilmesi için süreç ortamını
280          başarıyla temizleyebildik mi?</strong>
281
282        <p class="indent">suEXEC, sürecin çalışacağı ortama güvenli bir
283          program çalıştırma yolu sağlamaktan başka, yapılandırma sırasında
284          oluşturulan güvenli ortam değişkenleri listesinde isimleri bulunan
285          ortam değişkenlerinden başkasını aktarmayacaktır.</p>
286      </li>
287
288      <li>
289        <strong>Hedef CGI/SSI programı haline gelip çalışabildik mi?</strong>
290
291        <p class="indent">Burası suEXEC’in bitip CGI/SSI programının
292          başladığı yerdir.</p>
293      </li>
294    </ol>
295
296    <p>Bu süreç suEXEC güvenlik modelinin standart işlemlerini oluşturur.
297      Biraz zorlayıcı ve CGI/SSI tasarımına yeni kurallar ve sınırlamalar
298      getiriyor olsa da düşünülen güvenliği adım adım sağlayacak şekilde
299      tasarlanmıştır.</p>
300
301    <p>Düzgün bir suEXEC yapılandırmasının hangi güvenlik risklerinden
302      kurtulmayı sağladığı ve bu güvenlik modelinin sunucu yapılandırmasıyla
303      ilgili sorumluluklarınızı nasıl sınırlayabildiği hakkında daha
304      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>
305</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
306<div class="section">
307<h2><a name="install" id="install">suEXEC’in Yapılandırılması ve Kurulumu</a></h2>
308
309    <p>Eğlence başlıyor.</p>
310
311    <p><strong>suEXEC yapılandırma seçenekleri</strong><br />
312    </p>
313
314    <dl>
315      <dt><code>--enable-suexec</code></dt>
316
317      <dd>Bu seçenek, hiçbir zaman öntanımlı olarak kurulmayan ve
318        etkinleştirilmeyen suEXEC özelliğini etkin kılar. suEXEC özelliğini
319        kullanma isteğinizi Apache’nin kabul edebilmesi için
320        <code>--enable-suexec</code> seçeneğinin yanında en azından bir tane
321        de <code>--with-suexec-xxxxx</code> seçeneği belirtilmiş
322        olmalıdır.</dd>
323
324      <dt><code>--with-suexec-bin=<em>YOL</em></code></dt>
325
326      <dd>Güvenlik sebebiyle <code>suexec</code> çalıştırılabilirinin
327        bulunduğu yer sunucu koduna yazılır. Bu seçenekle öntanımlı yol
328        değiştirilmiş olur. Örnek:<br />
329        <code>--with-suexec-bin=/usr/sbin/suexec</code></dd>
330
331      <dt><code>--with-suexec-caller=<em>KULLANICI</em></code></dt>
332
333      <dd>Normalde Apache’nin aidiyetinde çalıştığı <a href="mod/mpm_common.html#user">kullanıcı</a>dır. Bu, bu programı
334        çalıştırmasına izin verilen tek kullanıcıdır.</dd>
335
336      <dt><code>--with-suexec-userdir=<em>DİZİN</em></code></dt>
337
338      <dd><p>Kullanıcıların ev dizinleri altında suEXEC’in erişmesine izin
339        verilen alt dizinin yerini tanımlar. Bu dizin altında suEXEC
340        kullanıcısı tarafından çalıştırılacak tüm programlar "güvenilir"
341        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 “*”
342        bulunmayan), bunun aynı dizin olması gerekir. Eğer burada belirtilen
343        dizin, <code>passwd</code> dosyasında kullanıcı için belirtilmiş
344        dizinin altında <code class="directive"><a href="/mod/mod_userdir.html#userdir">UserDir</a></code>
345        yönergesinde belirtilen dizin olmadığı takdirde suEXEC işini
346        gerektiği gibi yapmayacaktır. Öntanımlı değer
347        <code>public_html</code>’dir.</p>
348
349      <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
350        burada belirtilecek dizinin üst dizininin hepsinde aynı olması
351        gerekir. <strong>Aksi takdirde, "~<em><code>kullanıcı</code></em>"
352        istekleri düzgün çalışmayacaktır.</strong></p></dd>
353
354      <dt><code>--with-suexec-docroot=<em>DİZİN</em></code></dt>
355
356      <dd>Apache 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
357        kullanılacak tek hiyerarşi olacaktır. Öntanımlı dizin sonuna
358        "<code>/htdocs</code>" eklenmiş <code>--datadir</code> dizinidir.
359        Yani, seçeneği "<code>--datadir=/home/apache</code>" olarak
360        belirtmişseniz suEXEC çalıştırıcısı için belge kök dizini
361        "<code>/home/apache/htdocs</code>" olur.</dd>
362
363      <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
364
365      <dd>suEXEC kullanıcısının kullanıcı kimliği olarak izin verilen en
366        düşük değeri belirler. Çoğu sistemde bu ya 500’dür ya da 100; 100
367        öntanımlıdır.</dd>
368
369      <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
370
371      <dd>suEXEC kullanıcısının grup kimliği olarak izin verilen en düşük
372        değeri belirler. Çoğu sistemde bu 100 olup, seçeneğin de öntanımlı
373        değeridir.</dd>
374
375      <dt><code>--with-suexec-logfile=<em>DOSYA</em></code></dt>
376
377      <dd>suEXEC hareketlerinin ve hatalarının kaydedileceği günlük
378        dosyasının adını belirler (denetim ve hata ayıklama için
379        kullanışlıdır). Öntanımlı günlük dosyası ismi
380        "<code>suexec_log</code>" olup yeri (<code>--logfiledir</code>
381        seçeneği ile belirtilen) günlük dosyaları dizinidir.</dd>
382
383      <dt><code>--with-suexec-safepath=<em>YOL</em></code></dt>
384
385      <dd>CGI çalıştırılabilirlerine aktarılacak güvenilir <code>PATH</code>
386        ortam değişkeninin değerini tanımlar.
387        "<code>/usr/local/bin:/usr/bin:/bin</code>" öntanımlıdır.</dd>
388    </dl>
389
390    <h3>SuEXEC çalıştırıcısının derlenmesi ve kurulumu</h3>
391      
392
393      <p>SuEXEC özelliğini <code>--enable-suexec</code> seçeneği ile
394        etkinleştirdiyseniz <code>make</code> komutunu verdiğinizde Apache
395        ile birlikte <code>suexec</code> çalıştırılabilir dosyası da
396        derlenecektir.</p>
397
398      <p>Tüm bileşenler derlendikten sonra <code>make install</code> komutunu
399        vererek kurulumu tamamlayabilirsiniz. <code>suexec</code>
400        çalıştırılabilir dosyası <code>--sbindir</code> seçeneği ile
401        tanımlanan dizine kurulacaktır; öntanımlı yeri
402        <code>/usr/local/apache2/bin/</code> dizinidir.</p>
403
404      <p>Kurulum adımında <strong><em>root yetkisine</em></strong> sahip
405        olmanız gerektiğini unutmayın. Çalıştırıcıya kullanıcı kimliğinin
406        atanabilmesi ve dosyanın sahibi olan kullanıcı kimliği ile
407        çalıştırılabilmesini mümkün kılan bitinin etkin kılınabilmesi için
408        kurulumun <code><em>root</em></code> tarafından yapılması
409        önemlidir.</p>
410    
411
412    <h3>Paranoyak yetkilendirme</h3>
413      
414
415      <p>SuEXEC çalıştırıcısı kendini çalıştıran kullanıcının
416        <code class="program"><a href="/programs/configure.html">configure</a></code> betiğine
417        <code>--with-suexec-caller</code> seçeneği ile belirtilen kullanıcı
418        olup olmadığına bakacaksa da, bu sınamanın da bir sistem veya
419        kütüphane çağrısı ile istismar edilmiş olma ihtimali gözardı
420        edilmemelidir. Bunun meydana gelmesini önlemek için ve genelde
421        yapıldığı gibi dosyanın izinlerini suEXEC çalıştırıcısı sadece Apache
422        sunucusunun aidiyetinde çalıştığı kullanıcı tarafından çalıştırılacak
423        şekilde ayarlayınız.</p>
424
425      <p>Örneğin, sunucunuz şöyle yapılandırılmışsa:</p>
426
427      <div class="example"><p><code>
428          User apache<br />
429          Group apache-grup<br />
430      </code></p></div>
431
432      <p>Ve <code class="program"><a href="/programs/suexec.html">suexec</a></code> çalıştırılabilir de
433        <code>/usr/local/apache2/bin/</code> dizinine kurulmuşsa şu komutları
434        vermelisiniz:</p>
435
436      <div class="example"><p><code>
437          chgrp apache-grup /usr/local/apache2/bin/suexec<br />
438          chmod 4750 /usr/local/apache2/bin/suexec<br />
439      </code></p></div>
440
441      <p>Böylece suEXEC çalıştırıcısını Apache’yi çalıştıran grubun
442        üyelerinden başkasının çalıştıramayacağından emin olabilirsiniz.</p>
443    
444</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
445<div class="section">
446<h2><a name="enable" id="enable">suEXEC’in etkin kılınması ve iptal edilmesi</a></h2>
447    
448
449    <p>Apache başlatıldığı sırada <code class="program"><a href="/programs/suexec.html">suexec</a></code> çalıştırıcısı
450      için <code>--sbindir</code> seçeneği ile tanımlanan dizine bakar
451      (seçeneğin öntanımlı değeri
452      <code>/usr/local/apache/sbin/suexec</code>’tir). Apache düzgün
453      yapılandırılmış bir suEXEC çalıştırıcısı bulduğu takdirde hata
454      günlüğüne şöyle bir ileti yazacaktır:</p>
455
456<div class="example"><p><code>
457    [notice] suEXEC mechanism enabled (wrapper: <var>/dosya/yolu/suexec</var>)
458</code></p></div>
459
460    <p>Sunucu başlatıldığında bu ileti yazılmazsa sunucu ya çalıştırıcı
461      programı umduğu yerde bulamamıştır ya da dosyanın <em>setuid</em> biti
462      <em>root</em> tarafından etkin kılınmamıştır.</p>
463
464     <p>SuEXEC mekanizmasını etkin kılmak istediğiniz sunucu çalışmaktaysa
465      sunucuyu önce öldürmeli sonra yeniden başlatmalısınız.  Basit bir
466      <code>HUP</code> veya <code>USR1</code> sinyali ile yeniden başlamasını
467      sağlamak yeterli olmayacaktır.</p>
468
469     <p>SuEXEC mekanizmasını iptal etmek için ise <code class="program"><a href="/programs/suexec.html">suexec</a></code>
470      dosyasını sildikten sonra Apache sunucusunu öldürüp yeniden
471      başlamalısınız.</p>
472</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
473<div class="section">
474<h2><a name="usage" id="usage">SuEXEC’in kullanımı</a></h2>
475
476    <p>CGI programlarına yapılan isteklerin suEXEC çalıştırıcısı tarafından
477      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
478      isteğin <code class="module"><a href="/mod/mod_userdir.html">mod_userdir</a></code> tarafından işleme konulması
479      gerekir.</p>
480
481    <p><strong>Sanal Konaklar:</strong><br />SuEXEC çalıştırıcısını farklı
482      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
483      kullanmaktır. Bu yönergede ana sunucuyu çalıştıran kullanıcıdan farklı
484      bir kullanıcı  belirterek ilgili sanal konak üzerinden CGI kaynakları
485      için yapılan tüm isteklerin belirtilen <em>kullanıcı</em> ve
486      <em>grup</em> tarafından çalıştırılması sağlanır. Bu yönergeyi
487      içermeyen sanal konaklar için ana sunucunun kullanıcısı
488      öntanımlıdır.</p>
489
490    <p><strong>Kullanıcı dizinleri:</strong><br />
491    <code class="module"><a href="/mod/mod_userdir.html">mod_userdir</a></code> tarafından işleme sokulan tüm istekler için
492    suEXEC çalıştırıcısı istek yapılan kullanıcı dizininin sahibinin
493    aidiyetinde çalıştırılacaktır. Bu özelliğin çalışması için tek
494    gereklilik, kullanıcının SuEXEC çalıştırıcısı için etkin kılınmış olması
495    ve çalıştırıcının yukarıdaki <a href="#model">güvenlik sınamalarından</a>
496    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>
497</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
498<div class="section">
499<h2><a name="debug" id="debug">SuEXEC ve hata ayıklama</a></h2>
500
501    <p>SuEXEC çalıştırıcısı yukarıda değinildiği gibi günlük bilgilerini
502      <code>--with-suexec-logfile</code> seçeneği ile belirtilen dosyaya
503      yazacaktır. Çalıştırıcıyı doğru yapılandırarak kurduğunuzdan emin olmak
504      istiyorsanız, yolunda gitmeyen şeyler var mı diye bu günlük dosyasına
505      bakmayı ihmal etmeyin.</p>
506
507</div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
508<div class="section">
509<h2><a name="jabberwock" id="jabberwock">Uyarılar ve Örnekler</a></h2>
510    
511
512    <p><strong>UYARI!</strong> Bu bölüm henüz bitmedi. Bu bölümün son hali
513      için <a href="http://httpd.apache.org/docs/2.2/suexec.html">çevrimiçi
514      belgelere</a> bakınız.</p>
515
516    <p>SuEXEC çalıştırıcısından dolayı sunucu ayarlarına bazı sınırlamalar
517      getiren bir kaç önemli nokta mevcuttur. SuEXEC ile ilgili hata
518      bildiriminde bulunmadan önce bunlara bir göz atmalısınız.</p>
519
520    <ul>
521      <li><strong>suEXEC ile ilgili önemli noktalar</strong></li>
522
523      <li>Hiyerarşik sınırlamalar
524
525        <p class="indent">Güvenlik ve verimlilik adına, tüm suEXEC
526          isteklerinin sanal konaklar için üst düzey belge kökünün altındaki
527          dosyalarla, kullanıcı dizinleri için ise üst düzey bireysel belge
528          köklerinin altındaki dosyalarla sınırlı kalması gerekir. Örneğin,
529          dört sanal konağınız varsa ve suEXEC çalıştırıcısının
530          getirilerinden faydalanmak istiyorsanız, sanal konaklarınızın belge
531          kök dizinlerini ana sunucunun belge kök dizininin altında kalacak
532          şekilde yapılandırmanız gerekir (örnek yolda).</p>
533      </li>
534
535      <li>SuEXEC'in <code>PATH</code> ortam değişkeni
536
537        <p class="indent">Bunu değiştirmek tehlikeli olabilir. Bu değişkende
538          tanımladığınız her yolun <strong>güvenli</strong> bir dizini işaret
539          ettiğinden emin olmalısınız. Başkalarının oralarda bir truva atı
540          çalıştırmasını istemiyorsanız buna çok dikkat ediniz.</p>
541      </li>
542
543      <li>SuEXEC kodunda değişiklik
544
545        <p class="indent">Gerçekte ne yaptığınızı bilmiyorsanız bu,
546          <strong>büyük bir sorun</strong> olabilir. Böyle şeyler yapmaktan
547          mümkün olduğunca uzak durmalısınız.</p>
548      </li>
549    </ul>
550
551</div></div>
552<div class="bottomlang">
553<p><span>Mevcut Diller: </span><a href="/en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
554<a href="/fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
555<a href="/ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
556<a href="/ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
557<a href="/tr/suexec.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
558</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>
559<script type="text/javascript"><!--//--><![CDATA[//><!--
560var comments_shortname = 'httpd';
561var comments_identifier = 'http://httpd.apache.org/docs/2.2/suexec.html';
562(function(w, d) {
563    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
564        d.write('<div id="comments_thread"><\/div>');
565        var s = d.createElement('script');
566        s.type = 'text/javascript';
567        s.async = true;
568        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
569        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
570    }
571    else { 
572        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
573    }
574})(window, document);
575//--><!]]></script></div><div id="footer">
576<p class="apache">Copyright 2013 The Apache Software Foundation.<br /><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a> altında lisanslıdır.</p>
577<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[//><!--
578if (typeof(prettyPrint) !== 'undefined') {
579    prettyPrint();
580}
581//--><!]]></script>
582</body></html>