ฉันจะปิดการใช้งานที่เก็บข้อมูล USB ได้อย่างไร


12

ฉันใช้ Ubuntu 12.04 และฉันต้องการบล็อกที่เก็บข้อมูล usb วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร?


4
เมื่อคุณบอกว่าคุณต้องการบล็อก "ที่เก็บข้อมูล usb" หมายความว่าคุณต้องการป้องกันฮาร์ดไดรฟ์ภายนอกที่ถูกเชื่อมต่อหรือคุณต้องการป้องกันอุปกรณ์ usb ใด ๆ ที่เชื่อมต่อกับเครื่องของคุณหรือไม่?
Kevin Bowen

1
ที่เกี่ยวข้อง (ต้องการการยืนยันในการทำงาน 12.04): askubuntu.com/questions/79043/disable-usb-mass-storage
Takkat

คำตอบ:


13

ใน Linux ความเสี่ยงของไวรัสมีน้อยถึงไม่มีเลยอย่างไรก็ตาม USB sticks จะติดตั้งโดยอัตโนมัติสำหรับการอ่านและเขียน มีวิธีง่าย ๆ ในการแจกจ่าย Ubuntu ล่าสุดเพื่อปิดใช้งานอุปกรณ์เก็บข้อมูล USB เพียงขึ้นบัญชีดำไดรเวอร์เคอร์เนล:

echo "blacklist usb-storage" | sudo tee -a /etc/modprobe.d/blacklist.conf

จากนั้นอัปเดต initramfs

sudo update-initramfs -u

หลังจากนั้นไม่มีใครสามารถใช้หน่วยความจำ USB ในคอมพิวเตอร์เครื่องนั้นได้ แต่ยังคงอนุญาตให้ผู้ดูแลระบบโหลดโมดูลด้วยตนเองและใช้งานได้

แหล่งที่มาอยู่ที่นี่: http://www.ossramblings.com/disabling_usb_storage_in_linux

อีกวิธีหนึ่งที่เลือกมากกว่าคือให้สังเกตว่าผู้ใช้ที่เป็นสมาชิกของกลุ่ม plugdev ได้รับอนุญาตให้เข้าถึงอุปกรณ์เก็บข้อมูลแบบเสียบได้ดังนั้นคุณสามารถลบผู้ใช้ที่คุณไม่ต้องการใช้ USB sticks จากกลุ่มนั้นได้

แหล่งที่มา: ที่นี่


สิ่งนี้จะไม่ทำงานเนื่องจากการเปลี่ยนเส้นทางดำเนินการโดยเชลล์ของผู้ใช้และไม่ได้รับผลกระทบจาก sudo คุณต้องใช้: echo "blacklist usb-storage" | sudo tee -a /etc/modprobe.d/blacklist.conf
Rory

นอกจากนี้ชื่อโมดูลคือ usb_storage ไม่ใช่ usb-storage
Rory

หลังจากเพิ่มบรรทัดนี้แล้วให้เรียกใช้ "sudo update-initramfs -u" ตาม askubuntu.com/questions/51321/…พูดว่าใช่มั้ย
Fumisky Wells

1
มันไม่ทำงานเลย, ที่เก็บข้อมูล usb หรือ usb_storage, ทั้งคู่ไม่สามารถทำงานได้ คำตอบที่ไม่ถูกต้องมันใช้งานได้
Tejaskumar Tank

3

โซลูชันได้รับการยืนยันใน Ubuntu 16.04 (เคอร์เนล 4.4.0-31-generic)

เราต้องขึ้นบัญชีดำไดรเวอร์uas (usb as scsi) พร้อมกับไดรเวอร์usb_storageในกรณีที่บัญชีดำเพียงแค่ไดรเวอร์ usb_storage ไม่ทำงานสำหรับคุณ โมดูลเคอร์เนล uas กำลังโหลด usb_storage แต่ดูเหมือนว่าไม่สนใจบัญชีดำของไดรเวอร์ usb_storage ใน modprobe.d

sudo echo -e "blacklist uas\nblacklist usb_storage" > /etc/modprobe.d/blacklist_usbdrive.conf

ตกลงวิธีแก้ปัญหาของคุณทำงานบน Ubuntu 16.04 ขอบคุณเพื่อน
clvx

2

เพียงเปลี่ยนชื่อstorageเป็นstorage-old:

mv /lib/modules/3.2.0-35-generic-pae/kernel/drivers/usb/storage /lib/modules/3.2.0-35-generic-pae/kernel/drivers/usb/storage-old

เปลี่ยน ver ของเคอร์เนล3.2.0-35-generic-paeตามที่คุณต้องการ


1
นี่เป็นวิธีแก้ปัญหาและวิธีแก้ไขที่สกปรก ในกรณีที่ดีที่สุดคุณจะได้รับคำเตือนและข้อผิดพลาดเป็น dmesg เสมอ ในกรณีที่เลวร้ายที่สุดนี้อาจทำให้เคอร์เนล oops หากโมดูลอื่น ๆ ขึ้นอยู่กับมัน
obayhan

-2

วิธีง่ายๆในการล็อกอินเป็นรูทเทอร์มินัลเปิดและพิมพ์คำสั่งต่อไปนี้

$ sudo gedit /etc/modprobe.d/blacklist.conf

มันจะขอรหัสผ่านรูทให้

จากนั้นเพิ่มบัญชีดำ USB_storage ที่บรรทัดสุดท้ายดังนี้

# really needed.
blacklist amd76x_edac
blacklist usb_storage

บันทึกและรีบูตระบบของคุณ


2
ยินดีต้อนรับสู่ถาม Ubuntu ขอขอบคุณสำหรับการแบ่งปันความรู้ อย่างไรก็ตามคำตอบของคุณไม่ได้เพิ่มโซลูชันใหม่ คุณอ่านคำตอบของ Warren Hill แล้วหรือยัง
user.dz
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.