ล้มเหลวโดยไม่มี Core dump


1

ก่อนอื่น: ฉันเปิดใช้งานการถ่ายโอนข้อมูลหลักและทำงานได้เกือบตลอดเวลา

ดังนั้นหนึ่งโปรแกรมจึงล้มเหลวทุกขณะแล้วสร้างแกนการถ่ายโอนข้อมูล แต่บางครั้งมันก็ล้มเหลวโดยไม่มีการถ่ายโอนข้อมูลหลัก ซึ่งน่าผิดหวังมาก ๆ

มีข้อขัดข้องใดบ้างที่หนักจนไม่ทำให้เกิดการถ่ายโอนข้อมูลหลัก

คำตอบ:


0

มีสาเหตุเล็กน้อยที่ทำให้เกิดความผิดพลาดที่ไม่มีการถ่ายโอนข้อมูลหลักเหตุผลแรกที่ฉันเดาว่าใช้ไม่ได้กับคุณ:

1) ulimit ไม่ได้ถูกตั้งค่าเป็นไม่ จำกัด : คุณควรออก

  ulimit -c unlimited

2) มีพื้นที่ว่างในดิสก์เหลือไม่เพียงพอหรือคุณไม่ได้รับอนุญาตให้เขียนไปยังไดเรกทอรีที่คุณออกคำสั่งที่ล้มเหลวหรือคุณอาจเขียนทับไฟล์ที่มีอยู่

3) โปรแกรมต้องการโปรแกรม setxid ซึ่งข้อมูลในกรณีนี้จะไม่ถูกทิ้งเนื่องจากความกังวลด้านความปลอดภัย การถ่ายโอนข้อมูลอาจมีข้อมูลที่เป็นความลับซึ่งจะทำให้ผู้ใช้ที่ไม่ได้รับอนุญาตสามารถใช้งานได้ ในการหลีกเลี่ยงปัญหานี้ให้ออกว่าเป็น sudo

 echo 2 >/proc/sys/fs/suid_dumpable

กรุณาแจ้งให้ทราบธงผิดปกติ2 : 1หมายถึงการวางระบบรักษาความปลอดภัยทั้งหมดเพื่อให้ระบบการแก้จุดบกพร่องเป็นทั้ง 2ถูก จำกัด ยิ่งขึ้น

หากคุณมีการเข้าถึงรหัสที่คุณอาจลองเปิดsetrlimitภายในรหัสหรือทำให้การเรียกร้องให้prctl (PR_SET_DUMPABLE, 1)


ขอบคุณfürตอบกลับอย่างรวดเร็วของคุณ ulimit ของฉันไม่ จำกัด โควต้าของฉันยังไม่ถึงฉันเหลือประมาณ 100Gb ในขณะที่โปรแกรมต้องการประมาณ 3Gb สำหรับทุกสิ่ง Disk ที่แท้จริงอยู่ไกลจากผึ้งเต็ม และอย่างที่ฉันเขียนส่วนใหญ่ของโปรแกรมเดียวกันนี้จะเขียนคอร์ดัมพ์
Why.n0t

@Alex ให้ฉันใช้ถ้อยคำใหม่: core dump ให้ภาพของหน่วยความจำทั้งหมด หากโปรแกรมของคุณรัน setuid ดังนั้นเมื่อวางมือบนแกนคุณจะได้รับการเข้าถึงข้อมูลที่คุณในฐานะผู้ใช้ทั่วไปไม่ควรเป็นส่วนตัว สิ่งที่อาจเกิดขึ้นคือเมื่อมีการทิ้งคอร์โปรแกรมของคุณไม่ได้รัน setuid และอื่น ๆ เมื่อคอร์ถูกทิ้ง คำสั่งที่ดูไร้เดียงสามากมายเช่นping run setuid คุณสามารถแยกว่าโปรแกรมของคุณไม่เคยรันโปรแกรม / คำสั่ง / .. setuid ได้หรือไม่?
MariusMatutiae

ฉันไม่สามารถยกเว้นได้ แต่ฉันได้ตรวจสอบ prozess บางเวลาด้วย top และ realUID และ UID จะไม่เปลี่ยนแปลง
Why.n0t
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.