Защищенный от записи Pendrive в Linux

защищенный от записи флеш-накопитель

Если у вас есть карта памяти SD, флешка или любой USB-накопитель, который вы хотите защита от записи, в этой статье мы шаг за шагом и простым способом расскажем, как это сделать. И есть небольшая защита от записи, которую позволяют некоторые драйверы, известная как «бит защиты от записи»В зависимости от того, активен ли он на 1 или 0, он разрешит запись в устройство или нет. Этот бит не следует путать с WP регистров флагов ЦП, которые предотвращают перезапись, создавая процесс разветвления в UNIX-подобных системах, тем самым защищая основную память от записи данных. Как и типичная вкладка защиты, которую мы находим на некоторых SD-картах или носителях. В данном случае мы имеем в виду защиту, реализованную на вторичном носителе.

Пока контроллер носитель информации USB- или SD-карта памяти или что-то еще, обнаружив, что этот бит активен, драйвер не позволит ядру упорядочить порядок записи, и поэтому он сможет только читать содержимое. Это, безусловно, очень практично, когда мы храним данные, которые мы не хотим изменять, избегая записи или удаления по ошибке. Но если один из этих защищенных носителей попал в наши руки, и мы не знаем о существовании этого бита, мы могли бы потратить часы, думая, что наше устройство повреждено, или поднимать и опускать язычок, который должны защищать некоторые флеш-накопители или SD-карты. их безрезультатно. (Заблокировать / Разблокировать) ...

Смонтируйте носитель только для чтения или только для записи:

SD-карта с вкладкой Lock

Хотя это не совсем то, что мы ищем с битом защиты от записи, мы также можем обнаружить, что носитель был автоматически или вручную монтируется только для чтения, поэтому у нас не будет возможности писать в нем. Что-то, что в некоторых случаях может очень раздражать и мешать нам изменять или сохранять вещи. Что ж, решение этого очень простое.

Теме статьи:
Отключить USB-накопитель в Linux

Например, если в файле / etc / fstab устройство настроено на автоматическое монтирование с опцией ro (только чтение) или если мы смонтировали его с помощью команды:

sudo mount -o ro /dev/sda /mnt

В таком случае мы можем читать только устройство / dev / sda, в этом случае оно было смонтировано в точке монтирования / mnt. Чтобы мы могли написать ему еще раз:

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

Если этот метод вам не подходит, то это произойдет потому, что то, о чем мы говорили, действует, и поэтому нам придется использовать инструмент, который мы представляем ниже.

Что такое hdparm?

Жесткий диск с операторами

Команда hdparm - это инструмент низкого уровня который действует как интерфейс между различными драйверами ядра Linux и носителями SATA / PATA / SAS с использованием библиотеки libata, а также для старых носителей IDE. Помните, что многие контроллеры USB-накопителей, включая устройства чтения карт, такие как SD-карты, также используют этот тип контроллера для работы, поэтому он также совместим с ними.

Su основной синтаксис это:

hdparm [параметры] [устройство]

И подарки много вариантов с которыми работать, хотя я не рекомендую вам использовать их, если вы не знаете, что у вас хорошо получается, поскольку, будучи инструментом низкого уровня, вы можете серьезно повредить свое устройство, например, если мы манипулируем некоторыми критическими параметрами, такими как -B. Но я вам скажу, что среди его вариантов есть такие довольно интересные, как:

  • Получите конфигурация диска:
sudo hdparm /dev/sdd

  • Показать идентификация диска:
 sudo hdparm -i /dev/sdd 
  • Проверьте время чтения буфера и кеша:
sudo hdparm -t /dev/sdd
sudo hdparm -T /dev/sdd

Всегда не забывайте использовать привилегии, то есть запустите их как пользователь root или поставьте sudo впереди, иначе они не будут работать ...

Удалите и установите бит защиты памяти с помощью hdparm:

Как только инструмент hdparm известен, мы можем использовать параметр -r, с помощью которого мы можем проверить состояние этого бита. с простой командой. Для этого нам нужно только знать физическое имя нашего запоминающего устройства. Например, если был вызван / dev / sdd, в этом случае мы могли бы использовать:

 sudo hdparm -r /dev/sdd 

И значение этого бита будет показано на экране. Если его значение равно 1, это означает, что режим активен. только для чтения или только для чтения, или, другими словами, активен метод защиты от записи, и вы не сможете ничего записать в память. Чтобы отключить его или изменить бит, вам просто нужно сделать следующее:

sudo hdparm -r0 /dev/sdd

И теперь, если мы выполним первую команду и потребляем состояние, мы увидим, что оно вернулось к 0, поэтому режим только для чтения выключен или деактивирован. Если вы хотите вернуть его в активное состояние, воспользуйтесь опцией -r1 вместо -r0 и готово. Например:

