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