जब मैं क्रैश करता हूं तो हर चीज का एक मुख्य डंप बनाने के लिए मैं अपना वातावरण सेटअप करता हूं, हालांकि जब मैं SUID के साथ एक प्रोग्राम चलाता हूं तो निष्पादित उपयोगकर्ता की तुलना में यह एक अलग डंप बनाता है। किसी भी विचार का यह क्यों हो सकता है? मुझे यह वेब पर कहीं भी नहीं मिला, मुझे लगता है कि यह किसी प्रकार की सुरक्षा सुविधा है लेकिन मैं इसे अक्षम करना चाहूंगा ...
मुसीबत:
$ cd /tmp
$ cat /etc/security/limits.conf | grep core
* - core unlimited
root - core unlimited
$ ls -l ohai
-rwsr-sr-x 1 root root 578988 2011-06-23 23:29 ohai
$ ./ohai
...
Floating point exception
$ sudo -i
# ./ohai
...
Floating point exception (core dumped)
# chmod -s ohai
# exit
$ ./ohai
...
Floating point exception (core dumped)
संपादित करें: जितना संभव हो सके इसे सुरक्षित बनाने के लिए मेरे पास अब पर्यावरण स्थापित करने के लिए निम्नलिखित स्क्रिप्ट है:
mkdir -p /var/coredumps/
chown root:adm /var/coredumps/
chmod 772 /var/coredumps/
echo "kernel.core_pattern = /var/coredumps/core.%u.%e.%p" >> /etc/sysctrl.conf
echo "fs.suid_dumpable = 2" >> /etc/sysctl.conf
echo -e "*\t-\tcore\tunlimited" >> /etc/security/limits.conf
echo -e "root\t-\tcore\tunlimited" >> /etc/security/limits.conf
अब बस इतना ही करना बाकी है कि ACL को / var / coredumps में जोड़ें ताकि उपयोगकर्ता केवल फाइलें जोड़ सकें और संशोधित न कर सकें और न ही उन्हें फिर कभी पढ़ सकें। केवल नकारात्मक यह है कि मुझे अभी भी chroot'ed अनुप्रयोगों के साथ एक समस्या होगी, जिसके लिए एक bind mount
या कुछ और की आवश्यकता होगी ।