summaryrefslogtreecommitdiffstats
path: root/docs/manual/suexec.html.tr.utf8
blob: ca5787cd51dbd096114bd333ee3c8584aac6da8b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="tr" xml:lang="tr"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>SuEXEC Desteği - Apache HTTP Sunucusu Sürüm 2.4</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<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" />
<script src="./style/scripts/prettify.min.js" type="text/javascript">
</script>

<link href="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<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>
<p class="apache">Apache HTTP Sunucusu Sürüm 2.4</p>
<img alt="" src="./images/feather.png" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
<div id="path">
<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.4</a></div><div id="page-content"><div id="preamble"><h1>SuEXEC Desteği</h1>
<div class="toplang">
<p><span>Mevcut Diller: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/suexec.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</div>

    <p><strong>SuEXEC</strong> özelliği, Apache HTTP Sunucusu kullanıcılarına
      <strong>CGI</strong> ve <strong>SSI</strong> programlarını sunucunun
      aidiyetinde çalıştığı kullanıcıdan farklı bir kullanıcının aidiyetinde
      çalıştırma olanağı verir. Normalde, <strong>CGI</strong> ve
      <strong>SSI</strong> programlarını çalıştıranla sunucuyu çalıştıran
      aynı kullanıcıdır.</p>

    <p>Gerektiği gibi kullanıldığında bu özellik, kullanıcılara
      <strong>CGI</strong> ve <strong>SSI</strong> programlarını çalıştırma
      ve geliştirmeye izin vermekle ortaya çıkan güvenlik risklerini azaltır.
      Bununla birlikte, <strong>suEXEC</strong> gerektiği gibi
      yapılandırılmadığı takdirde bazı sorunlara yol açabilir ve bilgisayar
      güvenliğinizde yeni delikler ortaya çıkmasına sebep olabilir.
      Güvenlikle ilgili mevcut sorunlarla başa çıkmada ve <em>setuid
      root</em> programları yönetmekte bilgi ve deneyim sahibi değilseniz
      <strong>suEXEC</strong> kullanmayı kesinlikle düşünmemenizi
      öneririz.</p>
  </div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#before">Başlamadan önce</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#model">SuEXEC Güvenlik Modeli</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#install">suEXEC’in Yapılandırılması ve Kurulumu</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#enable">suEXEC’in etkin kılınması ve iptal edilmesi</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#usage">SuEXEC’in kullanımı</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#debug">SuEXEC ve hata ayıklama</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#jabberwock">Uyarılar ve Örnekler</a></li>
