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
8 <title>SuEXEC Desteği - Apache HTTP Sunucusu Sürüm 2.5</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">
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/quickreference.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.5</p>
19 <img alt="" src="./images/feather.gif" /></div>
20 <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
22 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Sunucusu</a> > <a href="http://httpd.apache.org/docs/">Belgeleme</a> > <a href="./">Sürüm 2.5</a></div><div id="page-content"><div id="preamble"><h1>SuEXEC Desteği</h1>
24 <p><span>Mevcut Diller: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> |
25 <a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
26 <a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
27 <a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
28 <a href="./tr/suexec.html" title="Türkçe"> tr </a></p>
30 <div class="outofdate">Bu çeviri güncel olmayabilir. Son değişiklikler için İngilizce sürüm geçerlidir.</div>
32 <p><strong>SuEXEC</strong> özelliği, Apache HTTP Sunucusu kullanıcılarına
33 <strong>CGI</strong> ve <strong>SSI</strong> programlarını sunucunun
34 aidiyetinde çalıştığı kullanıcıdan farklı bir kullanıcının aidiyetinde
35 çalıştırma olanağı verir. Normalde, <strong>CGI</strong> ve
36 <strong>SSI</strong> programlarını çalıştıranla sunucuyu çalıştıran
37 aynı kullanıcıdır.</p>
39 <p>Gerektiği gibi kullanıldığında bu özellik, kullanıcılara
40 <strong>CGI</strong> ve <strong>SSI</strong> programlarını çalıştırma
41 ve geliştirmeye izin vermekle ortaya çıkan güvenlik risklerini azaltır.
42 Bununla birlikte, <strong>suEXEC</strong> gerektiği gibi
43 yapılandırılmadığı takdirde bazı sorunlara yol açabilir ve bilgisayar
44 güvenliğinizde yeni delikler ortaya çıkmasına sebep olabilir.
45 Güvenlikle ilgili mevcut sorunlarla başa çıkmada ve <em>setuid
46 root</em> programları yönetmekte bilgi ve deneyim sahibi değilseniz
47 <strong>suEXEC</strong> kullanmayı kesinlikle düşünmemenizi
50 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#before">Başlamadan önce</a></li>
51 <li><img alt="" src="./images/down.gif" /> <a href="#model">SuEXEC Güvenlik Modeli</a></li>
52 <li><img alt="" src="./images/down.gif" /> <a href="#install">suEXEC’in Yapılandırılması ve Kurulumu</a></li>
53 <li><img alt="" src="./images/down.gif" /> <a href="#enable">suEXEC’in etkin kılınması ve iptal edilmesi</a></li>
54 <li><img alt="" src="./images/down.gif" /> <a href="#usage">SuEXEC’in kullanımı</a></li>
55 <li><img alt="" src="./images/down.gif" /> <a href="#debug">SuEXEC ve hata ayıklama</a></li>
56 <li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">Uyarılar ve Örnekler</a></li>
57 </ul><ul class="seealso"><li><a href="#comments_section">Yorum</a></li></ul></div>
58 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
60 <h2><a name="before" id="before">Başlamadan önce</a></h2>
62 <p>Belgeye balıklama dalmadan önce, suexec'i kullanacağınız ortam ve
63 kendiniz hakkında yapılmış çeşitli kabuller hakkında bilgi sahibi
66 <p>Öncelikle, üzerinde <strong>setuid</strong> va <strong>setgid</strong>
67 işlemlerinin yapılabildiği Unix türevi bir işletim sistemi
68 kullandığınızı varsayıyoruz. Tüm komut örnekleri buna dayanarak
69 verilmiştir. Bu desteğe sahip başka platformlar varsa onlardaki
70 yapılandırma burada anlattığımız yapılandırmadan farklı olabilir.</p>
72 <p>İkinci olarak, bilgisayarınızın güvenliği ve yönetimi ile ilgili bazı
73 temel kavramları bildiğinizi kabul ediyoruz. Buna
74 <strong>setuid/setgid</strong> işlemlerinin sisteminiz ve güvenlik
75 seviyesi üzerindeki etkilerini bilmek dahildir.</p>
77 <p>Üçüncü olarak, <strong>suEXEC</strong> kodunun
78 <strong>değiştirilmemiş</strong> bir sürümünü kullandığınızı
79 varsayıyoruz. Tüm suEXEC kodu, geliştiricilerin yanında sayısız beta
80 kullanıcısı tarafından dikkatle incelenmiş ve denenmiştir. Kodların hem
81 basit hem de sağlam bir şekilde güvenli olması için gerekli tüm
82 önlemler alınmıştır. Bu kodun değiştirilmesi beklenmedik sorunlara ve
83 yeni güvenlik risklerine yol açabilir. Özellikle güvenlikle ilgili
84 programlarda deneyimli değilseniz suEXEC kodunda kesinlikle bir
85 değişiklik yapmamalısınız. Değişiklik yaparsanız kodlarınızı gözden
86 geçirmek ve tartışmak üzere Apache HTTP Sunucusu geliştirme ekibi ile
87 paylaşmanızı öneririz.</p>
89 <p>Dördüncü ve son olarak, Apache HTTP Sunucusu geliştirme ekibinin
90 suEXEC’i öntanımlı httpd kurulumunun bir parçası yapmama kararından
91 bahsetmek gerekir. Bunun sonucu olarak, suEXEC yapılandırması sistem
92 yöneticisinin ayrıntılı bir incelemesini gerektirir. Gerekli incelemeden
93 sonra yönetici tarafından suEXEC yapılandırma seçeneklerine karar
94 verilip, normal yollardan sisteme kurulumu yapılır. Bu seçeneklerin
95 belirlenmesi, suEXEC işlevselliğinin kullanımı sırasında sistem
96 güvenliğini gerektiği gibi sağlamak için yönetici tarafından dikkatle
97 saptanmayı gerektirir. Bu sürecin ayrıntılarının yöneticiye bırakılma
98 sebebi, suEXEC kurulumunu, suEXEC’i dikkatle kullanacak yeterliliğe sahip
99 olanlarla sınırlama beklentimizdir.</p>
101 <p>Hala bizimle misiniz? Evet mi? Pekala, o halde devam!</p>
102 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
103 <div class="section">
104 <h2><a name="model" id="model">SuEXEC Güvenlik Modeli</a></h2>
106 <p>SuEXEC yapılandırması ve kurulumuna girişmeden önce biraz da
107 gerçekleşmesini istediğiniz güvenlik modelinin ayrıntıları üzerinde
108 duralım. Böylece, suEXEC’in içinde olup bitenleri ve sisteminizin
109 güvenliği için alınacak önlemleri daha iyi anlayabilirsiniz.</p>
111 <p><strong>suEXEC</strong> işlevselliği, Apache HTTP Sunucusu tarafından
112 gerektiği takdirde artalanda çalıştırılan bir setuid programa dayanır.
113 Bu program, bir CGI veya SSI betiğine bir HTTP isteği yapıldığı zaman,
114 bu betiği, yöneticinin ana sunucunun aidiyetinde çalıştığı kullanıcıdan
115 farklı olarak seçtiği bir kullanıcının aidiyetinde çalıştırmak için
116 çağrılır. Böyle bir istek geldiğinde, Apache httpd artalandaki setuid
117 programına, HTTP isteği yapılan programın ismiyle beraber aidiyetinde
118 çalışacağı kullanıcı ve grup kimliklerini de aktarır.</p>
120 <p>Artalanda çalıştırılan setuid program başarıyı ve başarısızlığı
121 aşağıdaki süreci izleyerek saptar. Bunlardan herhangi biri başarısız
122 olursa program başarısızlık durumunu günlüğe kaydeder ve bir hata
123 vererek çıkar. Aksi takdirde çalışmaya devam eder.</p>
127 <strong>Setuid programı çalıştıran kullanıcı sistemin geçerli
128 kullanıcılarından biri mi?</strong>
130 <p class="indent">Bu, setuid programı çalıştıran kullanıcının
131 sistemin gerçek bir kullanıcısı olduğunudan emin olunmasını sağlar.
136 <strong>Setuid program yeterli sayıda argümanla çağrılmış mı?
139 <p class="indent">Apache HTTP Sunucusunun artalanda çağırdığı
140 setuid program ancak yeterli sayıda argüman sağlandığı takdirde
141 çalışacaktır. Argümanların sayısını ve sırasını Apache HTTP sunucusu
142 bilir. Eğer setuid program yeterli sayıda argümanla çağrılmamışsa
143 ya kendisinde bir değişiklik yapılmıştır ya da kurulu Apache httpd
144 çalıştırılabilirinin suEXEC ile ilgili kısmında yanlış giden bir
149 <strong>Bu geçerli kullanıcının bu setuid programı çalıştırma
150 yetkisi var mı?</strong>
152 <p class="indent">Sadece tek bir kullanıcı (Apache’nin aidiyetinde
153 çalıştığı kullanıcı) bu programı çalıştırmaya yetkilidir.</p>
157 <strong>Hedef CGI veya SSI programı hiyerarşik olarak güvenliği
158 bozacak bir dosya yolu üzerinde mi?</strong>
160 <p class="indent">Hedef CGI veya SSI programının dosya yolu '/' veya
161 '..' ile başlıyor mu? Buna izin verilmez. Hedef CGI veya SSI
162 programı suEXEC’in belge kök dizininde yer almalıdır (aşağıda
163 <code>--with-suexec-docroot=<em>DİZİN</em></code> seçeneğine
168 <strong>Hedef kullanıcı ismi geçerli mi?</strong>
170 <p class="indent">Hedef kullanıcı mevcut mu?</p>
174 <strong>Hedef grup ismi geçerli mi?</strong>
176 <p class="indent">Hedef grup mevcut mu?</p>
180 <strong>Hedef kullanıcı <code>root</code> değil, değil mi?</strong>
182 <p class="indent">Mevcut durumda, <code>root</code> kullanıcısının
183 CGI/SSI programlarını çalıştırmasına izin verilmemektedir.</p>
187 <strong>Hedef kullanıcı kimliği asgari kullanıcı numarasından
188 <em>BÜYÜK</em> mü?</strong>
190 <p class="indent">Asgari kullanıcı numarası yapılandırma sırasında
191 belirtilir. Böylece CGI/SSI programlarını çalıştırmasına izin
192 verilecek olası en düşük kullanıcı numarasını belirlemeniz mümkün
193 kılınmıştır. Bu bazı “sistem” hesaplarını devreden çıkarmak için
198 <strong>Hedef grup <code>root</code> değil, değil mi?</strong>
200 <p class="indent"><code>root</code> grubunun CGI/SSI
201 programlarını çalıştırmasına izin verilmemektedir.</p>
205 <strong>Hedef grup numarası asgari grup numarasından
206 <em>BÜYÜK</em> mü?</strong>
208 <p class="indent">Asgari grup numarası yapılandırma sırasında
209 belirtilir. Böylece CGI/SSI programlarını çalıştırmasına izin
210 verilecek olası en düşük grup numarasını belirlemeniz mümkün
211 kılınmıştır. Bu bazı “sistem” hesaplarını devreden çıkarmak için
216 <strong>Apache’nin artalanda çağırdığı setuid program hedef
217 kullanıcı ve grubun aidiyetine geçebildi mi?</strong>
219 <p class="indent">Bu noktadan itibaren program setuid ve setgid
220 çağrıları üzerinden hedef kullanıcı ve grubun aidiyetine geçer.
221 Erişim grubu listesi de ayrıca kullanıcının üyesi olduğu tüm
222 gruplara genişletilir.</p>
226 <strong>Hedef CGI/SSI programının bulunduğu dizine geçebildik mi?
229 <p class="indent">Dizin mevcut değilse dosyaları da içeremez. Hedef
230 dizine geçemiyorsak bu, dizin mevcut olmadığından olabilir.</p>
234 <strong>Hedef dizin Apache için izin verilen yerlerden biri mi?
237 <p class="indent">İstek sunucunun normal bir bölümü için yapılmış
238 olsa da istenen dizin acaba suEXEC’in belge kök dizini altında mı?
239 Yani, istenen dizin, suEXEC’in aidiyetinde çalıştığı kullanıcının
240 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>
245 <strong>Hedef dizin başkaları tarafından yazılabilen bir dizin değil,
248 <p class="indent">Başkaları da yazabilsin diye bir dizin açmıyoruz;
249 dizin içeriğini sadece sahibi değiştirebilmelidir.</p>
253 <strong>Hedef CGI/SSI programı mevcut mu?</strong>
255 <p class="indent">Mevcut değilse çalıştırılamaz.</p>
259 <strong>Hedef CGI/SSI program dosyasına başkaları tarafından
260 yazılamıyor, değil mi?</strong>
262 <p class="indent">Hedef CGI/SSI programının dosyasına sahibinden
263 başka kimsenin bir şeyler yazmasını istemeyiz.</p>
267 <strong>Hedef CGI/SSI program setuid veya setgid <em>değil</em>,
270 <p class="indent">UID/GID‘i tekrar değiştirecek programlar
271 çalıştırmayı istemeyiz.</p>
275 <strong>Hedef kullanıcı/grup, programın kullanıcı/grubu ile aynı mı?
278 <p class="indent">Hedef kullanıcı dosyanın sahibi mi?</p>
282 <strong>İşlemlerin güvenle yapılabilmesi için süreç ortamını
283 başarıyla temizleyebildik mi?</strong>
285 <p class="indent">suEXEC, sürecin çalışacağı ortama güvenli bir
286 program çalıştırma yolu sağlamaktan başka, yapılandırma sırasında
287 oluşturulan güvenli ortam değişkenleri listesinde isimleri bulunan
288 ortam değişkenlerinden başkasını aktarmayacaktır.</p>
292 <strong>Hedef CGI/SSI programı haline gelip çalışabildik mi?</strong>
294 <p class="indent">Burası suEXEC’in bitip CGI/SSI programının
295 başladığı yerdir.</p>
299 <p>Bu süreç suEXEC güvenlik modelinin standart işlemlerini oluşturur.
300 Biraz zorlayıcı ve CGI/SSI tasarımına yeni kurallar ve sınırlamalar
301 getiriyor olsa da düşünülen güvenliği adım adım sağlayacak şekilde
304 <p>Düzgün bir suEXEC yapılandırmasının hangi güvenlik risklerinden
305 kurtulmayı sağladığı ve bu güvenlik modelinin sunucu yapılandırmasıyla
306 ilgili sorumluluklarınızı nasıl sınırlayabildiği hakkında daha
307 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>
308 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
309 <div class="section">
310 <h2><a name="install" id="install">suEXEC’in Yapılandırılması ve Kurulumu</a></h2>
312 <p>Eğlence başlıyor.</p>
314 <p><strong>suEXEC yapılandırma seçenekleri</strong><br />
318 <dt><code>--enable-suexec</code></dt>
320 <dd>Bu seçenek, hiçbir zaman öntanımlı olarak kurulmayan ve
321 etkinleştirilmeyen suEXEC özelliğini etkin kılar. suEXEC özelliğini
322 kullanma isteğinizi Apache’nin kabul edebilmesi için
323 <code>--enable-suexec</code> seçeneğinin yanında en azından bir tane
324 de <code>--with-suexec-xxxxx</code> seçeneği belirtilmiş
327 <dt><code>--with-suexec-bin=<em>YOL</em></code></dt>
329 <dd>Güvenlik sebebiyle <code>suexec</code> çalıştırılabilirinin
330 bulunduğu yer sunucu koduna yazılır. Bu seçenekle öntanımlı yol
331 değiştirilmiş olur. Örnek:<br />
332 <code>--with-suexec-bin=/usr/sbin/suexec</code></dd>
334 <dt><code>--with-suexec-caller=<em>KULLANICI</em></code></dt>
336 <dd>Normalde httpd’nin aidiyetinde çalıştığı <a href="mod/mpm_common.html#user">kullanıcı</a>dır. Bu, suEXEC
337 çalıştırıcısını çalıştırmasına izin verilen tek kullanıcıdır.</dd>
339 <dt><code>--with-suexec-userdir=<em>DİZİN</em></code></dt>
341 <dd><p>Kullanıcıların ev dizinleri altında suEXEC’in erişmesine izin
342 verilen alt dizinin yerini tanımlar. Bu dizin altında suEXEC
343 kullanıcısı tarafından çalıştırılacak tüm programlar "güvenilir"
344 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 “*”
345 bulunmayan), bunun aynı dizin olması gerekir. Eğer burada belirtilen
346 dizin, <code>passwd</code> dosyasında kullanıcı için belirtilmiş
347 dizinin altında <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
348 yönergesinde belirtilen dizin olmadığı takdirde suEXEC işini
349 gerektiği gibi yapmayacaktır. Öntanımlı değer
350 <code>public_html</code>’dir.</p>
352 <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
353 burada belirtilecek dizinin üst dizininin hepsinde aynı olması
354 gerekir. <strong>Aksi takdirde, "~<em><code>kullanıcı</code></em>"
355 istekleri düzgün çalışmayacaktır.</strong></p></dd>
357 <dt><code>--with-suexec-docroot=<em>DİZİN</em></code></dt>
359 <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
360 kullanılacak tek hiyerarşi olacaktır. Öntanımlı dizin sonuna
361 "<code>/htdocs</code>" eklenmiş <code>--datadir</code> dizinidir.
362 Yani, seçeneği "<code>--datadir=/home/apache</code>" olarak
363 belirtmişseniz suEXEC çalıştırıcısı için belge kök dizini
364 "<code>/home/apache/htdocs</code>" olur.</dd>
366 <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
368 <dd>suEXEC kullanıcısının kullanıcı kimliği olarak izin verilen en
369 düşük değeri belirler. Çoğu sistemde bu ya 500’dür ya da 100; 100
372 <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
374 <dd>suEXEC kullanıcısının grup kimliği olarak izin verilen en düşük
375 değeri belirler. Çoğu sistemde bu 100 olup, seçeneğin de öntanımlı
378 <dt><code>--with-suexec-logfile=<em>DOSYA</em></code></dt>
380 <dd>suEXEC hareketlerinin ve hatalarının kaydedileceği günlük
381 dosyasının adını belirler (denetim ve hata ayıklama için
382 kullanışlıdır). Öntanımlı günlük dosyası ismi
383 "<code>suexec_log</code>" olup yeri (<code>--logfiledir</code>
384 seçeneği ile belirtilen) günlük dosyaları dizinidir.</dd>
386 <dt><code>--with-suexec-safepath=<em>YOL</em></code></dt>
388 <dd>CGI çalıştırılabilirlerine aktarılacak güvenilir <code>PATH</code>
389 ortam değişkeninin değerini tanımlar.
390 "<code>/usr/local/bin:/usr/bin:/bin</code>" öntanımlıdır.</dd>
393 <h3>SuEXEC çalıştırıcısının derlenmesi ve kurulumu</h3>
396 <p>SuEXEC özelliğini <code>--enable-suexec</code> seçeneği ile
397 etkinleştirdiyseniz <code>make</code> komutunu verdiğinizde httpd
398 ile birlikte <code>suexec</code> çalıştırılabilir dosyası da
401 <p>Tüm bileşenler derlendikten sonra <code>make install</code> komutunu
402 vererek kurulumu tamamlayabilirsiniz. <code>suexec</code>
403 çalıştırılabilir dosyası <code>--sbindir</code> seçeneği ile
404 tanımlanan dizine kurulacaktır; öntanımlı yeri
405 <code>/usr/local/apache2/bin/</code> dizinidir.</p>
407 <p>Kurulum adımında <strong><em>root yetkisine</em></strong> sahip
408 olmanız gerektiğini unutmayın. Çalıştırıcıya kullanıcı kimliğinin
409 atanabilmesi ve dosyanın sahibi olan kullanıcı kimliği ile
410 çalıştırılabilmesini mümkün kılan bitinin etkin kılınabilmesi için
411 kurulumun <code><em>root</em></code> tarafından yapılması
415 <h3>Paranoyak yetkilendirme</h3>
418 <p>SuEXEC çalıştırıcısı kendini çalıştıran kullanıcının
419 <code class="program"><a href="./programs/configure.html">configure</a></code> betiğine
420 <code>--with-suexec-caller</code> seçeneği ile belirtilen kullanıcı
421 olup olmadığına bakacaksa da, bu sınamanın da bir sistem veya
422 kütüphane çağrısı ile istismar edilmiş olma ihtimali gözardı
423 edilmemelidir. Bunun meydana gelmesini önlemek için ve genelde
424 yapıldığı gibi dosyanın izinlerini suEXEC çalıştırıcısı sadece
425 httpd'nin aidiyetinde çalıştığı grup tarafından çalıştırılacak
426 şekilde ayarlayınız.</p>
428 <p>Örneğin, sunucunuz şöyle yapılandırılmışsa:</p>
430 <div class="example"><p><code>
432 Group apache-grup<br />
435 <p>Ve <code class="program"><a href="./programs/suexec.html">suexec</a></code> çalıştırılabilir de
436 <code>/usr/local/apache2/bin/</code> dizinine kurulmuşsa şu komutları
439 <div class="example"><p><code>
440 chgrp apache-grup /usr/local/apache2/bin/suexec<br />
441 chmod 4750 /usr/local/apache2/bin/suexec<br />
444 <p>Böylece suEXEC çalıştırıcısını httpd’yi çalıştıran grubun
445 üyelerinden başkasının çalıştıramayacağından emin olabilirsiniz.</p>
447 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
448 <div class="section">
449 <h2><a name="enable" id="enable">suEXEC’in etkin kılınması ve iptal edilmesi</a></h2>
452 <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
453 <code>--sbindir</code> seçeneği ile tanımlanan dizine bakar (seçeneğin
454 öntanımlı değeri <code>/usr/local/apache/sbin/suexec</code>’tir). httpd
455 düzgün yapılandırılmış bir suEXEC çalıştırıcısı bulduğu takdirde hata
456 günlüğüne şöyle bir ileti yazacaktır:</p>
458 <div class="example"><p><code>
459 [notice] suEXEC mechanism enabled (wrapper: <var>/dosya/yolu/suexec</var>)
462 <p>Sunucu başlatıldığında bu ileti yazılmazsa sunucu ya çalıştırıcı
463 programı umduğu yerde bulamamıştır ya da dosyanın <em>setuid</em> biti
464 <em>root</em> tarafından etkin kılınmamıştır.</p>
466 <p>SuEXEC mekanizmasını etkin kılmak istediğiniz sunucu çalışmaktaysa
467 sunucuyu önce öldürmeli sonra yeniden başlatmalısınız. Basit bir
468 <code>HUP</code> veya <code>USR1</code> sinyali ile yeniden başlamasını
469 sağlamak yeterli olmayacaktır.</p>
471 <p>SuEXEC mekanizmasını iptal etmek için ise <code class="program"><a href="./programs/suexec.html">suexec</a></code>
472 dosyasını sildikten sonra httpd'yi öldürüp yeniden başlamalısınız.</p>
473 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
474 <div class="section">
475 <h2><a name="usage" id="usage">SuEXEC’in kullanımı</a></h2>
477 <p>CGI programlarına yapılan isteklerin suEXEC çalıştırıcısı tarafından
478 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
479 isteğin <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> tarafından işleme konulması
482 <p><strong>Sanal Konaklar:</strong><br />SuEXEC çalıştırıcısını farklı
483 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
484 kullanmaktır. Bu yönergede ana sunucuyu çalıştıran kullanıcıdan farklı
485 bir kullanıcı belirterek ilgili sanal konak üzerinden CGI kaynakları
486 için yapılan tüm isteklerin belirtilen <em>kullanıcı</em> ve
487 <em>grup</em> tarafından çalıştırılması sağlanır. Bu yönergeyi
488 içermeyen sanal konaklar için ana sunucunun kullanıcısı
491 <p><strong>Kullanıcı dizinleri:</strong><br />
492 <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> tarafından işleme sokulan tüm istekler için
493 suEXEC çalıştırıcısı istek yapılan kullanıcı dizininin sahibinin
494 aidiyetinde çalıştırılacaktır. Bu özelliğin çalışması için tek
495 gereklilik, kullanıcının SuEXEC çalıştırıcısı için etkin kılınmış olması
496 ve çalıştırıcının yukarıdaki <a href="#model">güvenlik sınamalarından</a>
497 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>
498 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
499 <div class="section">
500 <h2><a name="debug" id="debug">SuEXEC ve hata ayıklama</a></h2>
502 <p>SuEXEC çalıştırıcısı yukarıda değinildiği gibi günlük bilgilerini
503 <code>--with-suexec-logfile</code> seçeneği ile belirtilen dosyaya
504 yazacaktır. Çalıştırıcıyı doğru yapılandırarak kurduğunuzdan emin olmak
505 istiyorsanız, yolunda gitmeyen şeyler var mı diye bu günlük dosyasına
506 bakmayı ihmal etmeyin.</p>
508 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
509 <div class="section">
510 <h2><a name="jabberwock" id="jabberwock">Uyarılar ve Örnekler</a></h2>
513 <p><strong>UYARI!</strong> Bu bölüm henüz bitmedi. Bu bölümün son hali
514 için <a href="http://httpd.apache.org/docs/trunk/suexec.html">çevrimiçi
515 belgelere</a> bakınız.</p>
517 <p>SuEXEC çalıştırıcısından dolayı sunucu ayarlarına bazı sınırlamalar
518 getiren bir kaç önemli nokta mevcuttur. SuEXEC ile ilgili hata
519 bildiriminde bulunmadan önce bunlara bir göz atmalısınız.</p>
522 <li><strong>suEXEC ile ilgili önemli noktalar</strong></li>
524 <li>Hiyerarşik sınırlamalar
526 <p class="indent">Güvenlik ve verimlilik adına, tüm suEXEC
527 isteklerinin sanal konaklar için üst düzey belge kökünün altındaki
528 dosyalarla, kullanıcı dizinleri için ise üst düzey bireysel belge
529 köklerinin altındaki dosyalarla sınırlı kalması gerekir. Örneğin,
530 dört sanal konağınız varsa ve suEXEC çalıştırıcısının
531 getirilerinden faydalanmak istiyorsanız, sanal konaklarınızın belge
532 kök dizinlerini ana sunucunun belge kök dizininin altında kalacak
533 şekilde yapılandırmanız gerekir (örnek yolda).</p>
536 <li>SuEXEC'in <code>PATH</code> ortam değişkeni
538 <p class="indent">Bunu değiştirmek tehlikeli olabilir. Bu değişkende
539 tanımladığınız her yolun <strong>güvenli</strong> bir dizini işaret
540 ettiğinden emin olmalısınız. Başkalarının oralarda bir truva atı
541 çalıştırmasını istemiyorsanız buna çok dikkat ediniz.</p>
544 <li>SuEXEC kodunda değişiklik
546 <p class="indent">Gerçekte ne yaptığınızı bilmiyorsanız bu,
547 <strong>büyük bir sorun</strong> olabilir. Böyle şeyler yapmaktan
548 mümkün olduğunca uzak durmalısınız.</p>
553 <div class="bottomlang">
554 <p><span>Mevcut Diller: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English"> en </a> |
555 <a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
556 <a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
557 <a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
558 <a href="./tr/suexec.html" title="Türkçe"> tr </a></p>
559 </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&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>
560 <script type="text/javascript"><!--//--><![CDATA[//><!--
561 var comments_shortname = 'httpd';
562 var comments_identifier = 'http://httpd.apache.org/docs/trunk/suexec.html';
564 if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
565 d.write('<div id="comments_thread"><\/div>');
566 var s = d.createElement('script');
567 s.type = 'text/javascript';
569 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
570 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
573 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
575 })(window, document);
576 //--><!]]></script></div><div id="footer">
577 <p class="apache">Copyright 2015 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>
578 <p class="menu"><a href="./mod/">Modüller</a> | <a href="./mod/quickreference.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[//><!--
579 if (typeof(prettyPrint) !== 'undefined') {