ด้วย tar ของ GNU มันเป็นเรื่องง่าย
tar -xvf untrusted_file.tar
ในไดเรกทอรีว่าง GNU tar โดยอัตโนมัติแถบชั้นนำ/ชื่อสมาชิกเมื่อแยกเว้นแต่อย่างชัดเจนไม่ได้บอกอย่างอื่นที่มีตัวเลือก--absolute-names GNU tar ยังตรวจพบเมื่อการใช้งาน../จะทำให้ไฟล์ถูกแตกออกจากไดเรกทอรีระดับบนสุดและวางไฟล์เหล่านั้นในไดเรกทอรีระดับบนสุดแทนเช่นส่วนประกอบfoo/../../bar/quxจะถูกแยกเช่นเดียวกับbar/quxในไดเรกทอรีระดับบนสุดแทนที่จะbar/quxเป็นหลักของไดเรกทอรีระดับบนสุด . GNU tar ยังดูแลการเชื่อมโยงสัญลักษณ์ที่ชี้อยู่นอกไดเรกทอรีระดับบนสุดเช่นfoo -> ../..และfoo/barจะไม่barถูกแยกออกนอกไดเรกทอรีระดับบนสุด
โปรดทราบว่าสิ่งนี้ใช้ได้เฉพาะกับ (GNU tar รุ่นล่าสุดอย่างเพียงพอ) (เช่นเดียวกับการใช้งานอื่น ๆ เช่น * BSD tar และ BusyBox tar) การใช้งานอื่น ๆ บางอย่างไม่มีการป้องกันดังกล่าว
เนื่องจากลิงก์สัญลักษณ์การป้องกันที่คุณใช้จะไม่เพียงพอ: ไฟล์เก็บถาวรอาจมีลิงก์สัญลักษณ์ที่ชี้ไปยังไดเรกทอรีภายนอกต้นไม้และแยกไฟล์ในไดเรกทอรีนั้น ไม่มีวิธีใดที่จะแก้ปัญหานั้นตามชื่อสมาชิกอย่างแท้จริงคุณต้องตรวจสอบเป้าหมายของลิงก์สัญลักษณ์
โปรดทราบว่าหากคุณกำลังแยกไปยังไดเรกทอรีที่มีลิงก์สัญลักษณ์อยู่แล้วการรับประกันอาจไม่ถูกระงับอีกต่อไป