580 lines
31 KiB
XML
580 lines
31 KiB
XML
<?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="<-" alt="<-" src="./images/left.gif" /></a></div>
|
||
<div id="path">
|
||
<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.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"> en </a> |
|
||
<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
|
||
<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
|
||
<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
|
||
<a href="./tr/suexec.html" title="Türkçe"> tr </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"> en </a> |
|
||
<a href="./fr/suexec.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
|
||
<a href="./ja/suexec.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> |
|
||
<a href="./ko/suexec.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
|
||
<a href="./tr/suexec.html" title="Türkçe"> tr </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&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 2024 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> |