</ul><h3>Ayrıca bakınız:</h3><ul class="seealso"><li><a href="#comments_section">Yorumlar</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="before" id="before">Başlamadan önce</a></h2>

    <p>Belgeye balıklama dalmadan önce, suexec'i kullanacağınız ortam ve
      kendiniz hakkında yapılmış çeşitli kabuller hakkında bilgi sahibi
      olmalısınız.</p>

    <p>Öncelikle, üzerinde <strong>setuid</strong> va <strong>setgid</strong>
      işlemlerinin yapılabildiği Unix türevi bir işletim sistemi
      kullandığınızı varsayıyoruz. Tüm komut örnekleri buna dayanarak
      verilmiştir. Bu desteğe sahip başka platformlar varsa onlardaki
      yapılandırma burada anlattığımız yapılandırmadan farklı olabilir.</p>

    <p>İkinci olarak, bilgisayarınızın güvenliği ve yönetimi ile ilgili bazı
      temel kavramları bildiğinizi kabul ediyoruz. Buna
      <strong>setuid/setgid</strong> işlemlerinin sisteminiz ve güvenlik
      seviyesi üzerindeki etkilerini bilmek dahildir.</p>

    <p>Üçüncü olarak, <strong>suEXEC</strong> kodunun
      <strong>değiştirilmemiş</strong> bir sürümünü kullandığınızı
      varsayıyoruz. Tüm suEXEC kodu, geliştiricilerin yanında sayısız beta
      kullanıcısı tarafından dikkatle incelenmiş ve denenmiştir. Kodların hem
      basit hem de sağlam bir şekilde güvenli olması için gerekli tüm
      önlemler alınmıştır. Bu kodun değiştirilmesi beklenmedik sorunlara ve
      yeni güvenlik risklerine yol açabilir. Özellikle güvenlikle ilgili
      programlarda deneyimli değilseniz suEXEC kodunda kesinlikle bir
      değişiklik yapmamalısınız. Değişiklik yaparsanız kodlarınızı gözden
      geçirmek ve tartışmak üzere Apache HTTP Sunucusu geliştirme ekibi ile
      paylaşmanızı öneririz.</p>

    <p>Dördüncü ve son olarak, Apache HTTP Sunucusu geliştirme ekibinin
      suEXEC’i öntanımlı httpd kurulumunun bir parçası yapmama kararından
      bahsetmek gerekir. Bunun sonucu olarak, suEXEC yapılandırması sistem
      yöneticisinin ayrıntılı bir incelemesini gerektirir. Gerekli incelemeden
      sonra yönetici tarafından suEXEC yapılandırma seçeneklerine karar
      verilip, normal yollardan sisteme kurulumu yapılır. Bu seçeneklerin
      belirlenmesi, suEXEC işlevselliğinin kullanımı sırasında sistem
      güvenliğini gerektiği gibi sağlamak için yönetici tarafından dikkatle
      saptanmayı gerektirir. Bu sürecin ayrıntılarının yöneticiye bırakılma
      sebebi, suEXEC kurulumunu, suEXEC’i dikkatle kullanacak yeterliliğe sahip
      olanlarla sınırlama  beklentimizdir.</p>

    <p>Hala bizimle misiniz? Evet mi? Pekala, o halde devam!</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="model" id="model">SuEXEC Güvenlik Modeli</a></h2>

    <p>SuEXEC yapılandırması ve kurulumuna girişmeden önce biraz da
      gerçekleşmesini istediğiniz güvenlik modelinin ayrıntıları üzerinde
      duralım. Böylece, suEXEC’in içinde olup bitenleri ve sisteminizin
      güvenliği için alınacak önlemleri daha iyi anlayabilirsiniz.</p>

    <p><strong>suEXEC</strong> işlevselliği, Apache HTTP Sunucusu tarafından
      gerektiği takdirde artalanda çalıştırılan bir setuid programa dayanır.
      Bu program, bir CGI veya SSI betiğine bir HTTP isteği yapıldığı zaman,
      bu betiği, yöneticinin ana sunucunun aidiyetinde çalıştığı kullanıcıdan
      farklı olarak seçtiği bir kullanıcının aidiyetinde çalıştırmak için
      çağrılır. Böyle bir istek geldiğinde, Apache httpd artalandaki setuid
      programına, HTTP isteği yapılan programın ismiyle beraber aidiyetinde
      çalışacağı kullanıcı ve grup kimliklerini de aktarır.</p>

    <p>Artalanda çalıştırılan setuid program başarıyı ve başarısızlığı
      aşağıdaki süreci izleyerek saptar. Bunlardan herhangi biri başarısız
      olursa program başarısızlık durumunu günlüğe kaydeder ve bir hata
      vererek çıkar. Aksi takdirde çalışmaya devam eder.</p>

    <ol>
      <li>
        <strong>Setuid programı çalıştıran kullanıcı sistemin geçerli
        kullanıcılarından biri mi?</strong>

        <p class="indent">Bu, setuid programı çalıştıran kullanıcının
        sistemin gerçek bir kullanıcısı olduğunudan emin olunmasını sağlar.
        </p>
     </li>

     <li>
        <strong>Setuid program yeterli sayıda argümanla çağrılmış mı?
        </strong>

        <p class="indent">Apache HTTP Sunucusunun artalanda çağırdığı
          setuid program ancak yeterli sayıda argüman sağlandığı takdirde
          çalışacaktır. Argümanların sayısını ve sırasını Apache HTTP sunucusu
          bilir. Eğer setuid program yeterli sayıda argümanla çağrılmamışsa
          ya kendisinde bir değişiklik yapılmıştır ya da kurulu Apache httpd
          çalıştırılabilirinin suEXEC ile ilgili kısmında yanlış giden bir
          şeyler vardır.</p>
      </li>

      <li>
        <strong>Bu geçerli kullanıcının bu setuid programı çalıştırma
          yetkisi var mı?</strong>

        <p class="indent">Sadece tek bir kullanıcı (Apache’nin aidiyetinde
          çalıştığı kullanıcı) bu programı çalıştırmaya yetkilidir.</p>
      </li>

      <li>
        <strong>Hedef CGI veya SSI programı hiyerarşik olarak güvenliği
          bozacak bir dosya yolu üzerinde mi?</strong>

        <p class="indent">Hedef CGI veya SSI programının dosya yolu '/' veya
          '..' ile başlıyor  mu? Buna izin verilmez. Hedef CGI veya SSI
          programı suEXEC’in belge kök dizininde yer almalıdır (aşağıda
          <code>--with-suexec-docroot=<em>DİZİN</em></code> seçeneğine
          bakınız).</p>
      </li>

      <li>
        <strong>Hedef kullanıcı ismi geçerli mi?</strong>

        <p class="indent">Hedef kullanıcı mevcut mu?</p>
      </li>

      <li>
        <strong>Hedef grup ismi geçerli mi?</strong>

        <p class="indent">Hedef grup mevcut mu?</p>
      </li>

      <li>
        <strong>Hedef kullanıcı <code>root</code> değil, değil mi?</strong>

        <p class="indent">Mevcut durumda, <code>root</code> kullanıcısının
          CGI/SSI programlarını çalıştırmasına izin verilmemektedir.</p>
      </li>

      <li>
        <strong>Hedef kullanıcı kimliği asgari kullanıcı numarasından
          <em>BÜYÜK</em> mü?</strong>

        <p class="indent">Asgari kullanıcı numarası yapılandırma sırasında
          belirtilir. Böylece CGI/SSI programlarını çalıştırmasına izin
          verilecek olası en düşük kullanıcı numarasını belirlemeniz mümkün
          kılınmıştır. Bu bazı “sistem” hesaplarını devreden çıkarmak için
          yararlıdır.</p>
      </li>

      <li>
        <strong>Hedef grup <code>root</code>  değil, değil mi?</strong>

        <p class="indent"><code>root</code> grubunun CGI/SSI
          programlarını çalıştırmasına izin verilmemektedir.</p>
      </li>

      <li>
        <strong>Hedef grup numarası asgari grup numarasından
          <em>BÜYÜK</em> mü?</strong>

        <p class="indent">Asgari grup numarası yapılandırma sırasında
          belirtilir. Böylece CGI/SSI programlarını çalıştırmasına izin
          verilecek olası en düşük grup numarasını belirlemeniz mümkün
          kılınmıştır. Bu bazı “sistem” hesaplarını devreden çıkarmak için
          yararlıdır.</p>
      </li>

      <li>
        <strong>Apache’nin artalanda çağırdığı setuid program hedef
          kullanıcı ve grubun aidiyetine geçebildi mi?</strong>

        <p class="indent">Bu noktadan itibaren program setuid ve setgid
          çağrıları üzerinden hedef kullanıcı ve grubun aidiyetine geçer.
          Erişim grubu listesi de ayrıca kullanıcının üyesi olduğu tüm
          gruplara genişletilir.</p>
      </li>

      <li>
        <strong>Hedef CGI/SSI programının bulunduğu dizine geçebildik mi?
        </strong>

        <p class="indent">Dizin mevcut değilse dosyaları da içeremez. Hedef
          dizine geçemiyorsak bu, dizin mevcut olmadığından olabilir.</p>
      </li>

      <li>
        <strong>Hedef dizin Apache için izin verilen yerlerden biri mi?
        </strong>

        <p class="indent">İstek sunucunun normal bir bölümü için yapılmış
          olsa da istenen dizin acaba suEXEC’in belge kök dizini altında mı?
          Yani, istenen dizin, suEXEC’in aidiyetinde çalıştığı kullanıcının
          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>
          bakınız).</p>
      </li>

      <li>
        <strong>Hedef dizin başkaları tarafından yazılabilen bir dizin değil,
          değil mi?</strong>

        <p class="indent">Başkaları da yazabilsin diye bir dizin açmıyoruz;
          dizin içeriğini sadece sahibi değiştirebilmelidir.</p>
      </li>

      <li>
        <strong>Hedef CGI/SSI programı mevcut mu?</strong>

        <p class="indent">Mevcut değilse çalıştırılamaz.</p>
      </li>

      <li>
        <strong>Hedef CGI/SSI program dosyasına başkaları tarafından
          yazılamıyor, değil mi?</strong>

        <p class="indent">Hedef CGI/SSI programının dosyasına sahibinden
          başka kimsenin bir şeyler yazmasını istemeyiz.</p>
      </li>

      <li>
        <strong>Hedef CGI/SSI program setuid veya setgid <em>değil</em>,
          değil mi?</strong>

        <p class="indent">UID/GID‘i tekrar değiştirecek programlar
          çalıştırmayı istemeyiz.</p>
      </li>

      <li>
        <strong>Hedef kullanıcı/grup, programın kullanıcı/grubu ile aynı mı?
        </strong>

        <p class="indent">Hedef kullanıcı dosyanın sahibi mi?</p>
      </li>

      <li>
        <strong>İşlemlerin güvenle yapılabilmesi için süreç ortamını
          başarıyla temizleyebildik mi?</strong>

        <p class="indent">suEXEC, sürecin çalışacağı ortama güvenli bir
          program çalıştırma yolu sağlamaktan başka, yapılandırma sırasında
          oluşturulan güvenli ortam değişkenleri listesinde isimleri bulunan
          ortam değişkenlerinden başkasını aktarmayacaktır.</p>
      </li>

      <li>
        <strong>Hedef CGI/SSI programı haline gelip çalışabildik mi?</strong>

        <p class="indent">Burası suEXEC’in bitip CGI/SSI programının
          başladığı yerdir.</p>
      </li>
    </ol>

    <p>Bu süreç suEXEC güvenlik modelinin standart işlemlerini oluşturur.
      Biraz zorlayıcı ve CGI/SSI tasarımına yeni kurallar ve sınırlamalar
      getiriyor olsa da düşünülen güvenliği adım adım sağlayacak şekilde
      tasarlanmıştır.</p>

    <p>Düzgün bir suEXEC yapılandırmasının hangi güvenlik risklerinden
      kurtulmayı sağladığı ve bu güvenlik modelinin sunucu yapılandırmasıyla
      ilgili sorumluluklarınızı nasıl sınırlayabildiği hakkında daha
      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>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="install" id="install">suEXEC’in Yapılandırılması ve Kurulumu</a></h2>

    <p>Eğlence başlıyor.</p>

    <p><strong>suEXEC yapılandırma seçenekleri</strong><br />
    </p>

    <dl>
      <dt><code>--enable-suexec</code></dt>

      <dd>Bu seçenek, hiçbir zaman öntanımlı olarak kurulmayan ve
        etkinleştirilmeyen suEXEC özelliğini etkin kılar. suEXEC özelliğini
        kullanma isteğinizi Apache’nin kabul edebilmesi için
        <code>--enable-suexec</code> seçeneğinin yanında en azından bir tane
        de <code>--with-suexec-xxxxx</code> seçeneği belirtilmiş
        olmalıdır.</dd>

      <dt><code>--with-suexec-bin=<em>YOL</em></code></dt>

      <dd>Güvenlik sebebiyle <code>suexec</code> çalıştırılabilirinin
        bulunduğu yer sunucu koduna yazılır. Bu seçenekle öntanımlı yol
        değiştirilmiş olur. Örnek:<br />
        <code>--with-suexec-bin=/usr/sbin/suexec</code></dd>

      <dt><code>--with-suexec-caller=<em>KULLANICI</em></code></dt>

      <dd>Normalde httpd’nin aidiyetinde çalıştığı <a href="mod/mpm_common.html#user">kullanıcı</a>dır. Bu, suEXEC
        çalıştırıcısını çalıştırmasına izin verilen tek kullanıcıdır.</dd>

      <dt><code>--with-suexec-userdir=<em>DİZİN</em></code></dt>

      <dd><p>Kullanıcıların ev dizinleri altında suEXEC’in erişmesine izin
        verilen alt dizinin yerini tanımlar. Bu dizin altında suEXEC
        kullanıcısı tarafından çalıştırılacak tüm programlar "güvenilir"
        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 “*”
        bulunmayan), bunun aynı dizin olması gerekir. Eğer burada belirtilen
        dizin, <code>passwd</code> dosyasında kullanıcı için belirtilmiş
        dizinin altında <code class="directive"><a href="./mod/mod_userdir.html#userdir">UserDir</a></code>
        yönergesinde belirtilen dizin olmadığı takdirde suEXEC işini
        gerektiği gibi yapmayacaktır. Öntanımlı değer
        <code>public_html</code>’dir.</p>

      <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
        burada belirtilecek dizinin üst dizininin hepsinde aynı olması
        gerekir. <strong>Aksi takdirde, "~<em><code>kullanıcı</code></em>"
        istekleri düzgün çalışmayacaktır.</strong></p></dd>

      <dt><code>--with-suexec-docroot=<em>DİZİN</em></code></dt>

      <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
        kullanılacak tek hiyerarşi olacaktır. Öntanımlı dizin sonuna
        "<code>/htdocs</code>" eklenmiş <code>--datadir</code> dizinidir.
        Yani, seçeneği "<code>--datadir=/home/apache</code>" olarak
        belirtmişseniz suEXEC çalıştırıcısı için belge kök dizini
        "<code>/home/apache/htdocs</code>" olur.</dd>

      <dt><code>--with-suexec-uidmin=<em>UID</em></code></dt>

      <dd>suEXEC kullanıcısının kullanıcı kimliği olarak izin verilen en
        düşük değeri belirler. Çoğu sistemde bu ya 500’dür ya da 100; 100
        öntanımlıdır.</dd>

      <dt><code>--with-suexec-gidmin=<em>GID</em></code></dt>

      <dd>suEXEC kullanıcısının grup kimliği olarak izin verilen en düşük
        değeri belirler. Çoğu sistemde bu 100 olup, seçeneğin de öntanımlı
        değeridir.</dd>

      <dt><code>--with-suexec-logfile=<em>DOSYA</em></code></dt>

      <dd>suEXEC hareketlerinin ve hatalarının kaydedileceği günlük
        dosyasının adını belirler (denetim ve hata ayıklama için
        kullanışlıdır). Öntanımlı günlük dosyası ismi
        "<code>suexec_log</code>" olup yeri (<code>--logfiledir</code>
        seçeneği ile belirtilen) günlük dosyaları dizinidir.</dd>

      <dt><code>--with-suexec-safepath=<em>YOL</em></code></dt>

      <dd>CGI çalıştırılabilirlerine aktarılacak güvenilir <code>PATH</code>
        ortam değişkeninin değerini tanımlar.
        "<code>/usr/local/bin:/usr/bin:/bin</code>" öntanımlıdır.</dd>
    </dl>

    <h3>SuEXEC çalıştırıcısının derlenmesi ve kurulumu</h3>
      

      <p>SuEXEC özelliğini <code>--enable-suexec</code> seçeneği ile
        etkinleştirdiyseniz <code>make</code> komutunu verdiğinizde httpd
        ile birlikte <code>suexec</code> çalıştırılabilir dosyası da
        derlenecektir.</p>

      <p>Tüm bileşenler derlendikten sonra <code>make install</code> komutunu
        vererek kurulumu tamamlayabilirsiniz. <code>suexec</code>
        çalıştırılabilir dosyası <code>--sbindir</code> seçeneği ile
        tanımlanan dizine kurulacaktır; öntanımlı yeri
        <code>/usr/local/apache2/bin/</code> dizinidir.</p>

      <p>Kurulum adımında <strong><em>root yetkisine</em></strong> sahip
        olmanız gerektiğini unutmayın. Çalıştırıcıya kullanıcı kimliğinin
        atanabilmesi ve dosyanın sahibi olan kullanıcı kimliği ile
        çalıştırılabilmesini mümkün kılan bitinin etkin kılınabilmesi için
        kurulumun <code><em>root</em></code> tarafından yapılması
        önemlidir.</p>
    

    <h3>Paranoyak yetkilendirme</h3>
      

      <p>SuEXEC çalıştırıcısı kendini çalıştıran kullanıcının
        <code class="program"><a href="./programs/configure.html">configure</a></code> betiğine
        <code>--with-suexec-caller</code> seçeneği ile belirtilen kullanıcı
        olup olmadığına bakacaksa da, bu sınamanın da bir sistem veya
        kütüphane çağrısı ile istismar edilmiş olma ihtimali gözardı
        edilmemelidir. Bunun meydana gelmesini önlemek için ve genelde
        yapıldığı gibi dosyanın izinlerini suEXEC çalıştırıcısı sadece
        httpd'nin aidiyetinde çalıştığı grup tarafından çalıştırılacak
        şekilde ayarlayınız.</p>

      <p>Örneğin, sunucunuz şöyle yapılandırılmışsa:</p>

      <pre class="prettyprint lang-config">User www
