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="<-" alt="<-" src="/images/left.gif" /></a></div> 21<div id="path"> 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.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"> 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> 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"> en </a> | 554<a href="/fr/suexec.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 555<a href="/ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 556<a href="/ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 557<a href="/tr/suexec.html" title="Türkçe"> tr </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&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>