Whatsapp

รู้บ้างบ้าบ้าง" rm

Anonim

The rm -rf เป็นคำสั่ง Bash หนึ่งคำสั่งที่คล้ายกับ DROPคำสั่ง SQL ถ้าคุณไม่มีแบบจำลอง (สำรอง) ของตารางฐานข้อมูล คุณจะสูญเสียข้อมูลทั้งหมด

rm -rf เป็นคำสั่งที่เมื่อเรียกใช้โดยไม่มีสิทธิ์ root จะลบโฟลเดอร์ทั้งหมดที่ผู้ใช้เข้าถึงได้ เมื่อเรียกใช้ด้วยสิทธิ์รูท มันจะลบฮาร์ดไดรฟ์ของคุณ

ฉันไม่ได้โชคร้ายที่รันโค้ดนี้บนเซิร์ฟเวอร์ที่ใช้งานจริงผิดพลาดมาก่อน แต่ไม่ใช่ทุกคนที่โชคดีขนาดนั้น นี่คือบางส่วนที่น่าสนใจ rm -rf เรื่องราวที่คุณอาจพบว่าเกี่ยวข้อง

1. Thomas & the CLI-based Trash Program

Thomas อยู่ในห้องทดลองของ College Unix ที่กำลังทำงานในโครงการกลางภาคซึ่งเขาเชื่อมต่อกับเซิร์ฟเวอร์ในห้องทดลองที่อยู่ติดกันโดยใช้PuTTY + RealVNC.

โครงการของเขาตรงไปตรงมา: สร้าง “ถังขยะ” โปรแกรม CLI ที่รับรายการเส้นทางไฟล์และย้ายไปยัง~/.trash ไดเรกทอรี จากนั้นคุณสามารถ “ล้างถังขยะ” ซึ่งดำเนินการ rm ในไดเร็กทอรี เขาทำส่วนแรกเสร็จแล้วและกำลังทำคำสั่งเปล่าให้เสร็จ

อย่างใดเขาตั้งค่าตัวแปรผิดซึ่งทำให้เส้นทางการลบเป็น / และเขามีสิทธิ์เข้าถึง sudo ไม่มีอะไรเกิดขึ้นเมื่อเขารันโค้ดในตอนแรก แต่ไม่นานหลังจากเกิดข้อผิดพลาดและเริ่มแสดงผลคงที่ Ctrl + C ช่วยไม่ได้ ถัดไป จอภาพว่างเปล่าและไม่ได้เชื่อมต่อ

รหัสของเขาวิ่ง sudo rm-rf / และนั่นเป็นการลบข้อมูลทั้งหมดบนเซิร์ฟเวอร์ โชคดีสำหรับ Thomas เขากำลังทำงานในเซิร์ฟเวอร์ทดสอบของแผนกและสามารถกู้คืนข้อมูลจากดิสก์สำรองข้อมูลได้ เขาไม่ได้สูญเสียการรับเข้าเรียน

2. การล้างข้อมูลให้สะอาดในระหว่างเซสชันการสำรองข้อมูล

Alex เป็นผู้ดูแลระบบเครือข่ายที่บริษัทแห่งหนึ่งที่สำรองข้อมูลเครื่องของตนผ่านสคริปต์ ในโชคชะตา วันศุกร์ เขาอัปเกรดสคริปต์ด้วยข้อความ rm -rf ${DIRECTERY}/ แทน rm -rf ${DIRECTORY}/ – ทำให้คำสั่งอัปเดตเป็นเพียง rm-rfเนื่องจาก ${DIRECTERY} กลายเป็นสตริงว่าง

เซสชันการสำรองข้อมูลเริ่มขึ้นในคืนนั้น และก่อนที่ Alex จะรู้ตัว เครื่องทั้งหมดบนเครือข่ายก็ถูกล้างข้อมูลทั้งหมด! โชคดีสำหรับเขาที่บริษัทสำรองไฟล์ทุก ๆ ชั่วโมง จึงไม่เกิดความเสียหายมากนักอย่างไรก็ตาม มันเป็นวันหยุดสุดสัปดาห์ที่วุ่นวาย ค่อนข้างน่าขันที่งานสำรองข้อมูลจะล้างระบบทั้งหมดใช่ไหม

3. ตัวล้างแบบวนซ้ำอัตโนมัติ

ครั้งหนึ่ง Eric กำลังทำงานบนเซิร์ฟเวอร์ไฟล์และต้องการล้างไฟล์บางไฟล์โดยอัตโนมัติทุกๆ สัปดาห์ เขาวางแผนสายงานและทดสอบโดยมีจุดประสงค์เพื่อลบเฉพาะไฟล์ที่ค่อนข้างเก่า งานของเขาอยู่ในไดเร็กทอรีเดียว ดังนั้นเขาจึงไม่คิดว่าจะมีอะไรผิดพลาด ต่อมาเขาพบว่าเขาเดาผิด

เขารันคำสั่งต่อไปนี้และใช้งานได้ จากนั้น เขาเพิ่มบรรทัดใน crontab ด้วยตนเอง และนั่นคือตอนที่เขาแทนที่ . ด้วย / ด้วย / .

 หา . -type f -name-ctime -60 -exec rm -rf {} \;

กรอไปข้างหน้าอย่างรวดเร็วในหนึ่งสัปดาห์ต่อมา และไฟล์จำนวนมากหายไป ที่แย่กว่านั้นคือพวกเขาถูกลบโดยที่ดูเหมือนจะเป็นรูปแบบสุ่ม ดังนั้นเขาจึงคิดว่าบริษัทกำลังถูกแฮ็ก จนกระทั่งเมื่อเขาตรวจสอบรหัสและรู้ว่าเขาคือแฮ็กเกอร์

โชคดีที่เขาสำรองข้อมูลภายนอกไว้ทุกวัน ดังนั้นเขาจึงสามารถแก้ไขข้อผิดพลาดของเขาได้ ตั้งแต่วันนั้น คุณพนันได้เลยว่าเขาระมัดระวังอย่างมากกับคำสั่งที่เขาเรียกใช้ด้วยสิทธิ์ของผู้ดูแลระบบ

ประเด็นหลัก 2 ประการที่มีอยู่ในเรื่องราวข้างต้นคือ 1 ตรวจสอบรหัสของคุณอีกครั้งและผลที่เป็นไปได้เสมอ และ 2 สำรองข้อมูลของคุณให้เป็นปัจจุบันที่สุดเสมอ เพราะคุณไม่มีทางรู้ว่าเมื่อใด พวกเขาจะมีประโยชน์

รู้บ้าอะไร rm -rfเรื่องเล่าจากประสบการณ์หรือที่อื่น แบ่งปันกับเราในส่วนความคิดเห็น