Group webgroup</pre>


      <p>Ve <code class="program"><a href="./programs/suexec.html">suexec</a></code> çalıştırılabilir de
        <code>/usr/local/apache2/bin/</code> dizinine kurulmuşsa şu komutları
        vermelisiniz:</p>

      <div class="example"><p><code>
          chgrp apache-grup /usr/local/apache2/bin/suexec<br />
          chmod 4750 /usr/local/apache2/bin/suexec<br />
      </code></p></div>

      <p>Böylece suEXEC çalıştırıcısını httpd’yi çalıştıran grubun
        üyelerinden başkasının çalıştıramayacağından emin olabilirsiniz.</p>
    
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="enable" id="enable">suEXEC’in etkin kılınması ve iptal edilmesi</a></h2>
    

    <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
      <code>--sbindir</code> seçeneği ile tanımlanan dizine bakar (seçeneğin
      öntanımlı değeri <code>/usr/local/apache/sbin/suexec</code>’tir). httpd
      düzgün yapılandırılmış bir suEXEC çalıştırıcısı bulduğu takdirde hata
      günlüğüne şöyle bir ileti yazacaktır:</p>

<div class="example"><p><code>
    [notice] suEXEC mechanism enabled (wrapper: <var>/dosya/yolu/suexec</var>)
