Bazı Arka Planlar:
Setuid biti:
Yürütülebilir bir dosyadaki setuid biti, herhangi bir kullanıcı tarafından çalıştırılan yürütülebilir dosyaların yürütülebilir dosya sahibi tarafından çalıştırılıyormuş gibi çalıştırılmasını sağlar. Bu nedenle, setuid, root'un sahibi olduğu bir programda ayarlanırsa, kim çalıştırırsa çalıştırılsın, kök ayrıcalıklarıyla çalıştırılır. Elbette o kadar basit değil, bu wikipedia makalesine bakın veya Steven'ın Unix Ortamında Programlama'nın bir kopyasını alın.
Çekirdek Dökümü:
Çekirdek dökümü, programın çalışma belleğinin bir dosyaya dökümüdür. Bkz bu wikipedia makale .
suid_dumpable :
Çekirdeğin yukarıda açıklandığı gibi bir setuid programından atılabileceğini kontrol eder. Aşağıya bakınız. Bu bir çekirdek ayarlanabilir, ile değiştirebilirsiniz:
sudo sysctl -w kernel.suid_dumpable=2
Bu ayarla ilgili, kaynak kodunuzun dokümantasyonunda, kurulduysa, /usr/src/linux-source-2.6.27/Documentation/sysctl/ gibi bir dizinde bulabilirsiniz. Bu durumda, aşağıdaki başvuru bu dizindeki fs.txt dosyasındadır. uname -a
Çekirdek sürümünüzü bulmak için komutu kullanın .
Neden Önemlidir:
Bu bir güvenlik riski olabilir:
Yani ana çekirdekler varsa ve düzenli bir kullanıcı bunları okuyabilirse ayrıcalıklı bilgiler bulabilirler. Program iyi bir şekilde dökülürse, bellekte ayrıcalıklı bilgiler vardı ve kullanıcı dökümü okuyabilir, bu ayrıcalıklı bilgileri bulabilir.
Referans:
This value can be used to query and set the core dump mode for setuid
or otherwise protected/tainted binaries. The modes are
0 - (default) - traditional behaviour. Any process which has changed
privilege levels or is execute only will not be dumped
1 - (debug) - all processes dump core when possible. The core dump is
owned by the current user and no security is applied. This is
intended for system debugging situations only.
2 - (suidsafe) - any binary which normally not be dumped is dumped
readable by root only. This allows the end user to remove
such a dump but not access it directly. For security reasons
core dumps in this mode will not overwrite one another or
other files. This mode is appropriate when adminstrators are
attempting to debug problems in a normal environment.