Chkrootkit का जो हिस्सा आप देख रहे हैं वह यह है:
###
### Suspect PHP files
###
if [ "${QUIET}" != "t" ]; then
printn "Searching for suspect PHP files... "; fi
files="`${find} ${ROOTDIR}tmp ${ROOTDIR}var/tmp ${findargs} -name '*.php' 2> /dev/null`"
fileshead="`${find} ${ROOTDIR}tmp ${ROOTDIR}var/tmp ${findargs} -type f -exec head -1 {} \; | grep php 2> /dev/null`"
if [ "${files}" = "" -a "${fileshead}" = "" ]; then
if [ "${QUIET}" != "t" ]; then echo "nothing found"; fi
else
echo "${files}"
echo "${fileshead}"
fi
और यह दूसरा findकमांड है जो त्रुटि पैदा कर रहा है। समस्या यह है कि findकमांड के बीच एक फ़ाइल खोजने की दौड़ की स्थिति होती है और जब वह -execभाग में जाती है और headफ़ाइल पर चलती है । इन दो क्षणों के बीच, एक अन्य प्रक्रिया पुरानी, समाप्त हो चुकी PHP सत्र फ़ाइलों में से कुछ को हटा रही है।
डेबियन-आधारित डिस्ट्रोस में, यह आमतौर पर एक क्रॉन जॉब है /etc/cron.d/php5जो प्रत्येक घंटे 9 और 39 मिनट पर चलती है। मुझे यकीन नहीं है कि RedHat- आधारित डिस्ट्रोस क्या करता है और निश्चित रूप से, यह अनुकूलन योग्य है। PHP के पास प्रत्येक अनुरोध पर सत्र-सफाई थ्रेड को 1 से 1000 प्रायिकता (यह संभावना भी कॉन्फ़िगर करने योग्य है) के साथ ट्रिगर करने के लिए एक अंतर्निहित तंत्र है।
आपके 50 में से 1 दर संभवतया जो भी आपके पुराने PHP सत्र फ़ाइलों को हटा रहा है, जो भी तंत्र में मामूली बदलाव का परिणाम है।