]> granicus.if.org Git - apache/blob - docs/manual/suexec.html.tr.utf8
Xforms
[apache] / docs / manual / suexec.html.tr.utf8
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.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">
15 </script>
16
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.png" /></div>
22 <div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
23 <div id="path">
24 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Sunucusu</a> &gt; <a href="http://httpd.apache.org/docs/">Belgeleme</a> &gt; <a href="./">Sürüm 2.5</a></div><div id="page-content"><div id="preamble"><h1>SuEXEC Desteği</h1>
25 <div class="toplang">
26 <p><span>Mevcut Diller: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
27 <a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
28 <a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
29 <a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
30 <a href="./tr/suexec.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
31 </div>
32 <div class="outofdate">Bu çeviri güncel olmayabilir. Son değişiklikler için İngilizce sürüm geçerlidir.</div>
33
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>
40
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
50       öneririz.</p>
51   </div>
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><h3>Ayrıca bakınız:</h3><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>
61 <div class="section">
62 <h2><a name="before" id="before">Başlamadan önce</a> <a title="Permanent link" href="#before" class="permalink">&para;</a></h2>
63
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
66       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 HTTP Sunucusu geliştirme ekibi ile
89       paylaşmanızı öneririz.</p>
90
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>
102
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> <a title="Permanent link" href="#model" class="permalink">&para;</a></h2>
107
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>
112
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>
121
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>
126
127     <ol>
128       <li>
129         <strong>Setuid programı çalıştıran kullanıcı sistemin geçerli
130         kullanıcılarından biri mi?</strong>
131
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.
134         </p>
135      </li>
136
137      <li>
138         <strong>Setuid program yeterli sayıda argümanla çağrılmış mı?
139         </strong>
140
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
147           şeyler vardır.</p>
148       </li>
149
150       <li>
151         <strong>Bu geçerli kullanıcının bu setuid programı çalıştırma
152           yetkisi var mı?</strong>
153
154         <p class="indent">Sadece tek bir kullanıcı (Apache’nin aidiyetinde
155           çalıştığı kullanıcı) bu programı çalıştırmaya yetkilidir.</p>
156       </li>
157
158       <li>
159         <strong>Hedef CGI veya SSI programı hiyerarşik olarak güvenliği
160           bozacak bir dosya yolu üzerinde mi?</strong>
161
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
166           bakınız).</p>
167       </li>
168
169       <li>
170         <strong>Hedef kullanıcı ismi geçerli mi?</strong>
171
172         <p class="indent">Hedef kullanıcı mevcut mu?</p>
173       </li>
174
175       <li>
176         <strong>Hedef grup ismi geçerli mi?</strong>
177
178         <p class="indent">Hedef grup mevcut mu?</p>
179       </li>
180
181       <li>
182         <strong>Hedef kullanıcı <code>root</code> değil, değil mi?</strong>
183
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>
186       </li>
187
188       <li>
189         <strong>Hedef kullanıcı kimliği asgari kullanıcı numarasından
190           <em>BÜYÜK</em> mü?</strong>
191
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
196           yararlıdır.</p>
197       </li>
198
199       <li>
200         <strong>Hedef grup <code>root</code>  değil, değil mi?</strong>
201
202         <p class="indent"><code>root</code> grubunun CGI/SSI
203           programlarını çalıştırmasına izin verilmemektedir.</p>
204       </li>
205
206       <li>
207         <strong>Hedef grup numarası asgari grup numarasından
208           <em>BÜYÜK</em> mü?</strong>
209
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
214           yararlıdır.</p>
215       </li>
216
217       <li>
218         <strong>Apache’nin artalanda çağırdığı setuid program hedef
219           kullanıcı ve grubun aidiyetine geçebildi mi?</strong>
220
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>
225       </li>
226
227       <li>
228         <strong>Hedef CGI/SSI programının bulunduğu dizine geçebildik mi?
229         </strong>
230
231         <p class="indent">Dizin mevcut değilse dosyaları da içeremez. Hedef
232           dizine geçemiyorsak bu, dizin mevcut olmadığından olabilir.</p>
233       </li>
234
235       <li>
236         <strong>Hedef dizin Apache için izin verilen yerlerden biri mi?
237         </strong>
238
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>
243           bakınız).</p>
244       </li>
245
246       <li>
247         <strong>Hedef dizin başkaları tarafından yazılabilen bir dizin değil,
248           değil mi?</strong>
249
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>
252       </li>
253
254       <li>
255         <strong>Hedef CGI/SSI programı mevcut mu?</strong>
256
257         <p class="indent">Mevcut değilse çalıştırılamaz.</p>
258       </li>
259
260       <li>
261         <strong>Hedef CGI/SSI program dosyasına başkaları tarafından
262           yazılamıyor, değil mi?</strong>
263
264         <p class="indent">Hedef CGI/SSI programının dosyasına sahibinden
265           başka kimsenin bir şeyler yazmasını istemeyiz.</p>
266       </li>
267
268       <li>
269         <strong>Hedef CGI/SSI program setuid veya setgid <em>değil</em>,
270           değil mi?</strong>
271
272         <p class="indent">UID/GID‘i tekrar değiştirecek programlar
273           çalıştırmayı istemeyiz.</p>
274       </li>
275
276       <li>
277         <strong>Hedef kullanıcı/grup, programın kullanıcı/grubu ile aynı mı?
278         </strong>
279
280         <p class="indent">Hedef kullanıcı dosyanın sahibi mi?</p>
281       </li>
282
283       <li>
284         <strong>İşlemlerin güvenle yapılabilmesi için süreç ortamını
285           başarıyla temizleyebildik mi?</strong>
286
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>
291       </li>
292
293       <li>
294         <strong>Hedef CGI/SSI programı haline gelip çalışabildik mi?</strong>
295
296         <p class="indent">Burası suEXEC’in bitip CGI/SSI programının
297           başladığı yerdir.</p>
298       </li>
299     </ol>
300
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
304       tasarlanmıştır.</p>
305
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> <a title="Permanent link" href="#install" class="permalink">&para;</a></h2>
313
314     <p>Eğlence başlıyor.</p>
315
316     <p><strong>suEXEC yapılandırma seçenekleri</strong><br />
317     </p>
318
319     <dl>
320       <dt><code>--enable-suexec</code></dt>
321
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ş
327         olmalıdır.</dd>
328
329       <dt><code>--with-suexec-bin=<em>YOL</em></code></dt>
330
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>
335
336       <dt><code>--with-suexec-caller=<em>KULLANICI</em></code></dt>
337
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>
340
341       <dt><code>--with-suexec-userdir=<em>DİZİN</em></code></dt>
342
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>
353
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>
358
359       <dt><code>--with-suexec-docroot=<em>DİZİN</em></code></dt>
360
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>
367
368       <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>
369
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
372         öntanımlıdır.</dd>
373
374       <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>
375
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ı
378         değeridir.</dd>
379
380       <dt><code>--with-suexec-logfile=<em>DOSYA</em></code></dt>
381
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>
387
388       <dt><code>--with-suexec-safepath=<em>YOL</em></code></dt>
389
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>
393     </dl>
394
395     <h3>SuEXEC çalıştırıcısının derlenmesi ve kurulumu</h3>
396       
397
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
401         derlenecektir.</p>
402
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>
408
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ı
414         önemlidir.</p>
415     
416
417     <h3>Paranoyak yetkilendirme</h3>
418       
419
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>
429
430       <p>Örneğin, sunucunuz şöyle yapılandırılmışsa:</p>
431
432       <div class="example"><p><code>
433           User apache<br />
434           Group apache-grup<br />
435       </code></p></div>
436
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ı
439         vermelisiniz:</p>
440
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 />
444       </code></p></div>
445
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>
448     
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> <a title="Permanent link" href="#enable" class="permalink">&para;</a></h2>
452     
453
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>
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 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> <a title="Permanent link" href="#usage" class="permalink">&para;</a></h2>
478
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ı
482       gerekir.</p>
483
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ı
491       öntanımlıdır.</p>
492
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> <a title="Permanent link" href="#debug" class="permalink">&para;</a></h2>
503
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>
509
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> <a title="Permanent link" href="#jabberwock" class="permalink">&para;</a></h2>
513     
514
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>
518
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>
522
523     <ul>
524       <li><strong>suEXEC ile ilgili önemli noktalar</strong></li>
525
526       <li>Hiyerarşik sınırlamalar
527
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>
536       </li>
537
538       <li>SuEXEC'in <code>PATH</code> ortam değişkeni
539
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>
544       </li>
545
546       <li>SuEXEC kodunda değişiklik
547
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>
551       </li>
552     </ul>
553
554 </div></div>
555 <div class="bottomlang">
556 <p><span>Mevcut Diller: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
557 <a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
558 <a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
559 <a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
560 <a href="./tr/suexec.html" title="Türkçe">&nbsp;tr&nbsp;</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&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
562 <script type="text/javascript"><!--//--><![CDATA[//><!--
563 var comments_shortname = 'httpd';
564 var comments_identifier = 'http://httpd.apache.org/docs/trunk/suexec.html';
565 (function(w, d) {
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';
570         s.async = true;
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);
573     }
574     else {
575         d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
576     }
577 })(window, document);
578 //--><!]]></script></div><div id="footer">
579 <p class="apache">Copyright 2019 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') {
582     prettyPrint();
583 }
584 //--><!]]></script>
585 </body></html>