Viết Pendrive được bảo vệ trên Linux

mặt dây chuyền chống ghi

Nếu bạn có thẻ nhớ SD, ổ đĩa hoặc bất kỳ đĩa lưu trữ USB nào bạn muốn viết bảo vệ, trong bài viết này, chúng tôi sẽ cho bạn biết từng bước và cách thực hiện một cách dễ dàng. Và có một chút bảo vệ chống ghi mà một số trình điều khiển nhất định cho phép, được gọi là «ghi bit bảo vệ»Tùy thuộc vào việc nó đang hoạt động ở 1 hay 0, nó sẽ cho phép ghi vào đơn vị hay không. Không nên nhầm lẫn bit này với WP của thanh ghi cờ của CPU, ngăn chặn việc ghi đè bằng cách tạo quá trình phân nhánh trên các hệ thống giống UNIX, do đó bảo vệ bộ nhớ chính khỏi việc ghi dữ liệu. Cũng không phải tab bảo vệ điển hình mà chúng tôi tìm thấy trong một số thẻ SD hoặc phương tiện lưu trữ. Trong trường hợp này, chúng tôi đang đề cập đến một biện pháp bảo vệ được triển khai trong phương tiện lưu trữ thứ cấp.

Trong khi bộ điều khiển của phương tiện lưu trữ USB hoặc thẻ nhớ SD, hoặc bất cứ phương tiện nào, phát hiện ra rằng bit này đang hoạt động, trình điều khiển sẽ ngăn hạt nhân ra lệnh ghi và do đó nó sẽ chỉ có thể đọc nội dung. Nó chắc chắn rất thiết thực khi chúng tôi lưu trữ dữ liệu mà chúng tôi không muốn sửa đổi, ngăn chặn việc ghi hoặc xóa do nhầm lẫn. Nhưng nếu một trong những phương tiện được bảo vệ này rơi vào tay chúng tôi và chúng tôi không biết về sự tồn tại của bit này, chúng tôi có thể lãng phí hàng giờ để nghĩ rằng thiết bị của chúng tôi bị hỏng hoặc nâng và hạ tab mà một số mặt dây chuyền hoặc thẻ SD phải bảo vệ chúng mà không có bất kỳ kết quả nào. (Khóa / Mở khóa) ...

Gắn kết phương tiện chỉ đọc hoặc chỉ ghi:

Thẻ SD với tab Khóa

Mặc dù nó không phải là chính xác những gì chúng tôi đang tìm kiếm với Bit bảo vệ ghi, chúng tôi cũng có thể thấy rằng một phương tiện đã được được gắn tự động hoặc thủ công để chỉ đọc, vì vậy chúng tôi sẽ không có khả năng viết trong đó. Điều gì đó mà trong một số trường hợp có thể rất khó chịu và ngăn chúng tôi sửa đổi hoặc lưu trữ mọi thứ. Chà, giải pháp cho điều này rất đơn giản.

Bài viết liên quan:
Tắt bộ lưu trữ USB trong Linux

Ví dụ: nếu trong tệp / etc / fstab, thiết bị được cấu hình để gắn kết tự động với tùy chọn ro (chỉ đọc) hoặc nếu chúng tôi đã gắn nó bằng lệnh:

sudo mount -o ro /dev/sda /mnt

Trong trường hợp này, chúng tôi chỉ có thể đọc thiết bị / dev / sda trong trường hợp này, thiết bị đã được gắn trên điểm gắn kết / mnt. Để chúng tôi có thể viết lại cho nó:

sudo mount -o remount,rw /dev/sda /mnt

Trong trường hợp phương pháp này không hiệu quả với bạn, thì đó sẽ là bởi vì phần chúng ta đã nói đến là hành động, và đó là lý do tại sao chúng ta sẽ phải sử dụng công cụ mà chúng tôi trình bày dưới đây.

Hdparm là gì?

Đĩa cứng với các toán tử

Lệnh hdparm là một công cụ cấp thấp hoạt động như một giao diện giữa các trình điều khiển nhân Linux khác nhau và phương tiện lưu trữ SATA / PATA / SAS bằng cách sử dụng thư viện libata, cũng như cho phương tiện IDE cũ. Hãy nhớ rằng nhiều bộ điều khiển phương tiện lưu trữ USB, bao gồm đầu đọc thẻ như thẻ SD, cũng sử dụng loại bộ điều khiển này để hoạt động, do đó nó cũng tương thích với chúng.

Su cú pháp cơ bản là:

hdparm [tùy chọn] [thiết bị]

