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