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