</code></p></div>

    <p>Sunucu başlatıldığında bu ileti yazılmazsa sunucu ya çalıştırıcı
      programı umduğu yerde bulamamıştır ya da dosyanın <em>setuid</em> biti
      <em>root</em> tarafından etkin kılınmamıştır.</p>

     <p>SuEXEC mekanizmasını etkin kılmak istediğiniz sunucu çalışmaktaysa
      sunucuyu önce öldürmeli sonra yeniden başlatmalısınız.  Basit bir
      <code>HUP</code> veya <code>USR1</code> sinyali ile yeniden başlamasını
      sağlamak yeterli olmayacaktır.</p>

     <p>SuEXEC mekanizmasını iptal etmek için ise <code class="program"><a href="./programs/suexec.html">suexec</a></code>
      dosyasını sildikten sonra httpd'yi öldürüp yeniden başlamalısınız.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="usage" id="usage">SuEXEC’in kullanımı</a></h2>

    <p>CGI programlarına yapılan isteklerin suEXEC çalıştırıcısı tarafından
      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
      isteğin <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> tarafından işleme konulması
      gerekir.</p>

    <p><strong>Sanal Konaklar:</strong><br />SuEXEC çalıştırıcısını farklı
      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
      kullanmaktır. Bu yönergede ana sunucuyu çalıştıran kullanıcıdan farklı
      bir kullanıcı  belirterek ilgili sanal konak üzerinden CGI kaynakları
      için yapılan tüm isteklerin belirtilen <em>kullanıcı</em> ve
      <em>grup</em> tarafından çalıştırılması sağlanır. Bu yönergeyi
      içermeyen sanal konaklar için ana sunucunun kullanıcısı
      öntanımlıdır.</p>

    <p><strong>Kullanıcı dizinleri:</strong><br />
    <code class="module"><a href="./mod/mod_userdir.html">mod_userdir</a></code> tarafından işleme sokulan tüm istekler için
    suEXEC çalıştırıcısı istek yapılan kullanıcı dizininin sahibinin
    aidiyetinde çalıştırılacaktır. Bu özelliğin çalışması için tek
    gereklilik, kullanıcının SuEXEC çalıştırıcısı için etkin kılınmış olması
    ve çalıştırıcının yukarıdaki <a href="#model">güvenlik sınamalarından</a>
    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>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="debug" id="debug">SuEXEC ve hata ayıklama</a></h2>

    <p>SuEXEC çalıştırıcısı yukarıda değinildiği gibi günlük bilgilerini
      <code>--with-suexec-logfile</code> seçeneği ile belirtilen dosyaya
      yazacaktır. Çalıştırıcıyı doğru yapılandırarak kurduğunuzdan emin olmak
      istiyorsanız, yolunda gitmeyen şeyler var mı diye bu günlük dosyasına
      bakmayı ihmal etmeyin.</p>