Và quà Nhiều lựa chọn làm việc với cái nào, mặc dù tôi không khuyên bạn nên sử dụng chúng nếu bạn không biết mình làm tốt những gì, vì là một công cụ cấp thấp, bạn có thể làm hỏng thiết bị của mình một cách nghiêm trọng, ví dụ như nếu chúng tôi thao tác một số tùy chọn quan trọng như -B . Nhưng tôi sẽ nói với bạn rằng trong số các tùy chọn của nó có một số tùy chọn khá thú vị như:

  • Nhận cấu hình của đĩa:
sudo hdparm /dev/sdd

  • Hiển thị nhận dạng của đĩa:
 sudo hdparm -i /dev/sdd 
  • Kiểm tra thời gian đọc bộ đệm và bộ nhớ cache:
sudo hdparm -t /dev/sdd
sudo hdparm -T /dev/sdd

Luôn nhớ sử dụng những đặc quyền, nghĩa là, chạy chúng với tư cách người dùng root hoặc đặt sudo trước mặt chúng, nếu không chúng sẽ không hoạt động ...

Xóa và đặt bit bảo vệ bộ nhớ với hdparm:

Khi công cụ hdparm được biết đến, chúng ta có thể sử dụng tùy chọn -r để kiểm tra trạng thái của bit này với một lệnh đơn giản. Để làm điều này, chúng tôi chỉ cần biết tên vật lý của thiết bị lưu trữ của chúng tôi. Ví dụ, nếu / dev / sdd được gọi, trong trường hợp đó, chúng ta có thể sử dụng:

 sudo hdparm -r /dev/sdd 

Và giá trị của bit nói trên sẽ được hiển thị trên màn hình. Nếu giá trị của nó là 1 có nghĩa là chế độ đang hoạt động chỉ đọc hoặc chỉ đọc, hay nói cách khác, phương thức chống ghi đang hoạt động và bạn sẽ không thể ghi bất cứ thứ gì vào bộ nhớ. Để hủy kích hoạt nó hoặc sửa đổi bit, bạn chỉ cần làm như sau:

sudo hdparm -r0 /dev/sdd

Và bây giờ nếu chúng ta thực hiện lệnh đầu tiên và sử dụng trạng thái, chúng ta sẽ thấy rằng nó đã trở về 0, do đó chế độ chỉ đọc bị tắt hoặc ngừng hoạt động. Trong trường hợp bạn muốn đưa nó về trạng thái hoạt động, hãy sử dụng tùy chọn -r1 thay vì -r0 và sẵn sàng. Ví dụ:

sudo hdparm -r1 /dev/sdd

Đơn giản là bật hoặc tắt bit này. Nó không quá bí ẩn nhưng đối với những người không biết điều này có thể sẽ rất đau đầu khi phải bảo vệ phương tiện lưu trữ của họ.

