มีวิธีการตรวจสอบสิ่งที่คุณกำลังดำเนินการจากสคริปต์ทุบตีจริง ๆ ?
บอกว่าทุบตีสคริปต์ของคุณจะถูกเรียกหลายคำสั่ง (ตัวอย่างเช่น: tar, mail, scp, mysqldump) และคุณยินดีที่จะให้แน่ใจว่าtarเป็นจริงจริงtarซึ่งเป็นที่ระบุโดยrootผู้ใช้เป็นไฟล์และไดเรกทอรีแม่เจ้าของและเป็นคนเดียวที่มีสิทธิ์ในการเขียน และไม่ได้/tmp/surprise/tarมีwww-dataหรือapache2เป็นเจ้าของ
แน่ใจว่าฉันรู้เกี่ยวกับPATHสภาพแวดล้อมและฉันอยากรู้ว่านี้สามารถตรวจสอบเพิ่มเติมจากสคริปต์ทุบตีทำงานและถ้าเป็นเช่นนั้นได้อย่างไร
ตัวอย่าง: (หลอกรหัส)
tarfile=$(which tar)
isroot=$(ls -l "$tarfile") | grep "root root"
#and so on...
whichบอกว่าสิ่งที่tarจะทำไม่ถูกต้องตามที่ xhienne ตอบlsอาจถูกแฮ็กเพื่อส่งคืนข้อมูลเท็จเกี่ยวกับไฟล์ถ้ามี นอกจากนี้ยังgrepอาจถูกแฮ็กเพื่อกลับข้อมูลเท็จ ที่สามารถหลีกเลี่ยงได้โดยใช้การจับคู่เชลล์แทน แต่เชลล์สามารถแฮ็กได้ และเชลล์อาจถูกแฮ็กเพื่อให้ได้ผลลัพธ์ที่ผิดตั้งแต่typeแรก - หรือถูกแทนที่ทั้งหมดเนื่องจากความสามารถในการเชลล์ของเชลล์เป็นนวัตกรรมที่สำคัญของ Unix เมื่อเทียบกับระบบปฏิบัติการอายุ 50 ปี ดูที่อยู่ของทัวริงในปี 1984 ของ Ken Thompson มันเต่าตลอดทางลง
TE) - ซึ่งมีฐานข้อมูลที่มีลายเซ็น (เช่นมีความครอบคลุมมากกว่า MD5 checksum เมื่อ TE แอ็คทีฟและไฟล์อยู่ในฐานข้อมูลคุณสามารถเลือกได้ ไม่ว่าจะเป็นโปรแกรมที่ทำงาน - หรือเพียงเตือนว่ามันไม่ตรงกับฐานข้อมูลนอกจากนี้ยังมีการตั้งค่าอื่น ๆ ที่สอง: TEP(เส้นทางการดำเนินการที่เชื่อถือได้) และTLP(เส้นทาง LIBrary ที่เชื่อถือได้) เฉพาะโปรแกรมใน TEP เท่านั้นที่สามารถทำงานได้ ไดเรกทอรีรวมอยู่ใน TLP ใน Linux ฉันมีบางสิ่งที่เรียกว่า 'AppArmor' ที่อาจช่วยคุณได้