</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="jabberwock" id="jabberwock">Uyarılar ve Örnekler</a></h2>
    

    <p><strong>UYARI!</strong> Bu bölüm henüz bitmedi.</p>

    <p>SuEXEC çalıştırıcısından dolayı sunucu ayarlarına bazı sınırlamalar
      getiren bir kaç önemli nokta mevcuttur. SuEXEC ile ilgili hata
      bildiriminde bulunmadan önce bunlara bir göz atmalısınız.</p>

    <p><strong>suEXEC ile ilgili önemli noktalar</strong></p>  
    <ul>
      <li>Hiyerarşik sınırlamalar

        <p class="indent">Güvenlik ve verimlilik adına, tüm suEXEC
          isteklerinin sanal konaklar için üst düzey belge kökünün altındaki
          dosyalarla, kullanıcı dizinleri için ise üst düzey bireysel belge
          köklerinin altındaki dosyalarla sınırlı kalması gerekir. Örneğin,
          dört sanal konağınız varsa ve suEXEC çalıştırıcısının
          getirilerinden faydalanmak istiyorsanız, sanal konaklarınızın belge
          kök dizinlerini ana sunucunun belge kök dizininin altında kalacak
          şekilde yapılandırmanız gerekir (örnek yolda).</p>
      </li>

      <li>SuEXEC'in <code>PATH</code> ortam değişkeni

        <p class="indent">Bunu değiştirmek tehlikeli olabilir. Bu değişkende
          tanımladığınız her yolun <strong>güvenli</strong> bir dizini işaret
          ettiğinden emin olmalısınız. Başkalarının oralarda bir truva atı
          çalıştırmasını istemiyorsanız buna çok dikkat ediniz.</p>
      </li>

      <li>SuEXEC kodunda değişiklik

        <p class="indent">Gerçekte ne yaptığınızı bilmiyorsanız bu,
          <strong>büyük bir sorun</strong> olabilir. Böyle şeyler yapmaktan
          mümkün olduğunca uzak durmalısınız.</p>
      </li>
    </ul>

</div></div>
<div class="bottomlang">
<p><span>Mevcut Diller: </span><a href="./en/suexec.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./tr/suexec.html" title="Türkçe">&nbsp;tr&nbsp;</a></p>
</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">Yorumlar</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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/suexec.html';
(function(w, d) {
    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
        d.write('<div id="comments_thread"><\/div>');
        var s = d.createElement('script');
        s.type = 'text/javascript';
        s.async = true;
        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
    }
    else { 
        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
    }
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2023 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>
<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[//><!--
if (typeof(prettyPrint) !== 'undefined') {
    prettyPrint();
}
//--><!]]></script>
</body></html>