sudo hdparm -r1 /dev/sdd

Это просто включить или отключить этот бит. В этом нет особой загадки, но для тех, кто этого не знает, это может стать головной болью, когда дело доходит до снятия защиты с их носителей.

Надеюсь, это помогло вам, и теперь вы знаете, как сделать флешку с защитой от записи, не забывайте оставьте свой комментарийs ...


20 комментариев, оставьте свой

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Эрнан сказал

    Привет!
    Прежде всего, спасибо за заметки! Они всегда очень полезны.

    Я пользователь Debian 9.
    В этом конкретном случае у меня есть проблема, которую я не могу решить. У меня «зараженная» ручка с защитой от записи, которую я НЕ МОГУ удалить. Я уже думаю, что это физически, потому что я честно перепробовал все (вплоть до низкоуровневого форматирования в Windows или аварийных дисков, изменения разделов и т. Д.) И ничего.

    Я думал, что собираюсь решить эту проблему, когда следуя вашим шагам, я обнаружил, что защита от записи флеш-накопителя была «включена», но как только я изменил ее на «выключено», я все еще не могу удалить или изменить что-либо на нем.

    Что может быть? Есть ли другой способ решить эту проблему? (Я не против потерять информацию, которая у меня есть внутри)

    Спасибо заранее за вашу помощь.

    Эрнан

    1.    Пако сказал

      Привет хорошо! Я не знаю, сказали ли они вам решение или в конце концов вы его решили, но я в том же случае, что и вы.
      Вы можете мне посоветовать?
      Большое спасибо.

  2.   Виллианс Сальгадо сказал

    хорошее объяснение

  3.   Серхио сказал

    Здравствуйте, у меня есть USB, который система не распознает, я отправляю вам информацию, если вы можете мне помочь, спасибо

    dmesg

    [83384.348839] usb 1-1: новое высокоскоростное USB-устройство номер 8 с использованием ehci-pci
    [83384.506219] usb 1-1: найдено новое USB-устройство, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
    [83384.506225] usb 1-1: строки нового USB-устройства: Mfr = 1, Product = 2, SerialNumber = 0
    [83384.506228] usb 1-1: Продукт: USB-накопитель
    [83384.506231] usb 1-1: Производитель: GENERIC
    [83384.506848] usb-storage 1-1: 1.0: обнаружено запоминающее устройство USB.
    [83384.508235] scsi host5: USB-хранилище 1-1: 1.0
    [83385.524951] scsi 5: 0: 0: 0: GENERIC USB Mass Storage с прямым доступом 1.00 PQ: 0 ANSI: 2
    [83385.556757] sd 5: 0: 0: 0: прикрепленный общий scsi тип sg3 0
    [83385.561706] sd 5: 0: 0: 0: [sdc] Прикрепленный съемный диск SCSI

    корень @ localhost: ~ # fdisk -l
    Диск / dev / sda: 698.7 ГиБ, 750156374016 байт, 1465149168 секторов
    Единицы: секторы 1 * 512 = 512 байты
    Размер сектора (логический / физический): байты 512 / 4096
    Размер ввода / вывода (минимальный / оптимальный): 4096 bytes / 4096 байт
    Тип разборки: gpt
    Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC

    Устройство Начало Конечные секторы Размер Тип
    / dev / sda1 2048 1050623 1048576 512M система EFI
    / dev / sda2 1050624 49879039 48828416 23.3G Файловая система Linux
    / dev / sda3 49879040 69410815 19531776 Файловая система Linux 9.3 ГБ
    / dev / sda4 69410816 76107775 6696960 3.2G Linux подкачки
    / dev / sda5 76107776 80013311 3905536 1.9G Файловая система Linux
    / dev / sda6 80013312 1465147391 1385134080 660.5 ГБ Файловая система Linux

    корень @ localhost: ~ # fdisk -l / dev / sdc
    fdisk: не удается открыть / dev / sdc: носитель не найден

    корень @ localhost: ~ # hdparm / dev / sdc

    / dev / sdc:
    SG_IO: неверные / отсутствующие данные считывания, 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
    multcount = 0 (выкл.)
    readonly = 0 (выкл.)
    readahead = 256 (вкл.)

    корень @ localhost: ~ # hdparm -C / dev / sdc

    / dev / sdc:
    состояние привода: режим ожидания

    корень @ localhost: ~ # hdparm -I / dev / sdc

    / dev / sdc:
    SG_IO: неверные / отсутствующие данные считывания, 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

    Устройство ATA с несъемным носителем
    Стандарты:
    Вероятно, используется: 1
    Конфигурация:
    Логический максимальный ток
    цилиндры 0 0
    головы 0 0
    секторов / дорожка 0 0
    -
    Размер логического / физического сектора: 512 байт
    размер устройства с M = 1024 * 1024: 0 МБ
    размер устройства с M = 1000 * 1000: 0 МБ
    размер кеша / буфера = неизвестен
    Возможности:
    IORDY вряд ли
    Невозможно выполнить ввод-вывод с двойным словом
    Многосекторная передача R / W: не поддерживается
    DMA: не поддерживается
    ВГД: pio0

  4.   ловкость сказал

    спасибо за вашу помощь, теперь я смог узнать, был ли мой usb против записи, и я убедился, что он не против записи, так что это уже низкоуровневое решение для форматирования, я должен добавить, что вирус отключил usb за минуту или два, и он не позволял действовать, это не оставляло времени, так как я уже знал, с каким именем я его назначил, которое было «sdc» в терминале, я поместил все как пользователь root.
    # dd if = / dev / zero | pv | dd of = / dev / sdc bs = 1M здесь вы подождите немного
    # dd if = / dev / zero | pv | dd of = / dev / sdc bs = 446 count = 1 вынимаете и снова вставляете usb, который вы даете
    # mkfs.vfat -F 32 -n "anaconda" / dev / sdc и готово

  5.   MGT сказал

    Парабены! Ряд вольт, которые я использую для этого предмета, должен дать дополнительное объяснение. Спасибо, мои.

  6.   Виктор сказал

    Большой. Большое спасибо.

  7.   Иори сказал

    Наконец то, что действительно сработало для меня, спасибо.

  8.   прекращаться сказал

    Здравствуйте, у меня есть память микросд ADATA категории 16 объемом 10 ГБ

    Я выполнил процедуру, и она, похоже, работает, но повторная вставка и повторная проверка состояния возвращают его в режим только для чтения.

    Я пытался отформатировать его, но это не сработало. Я вижу свои файлы.

    какой-либо другой инструмент или способ решения проблемы ?.

  9.   Хосе сказал

    легко и кратко, безупречно все объяснения и примеры, это было очень полезно.

  10.   Мигель Анхель сказал

    Здравствуйте, я пользователь Kali Linux в последней версии, я уже испробовал миллиард техник (извините за преувеличение), но ни один из них не дает мне ни в Linux, ни в Windows

  11.   Даникардоне сказал

    в моем случае, debian, съемная память должна быть размонтирована….

  12.   JR сказал

    отлично, спасибо
    Мне удалось восстановить несколько рекламных выдержек с их инструкциями

  13.   Jero сказал

    Здравствуйте, это работает, но папка пользователя меняется, было бы хорошо ее уточнить, но у меня есть ошибка, в команде она показывает мне, что я ее изменяю, но когда я хочу поместить папку или что-то еще на флешку, она сообщает мне, что он защищен от записи. Если вы поможете мне решить эту проблему, это будет здорово. Привет

  14.   эркер сказал

    принимает команду и показывает ее как незащищенную, это r = 0, но когда я хочу отформатировать, он сообщает мне, что она защищена. Спасибо

  15.   Уильям Р. Ларреаль Дж. сказал

    Привет добрый день. С этим я не пробовал, но в Windows я сделал все и ничего. Мой флеш-накопитель защищен от записи, даже с sudo hdparm -r / dev / sdd он дает значение 1, но с sudo hdparm -r0 / dev / sdd он также не может удалить защиту от записи. Спасибо и привет из Венесуэлы.
    Моя версия для Linux - openSUSE Tumbleweed 15.3

  16.   Карлос А.Г. Рамос сказал

    Прошлая информация с ясностью и надежностью. Левей часов тестирует некоторое количество решений, и это, представленное здесь, является окончательным для проблемы, подлежащей чтению и блокировке gravação.

  17.   ЛУИС сказал

    Отличный вклад, все получилось, как вы упомянули ... спасибо

  18.   Узиэль сказал

    Спасибо большое, очень полезно, в usb такого часто бывает, решение простое и быстрое.

  19.   Лоренцо сказал

    Большое спасибо за вклад.
    В моем случае Ubuntu 23.4 принимает все команды, но не снимает бит защиты.
    Любые идеи?

    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r /dev/sdc
    [sudo] пароль для лоуренса:

    / dev / sdc:
    только для чтения = 1 (включено)
    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r0 /dev/sdc

    / dev / sdc:
    установка только для чтения на 0 (выкл.)
    только для чтения = 1 (включено)
    лоренцо@лоренцо-B85M-D3H:~$

    спасибо