มีวิธีการตรวจสอบสิ่งที่คุณกำลังดำเนินการจากสคริปต์ทุบตีจริง ๆ ?
บอกว่าทุบตีสคริปต์ของคุณจะถูกเรียกหลายคำสั่ง (ตัวอย่างเช่น: 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' ที่อาจช่วยคุณได้