Написати захищений Pendrive на Linux

захищений від запису pendrive

Якщо у вас є карта пам'яті 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

Завжди пам’ятайте про використання привілеї, тобто запустіть їх як кореневого користувача або поставте перед ними 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 ...


Залиште свій коментар

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

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Ернан - сказав він

    Здрастуйте!
    Перш за все, дякую за нотатки! Вони завжди дуже корисні.

    Я користувач Debian 9.
    У цьому конкретному випадку у мене є проблема, яку я не можу вирішити. У мене є "заражена" ручка із захистом від запису, яку Я НЕ МОЖУ видалити. Я вже думаю, що це фізично, тому що я чесно спробував все (аж до низькорівневого форматування в Windows або до рятувальних дисків, модифікації розділів тощо) і нічого.

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

    Що може бути? Чи є інший спосіб вирішити це? (Я не проти втратити інформацію, яку маю всередині)

    Заздалегідь дякую за допомогу.

    Ернан

    1.    Пако - сказав він

      Добре! Я не знаю, чи сказали вони вам рішення, чи врешті-решт ви його вирішили, але я в тій самій справі, що і ви.
      Ви можете мені порадити?
      Велике спасибі.

  2.   Willians Salgado - сказав він

    гарне пояснення

  3.   Sergio - сказав він

    Привіт, у мене є 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-сховище 1-1: 1.0: виявлено USB-накопичувач
    [83384.508235] scsi host5: usb-storage 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: Прикріплений загальний ssi тип sg3 0
    [83385.561706] sd 5: 0: 0: 0: [sdc] Вкладений знімний диск SCSI

    root @ localhost: ~ # fdisk -l
    Диск / dev / sda: 698.7 GiB, байти 750156374016, сектори 1465149168
    Одиниці: сектори 1 * 512 = байти 512
    Розмір сектора (логічний / фізичний): байти 512 / байти 4096
    Розмір вводу-виводу (мінімальний / оптимальний): байти 4096 / 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 9.3G файлова система Linux
    / dev / sda4 69410816 76107775 6696960 3.2G обмін Linux
    / dev / sda5 76107776 80013311 3905536 1.9G файлова система Linux
    / dev / sda6 80013312 1465147391 1385134080 660.5G файлова система Linux

    root @ localhost: ~ # fdisk -l / dev / sdc
    fdisk: не вдається відкрити / dev / sdc: Носій не знайдено

    root @ localhost: ~ # hdparm / dev / sdc

    / dev / sdc:
    SG_IO: погані / відсутні дані про сенс, sb []: f0 00 02 00 00 00 00 0 00 00 00 00 3 00a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    multcount = 0 (вимкнено)
    тільки для читання = 0 (вимкнено)
    читання = 256 (увімкнено)

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

    / dev / sdc:
    стан диска: очікування

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

    / dev / sdc:
    SG_IO: погані / відсутні дані про сенс, sb []: f0 00 02 00 00 00 00 0 00 00 00 00 3 00a 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" в терміналі, я помістив все як кореневий користувач.
    # dd, якщо = / dev / нуль | pv | dd = = dev / sdc bs = 1M тут ви почекаєте деякий час
    # dd, якщо = / dev / нуль | pv | dd = = dev / sdc bs = 446 count = 1 ви виймаєте і знову ставите USB, який ви даєте
    # mkfs.vfat -F 32 -n "anaconda" / dev / sdc, і все готово

  5.   MGT - сказав він

    Парабени! Кілька вольт, які я приділяю цій темі, - це дати пояснення. Вдячний Мой.

  6.   Віктор - сказав він

    Чудово. Дякую.

  7.   Іорі - сказав він

    Нарешті, щось, що справді спрацювало для мене, дякую.

  8.   Cesar - сказав він

    Здравствуйте, у мене є 16 ГБ пам'яті ADATA категорії 10 мкс

    Я зробив процедуру, і вона, здається, працює, але повторна вставка та перевірка стану повертає її лише для читання.

    Я намагався відформатувати його, але це не працює. Я бачу свої файли.

    будь-який інший інструмент або спосіб вирішення проблеми?

  9.   Хосе - сказав він

    легко та стисло, довершив усі пояснення та приклади, це було дуже корисно.

  10.   Мікеланджело - сказав він

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

  11.   данікардон - сказав він

    у моєму випадку, debian, знімна пам'ять повинна бути відключена….

  12.   JR - сказав він

    щиро дякую
    Мені вдалося відновити кілька рекламних витягів з їх інструкціями

  13.   Jero - сказав він

    Привіт, це працює, але папка користувача змінюється, було б непогано це пояснити, але у мене помилка, в команді вона показує мені, що я її модифікую, але коли я хочу помістити папку або що-небудь на маятник, це повідомляє мені що це захищено від запису. Якщо ви можете допомогти мені вирішити це, це було б чудово. Привітання

  14.   оріель - сказав він

    приймає команду і показує її незахищеною, це r = 0, але коли я хочу відформатувати, вона повідомляє мені захищений. Дякую

  15.   Вільям Р Ларреал Г. - сказав він

    Привіт добрий день. З цим я не пробував, але в Windows я зробив все і нічого. Мій pendrive захищений від запису, навіть з sudo hdparm -r / dev / sdd він дає значення 1, але з sudo hdparm -r0 / dev / sdd він також не може зняти захист від запису. Подяки та вітання від Венесуели.
    Моя версія Linux - openSUSE Tumbleweed 15.3

  16.   Карлос А. Г. Рамос - сказав він

    Минула інформація з ясністю та достовірністю. Години Levei випробовують певну кількість рішень, і це, представлене тут, є остаточним для проблеми, що підлягає зчитуванню та блокуванню gravação.

  17.   LUIS - сказав він

    Відмінний внесок, все вийшло так, як ви сказали ... дякую

  18.   узіель - сказав він

    Дуже дякую, дуже корисно, зазвичай таке трапляється в usb, рішення просте і швидке.

  19.   Лоренцо - сказав він

    Дуже дякую за внесок.
    У моєму випадку Ubuntu 23.4 приймає всі команди, але не розблоковує біт захисту.
    Будь-які ідеї?

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

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

    / dev / sdc:
    встановлення лише для читання значення 0 (вимкнено)
    лише для читання = 1 (увімкнено)
    lorenzo@lorenzo-B85M-D3H:~$

    Грекіас