Tôi hy vọng nó đã giúp ích cho bạn và bây giờ bạn đã biết cách tạo một ổ đĩa chống ghi, đừng quên để lại bình luận của bạnsio


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: AB Internet Networks 2008 SL
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Thoát vị dijo

    Hello!
    Trước hết, cảm ơn vì những ghi chú! Chúng luôn rất hữu ích.

    Tôi là người dùng Debian 9.
    Trong trường hợp cụ thể này, tôi có một vấn đề mà tôi không thể giải quyết. Tôi có một cây bút "bị nhiễm" tính năng chống viết mà tôi KHÔNG THỂ Gỡ bỏ. Tôi đã nghĩ rằng đó là vật lý bởi vì tôi đã thực sự thử mọi thứ (định dạng cấp thấp trong Windows hoặc đĩa cứu hộ, sửa đổi phân vùng, v.v.) và không có gì.

    Tôi nghĩ rằng tôi sắp giải quyết được nó, khi làm theo các bước của bạn, tôi thấy rằng tính năng chống ghi của ổ bút đã được "bật", nhưng khi tôi thay đổi nó thành "tắt" tôi vẫn không thể xóa hoặc sửa đổi bất kỳ điều gì trên đó.

    Có thể là? Có cách nào khác để giải quyết vấn đề này không? (Tôi không ngại mất thông tin tôi có bên trong)

    Cảm ơn rất nhiều về sự trợ giúp của bạn.

    Thoát vị

    1.    paco dijo

      Tốt! Tôi không biết họ đã nói cho bạn giải pháp hay cuối cùng thì bạn đã giải quyết được nó, nhưng tôi cũng ở trường hợp như bạn.
      Bạn có thể tư vấn cho mình được không?
      Cám ơn rất nhiều.

  2.   ý chí salgado dijo

    lời giải thích hay

  3.   Sergio dijo

    Chào bạn, mình có cái USB hệ thống không nhận, bạn gửi thông tin giúp mình với nhé cảm ơn

    dmesg

    [83384.348839] usb 1-1: thiết bị USB tốc độ cao mới số 8 sử dụng ehci-pci
    [83384.506219] usb 1-1: Đã tìm thấy thiết bị USB mới, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
    [83384.506225] usb 1-1: Chuỗi thiết bị USB mới: Mfr = 1, Product = 2, SerialNumber = 0
    [83384.506228] usb 1-1: Sản phẩm: USB Mass Storage
    [83384.506231] usb 1-1: Hãng sản xuất: GENERIC
    [83384.506848] USB-Storage 1-1: 1.0: Đã phát hiện thấy thiết bị USB Mass Storage
    [83384.508235] scsi host5: USB-Storage 1-1: 1.0
    [83385.524951] scsi 5: 0: 0: 0: Truy cập trực tiếp Bộ lưu trữ USB THẾ HỆ TRỰC TIẾP 1.00 PQ: 0 ANSI: 2
    [83385.556757] sd 5: 0: 0: 0: Đã đính kèm scsi chung loại sg3 0
    [83385.561706] sd 5: 0: 0: 0: [sdc] Đĩa di động SCSI đính kèm

    root @ localhost: ~ # fdisk -l
    Disk / dev / sda: 698.7 GiB, 750156374016 byte, 1465149168 sector
    Các đơn vị: các thành phần của 1 * 512 = 512 byte
    Kích thước ngành (logic / vật lý): 512 byte / 4096 bytes
    Kích thước I / O (tối thiểu / tối ưu): 4096 byte / 4096 byte
    Loại đĩa: gpt
    Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC

    Thiết bị Bắt đầu Kết thúc Loại Kích thước
    / dev / sda1 2048 1050623 1048576 512M Hệ thống EFI
    / dev / sda2 1050624 49879039 48828416 23.3G Hệ thống tệp Linux
    / dev / sda3 49879040 69410815 19531776 Hệ thống tệp Linux 9.3G
    / dev / sda4 69410816 76107775 6696960 3.2G hoán đổi Linux
    / dev / sda5 76107776 80013311 3905536 Hệ thống tệp 1.9G Linux
    / dev / sda6 80013312 1465147391 1385134080 660.5G Hệ thống tệp Linux

    root @ localhost: ~ # fdisk -l / dev / sdc
    fdisk: không thể mở / dev / sdc: Không tìm thấy phương tiện nào

    root @ localhost: ~ # hdparm / dev / sdc

    / dev / sdc:
    SG_IO: dữ liệu giác quan bị lỗi / thiếu, sb []: f0 00 02 00 00 00 00 0b 00 00 00 00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    multcount = 0 (tắt)
    readonly = 0 (tắt)
    readahead = 256 (bật)

    root @ localhost: ~ # hdparm -C / dev / sdc

    / dev / sdc:
    trạng thái ổ đĩa là: chờ

    root @ localhost: ~ # hdparm -I / dev / sdc

    / dev / sdc:
    SG_IO: dữ liệu giác quan bị lỗi / thiếu, sb []: f0 00 02 00 00 00 00 0b 00 00 00 00 3a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

    Thiết bị ATA, với phương tiện không thể tháo rời
    Tiêu chuẩn:
    Có thể được sử dụng: 1
    Cấu hình:
    Dòng điện tối đa logic
    xi lanh 0 0
    đầu 0 0
    sector / track 0 0
    -
    Kích thước khu vực logic / vật lý: 512 byte
    kích thước thiết bị với M = 1024 * 1024: 0 MBytes
    kích thước thiết bị với M = 1000 * 1000: 0 MBytes
    bộ nhớ cache / kích thước bộ đệm = không xác định
    Khả năng:
    IORDY không có khả năng
    Không thể thực hiện IO từ kép
    Chuyển nhiều lĩnh vực R / W: không được hỗ trợ
    DMA: không được hỗ trợ
    IOP: pio0

  4.   khéo léo dijo

    cảm ơn sự giúp đỡ của bạn, bây giờ tôi đã có thể biết liệu usb của tôi có chống lại việc ghi hay không và tôi đã xác minh rằng nó không chống lại việc ghi vì vậy đây đã là một giải pháp định dạng cấp thấp, tôi phải nói thêm rằng vi-rút đã làm cho usb ngắt kết nối trong một phút hoặc hai và không Nó được phép hoạt động, nó không để lại thời gian vì vậy vì tôi đã biết tôi đã gán nó với tên gì, đó là "sdc" trong thiết bị đầu cuối, tôi đặt mọi thứ với tư cách là người dùng gốc.
    # dd nếu = / dev / zero | pv | dd của = / dev / sdc bs = 1 triệu ở đây bạn đợi một lát
    # dd nếu = / dev / zero | pv | dd của = / dev / sdc bs = 446 count = 1 bạn lấy ra và gắn lại usb bạn cho
    # mkfs.vfat -F 32 -n "anaconda" / dev / sdc và bạn đã hoàn tất

  5.   M.G.T. dijo

    Parabens! Một số quyển kinh mà tôi đặt ra với chủ đề này là để đưa ra một lời giải thích. Cảm ơn Moi.

  6.   Victor dijo

    Tuyệt quá. Cảm ơn rất nhiều.

  7.   iori dijo

    Cuối cùng một cái gì đó thực sự làm việc cho tôi, cảm ơn.

  8.   thôi dijo

    Xin chào, tôi có một bộ nhớ microd 16 GB ADATA loại 10

    Tôi đã làm thủ tục và nó có vẻ hoạt động, nhưng việc chèn lại nó và kiểm tra lại trạng thái sẽ đưa nó trở lại chế độ chỉ đọc.

    Tôi đã cố gắng định dạng nó nhưng nó không hoạt động. Những gì tôi có thể thấy là các tập tin của tôi.

    bất kỳ công cụ hoặc cách nào khác để giải quyết vấn đề ?.

  9.   Jose dijo

    dễ dàng và ngắn gọn, hoàn thiện tất cả các giải thích và ví dụ, nó rất hữu ích.

  10.   Miguel Ángel dijo

    Xin chào, tôi là người dùng Kali Linux trong phiên bản mới nhất của nó, tôi đã thử cả tỷ kỹ thuật (xin lỗi vì đã phóng đại) nhưng không có kỹ thuật nào mang lại cho tôi cả trong Linux lẫn Windows

  11.   danikardone dijo

    trong trường hợp của tôi, debian, bộ nhớ di động phải được ngắt kết nối….

  12.   JR dijo

    tuyệt vời, cảm ơn
    Tôi đã quản lý để khôi phục một số trích xuất quảng cáo với hướng dẫn của họ

  13.   Jero dijo

    Xin chào, nó hoạt động nhưng thư mục của người dùng khác nhau, rất tốt để làm rõ nó, nhưng tôi có một lỗi, trong lệnh nó hiển thị cho tôi rằng tôi sửa đổi nó, nhưng khi tôi muốn đặt một thư mục hoặc bất cứ thứ gì trên ổ đĩa thì nó báo tôi rằng nó được bảo vệ chống ghi. Nếu bạn có thể giúp tôi giải quyết nó, điều đó thật tuyệt. Lời chào hỏi

  14.   chim kêu dijo

    chấp nhận lệnh và hiển thị nó là không được bảo vệ, nó là r = 0, nhưng khi tôi muốn định dạng, nó cho tôi biết đã được bảo vệ. Cảm ơn bạn

  15.   William R Larreal G dijo

    Xin chào một ngày mới tốt lành. Với điều này, tôi đã không thử nhưng trong Windows, tôi đã làm mọi thứ và không có gì. Mặt dây chuyền của tôi được bảo vệ ghi, ngay cả với sudo hdparm -r / dev / sdd, nó cho giá trị 1, nhưng với sudo hdparm -r0 / dev / sdd, nó cũng không thể loại bỏ bảo vệ ghi. Cảm ơn và lời chào từ Venezuela.
    Phiên bản Linux của tôi là openSUSE Tumbleweed 15.3

  16.   Carlos AG Ramos dijo

    Thông tin quá khứ rõ ràng và đáng tin cậy. Levei giờ kiểm tra một số giải pháp và điều này, được trình bày ở đây, là giải pháp cuối cùng cho vấn đề liên quan đến việc đọc và chặn gravação.

  17.   LUIS dijo

    Đóng góp xuất sắc, mọi thứ đã diễn ra như bạn đã đề cập ... cảm ơn bạn

  18.   uziel dijo

    Cảm ơn bạn rất nhiều, rất hữu ích, điều này thường xảy ra rất nhiều trong usb, cách giải quyết rất dễ dàng và nhanh chóng.

  19.   Lorenzo dijo

    Cảm ơn bạn rất nhiều vì sự đóng góp.
    Trong trường hợp của tôi, Ubuntu 23.4 chấp nhận tất cả các lệnh nhưng không mở khóa bit bảo vệ.
    Bất cứ ý tưởng?

    lorenzo@lorenzo-B85M-D3H:~$ Sudo hdparm -r /dev/sdc
    [sudo] mật khẩu cho Lawrence:

    / dev / sdc:
    chỉ đọc = 1 (bật)
    lorenzo@lorenzo-B85M-D3H:~$ Sudo hdparm -r0 /dev/sdc

    / dev / sdc:
    đặt chỉ đọc thành 0 (tắt)
    chỉ đọc = 1 (bật)
    lorenzo@lorenzo-B85M-D3H:~$

    Cảm ơn