เนื่องจากการเข้าถึงอุปกรณ์ที่อยู่ภายใต้การควบคุมโดยสิทธิ์ของไฟล์โดยค่าเริ่มต้นดังนั้นหาก USB stick ของคุณมีระบบไฟล์ POSIX ที่มีโหนดอุปกรณ์ที่เขียนได้ทั่วโลกซึ่งสอดคล้องกับอุปกรณ์จริงในระบบคุณสามารถใช้โหนดอุปกรณ์นั้นในการเข้าถึง อุปกรณ์ในฐานะผู้ใช้ "ธรรมดา" ลองนึกภาพอุปกรณ์ที่สอดคล้องกับหนึ่งในอุปกรณ์เสียงเว็บแคมของคุณ/dev/sda
(ซึ่งเป็นอุปกรณ์บล็อกมากกว่าอุปกรณ์ตัวละคร แต่ข้อโต้แย้งนั้นเหมือนกัน) ...
นี่คือตัวอย่างที่จะทำให้สิ่งต่าง ๆ ชัดเจนขึ้น สมมติว่าคุณต้องการเข้าถึง/dev/sda
(จากนั้นคุณสามารถทำสิ่งใดก็ได้ที่คุณต้องการด้วยเนื้อหาของดิสก์รวมถึงการสร้างโปรแกรมที่จะทำให้คุณกลายroot
เป็นอุปกรณ์บล็อก แต่ปัญหาจะเหมือนกันกับอุปกรณ์ตัวอักษร) ในระบบเป้าหมายของคุณls -l /dev/sda
จะแสดง
brw-rw---- 1 root disk 8, 0 Sep 8 11:25 sda
ซึ่งหมายความว่า/dev/sda
เป็นอุปกรณ์บล็อก ( b
ที่จุดเริ่มต้นของบรรทัด) ด้วยหมายเลขหลัก 8 และหมายเลขรอง 0 ( 8, 0
ในช่วงกลางของบรรทัด) อุปกรณ์นี้สามารถเข้าถึงได้root
(อ่าน / เขียน) และสมาชิกของdisk
กลุ่มเท่านั้น (อ่าน / เขียน)
ตอนนี้คิดว่าในระบบนี้คุณไม่สามารถกลายเป็นroot
แต่ด้วยเหตุผลบางอย่างที่คุณสามารถติด USB sticks nodev
ได้เป็นผู้ใช้โดยไม่ต้อง ในระบบอื่นที่คุณอยู่root
คุณสามารถสร้างไฟล์พิเศษที่สอดคล้องกันบนคีย์ USB ของคุณ:
mknod -m 666 usersda b 8 0
สิ่งนี้จะสร้างไฟล์พิเศษที่usersda
ทุกคนเรียกว่าอ่านและเขียนได้
เมาท์กุญแจบนระบบเป้าหมายของคุณและเฮ้โอมเพี้ยงคุณสามารถใช้usersda
อุปกรณ์ได้ในลักษณะเดียว/dev/sda
กับ แต่ไม่มีข้อ จำกัด การเข้าถึง ...
(สิ่งนี้จะทำงานได้แม้กับระบบไฟล์ที่เข้ารหัสตราบใดที่คุณสามารถเข้าถึงอุปกรณ์ตัวทำแผนที่ถอดรหัส: สร้างอุปกรณ์ที่ตรงกับ/dev/mapper
รายการที่เหมาะสม)