Pendrive protegit contra escriptura en Linux

pendrive protegit contra escriptura

Si tens una targeta de memòria SD, pendrive o qualsevol disc d'emmagatzematge USB que vols protegir d'escriptura, En aquest article t'expliquem pas a pas i de forma fàcil com fer-ho. I és que hi ha un bit d'protecció antiescritura que permeten certs controladors, el conegut com «bit de protecció contra escriptura»Que segons estigui actiu a 1 oa 0 deixarà escriure a la unitat o no. Cal no confondre aquest bit amb el WP dels registres de bandera de les CPU, que eviten la sobre escriptura creant un procés de bifurcació o fork en els sistemes tipus UNIX, protegint així la memòria principal d'una escriptura de dades. Tampoc a la típica pestanya de protecció que trobem en algunes targetes SD o meodios d'emmagatzematge. En aquest cas ens estem referint a una protecció que s'implementa en els mitjans d'emmagatzematge secundari.

Mentre el controlador de l' mitjà d'emmagatzematge USB o de la targeta de memòria SD, o el mitjà que sigui, detecti que aquest bit està actiu, el controlador impedirà que el nucli ordeni una ordre d'escriptura i per tant només podrà llegir-li el contingut. Certament resulta molt pràctic quan emmagatzemem dades que no volem que siguin modificats, fent que s'evitin escriptures o eliminació per error. Però si ha caigut a les nostres mans un d'aquests mitjans protegits i no coneixem de l'existència d'aquest bit, podrem perdre hores pensant que la nostra unitat està espatllada, o pujant i baixant la pestanyeta que tenen alguns pendrives o targetes SD per protegir-los sense cap resultat (Lock / Unlock) ...

Muntar un mitjà de solament lectura o amb permís d'escriptura:

Targeta SD amb pestanya Lock

Encara que no sigui exactament el que busquem amb el Write Protection Bit, també ens podem trobar amb que un mitjà ha estat muntat de forma automàtica o manual per només lectura, De manera que no tindrem la capacitat d'escriure en ell. Una cosa que en alguns casos pot resultar molt molest i impedir-nos modificar o emmagatzemar coses. Doncs bé, la solució a això és molt senzilla.

Article relacionat:
Deshabilitar l'emmagatzematge USB en Linux

Per exemple, si en el fitxer / etc / fstab el dispositiu està configurat perquè es munti de manera automàtica amb l'opció ro (només lectura) o si ho hem muntat amb la comanda:

sudo mount -o ro /dev/sda /mnt

En aquest cas només podem llegir el dispositiu / dev / sda en aquest cas que ha estat muntat en el punt de muntatge / mnt. Perquè puguem tornar a escriure-hi:

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

En el cas que aquest mètode no et funcioni, Llavors serà perquè està actuant el bit de què hem parlat, i per això haurem de fer servir l'eina que et presentem a continuació.

Què és hdparm?

Disc dur amb operaris

la comanda hdparm és una eina a baix nivell que actua com una interfície entre diversos controladors de el nucli Linux i els mitjans d'emmagatzematge SATA / POTA / SAS mitjançant la biblioteca libata, així com per als vells mitjans IDE. Recorda que molts controladors USB de mitjans d'emmagatzematge, inclosos els lectors de targetes com les SD, també fan servir aquest tipus de contorladores per operar, per tant també és compatible amb ells.

Su sintaxi bàsica és:

hdparm [opcions] [dispositiu]

I presenta moltes opcions amb les que treballar, encara que no et recomano que les facis servir si no coneixes bé el que fas, ja que a l'ésser una eina a baix nivell podries danyar seriosament la teva dispostivio, per exemple si manipulem algunes opcions crítiques com -B. Però sí que et diré que entre les seves opcions es troben algunes força interessants com:

  • obtenir la configuració del disc:
sudo hdparm /dev/sdd

  • mostrar la identificació del disc:
 sudo hdparm -i /dev/sdd 
  • Comprovar temps de lectura de la memòria intermèdia i de la memòria cau:
sudo hdparm -t /dev/sdd
sudo hdparm -T /dev/sdd

Recorda sempre fer servir els privilegis, És a dir, executar-los com a usuari root o anteposant sudo davant o no funcionaran ...

Treure i posar el bit de protecció de la memòria amb hdparm:

Un cop coneguda l'eina hdparm, podem usar l'opció -r amb la qual podem consutlar l'estat d'aquest bit amb un simple comandament. Per a això, tan sols hem de conèixer el nom físic del nostre dispositiu d'emmagatzematge. Per exemple, si es cridés / dev / sdd, en aquest cas podríem utilitzar:

 sudo hdparm -r /dev/sdd 

I se'ns mostrarà en pantalla el valor d'aquest bit. Si el seu valor és 1 això vol dir que està actiu el mode Llegeix només o només de lectura, o dit d'una altra manera, el mètode de protecció contra escriptura està actiu i no podràs escriure res a la memòria. Per desactivar-o modificar el bit, tan sols has de fer el següent:

sudo hdparm -r0 /dev/sdd

I ara si ejecutásemos la primera ordre i consutamos l'estat veurem que ha tornat a 0, per tant la manera readonly està off o desactivat. En cas de voler-tornar a l'estat d'actiu, fa servir l'opció -r1 en comptes de -r0 i llest. Per exemple:

sudo hdparm -r1 /dev/sdd

Així de senzill és activar o desactivar aquest bit. No té massa misteri però per als que no coneguin això pot ser un maldecap a l'hora de desprotegir els seus mitjans d'emmagatzematge.

Espero que t'hagi servit d'ajuda i ara sàpigues com fer un pendrive protegit contra escriptura, no oblidis deixar les teves comentaris ...


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Hernán va dir

    Hola!
    Primer de tot, gràcies per les notes! Són sempre de molta utilitat.

    Sóc usuari de Debian 9.
    En aquest cas en particular, tinc un problema que no puc resoldre. Tinc un pen «infectat» amb una protecció d'escriptura que NO la puc treure. Ja estic pensant que és una cosa física perquè sincerament he intentat de tot (fins formatacions de baix nivell en Windows o discs de rescat, modificar les particions, etc.) i res.

    Vaig creure que vaig estar a punt de resoldre-ho, quan els vostres passos, em vaig trobar que la protecció d'escriptura de l'pendrive estava en «on», però una vegada que ho vaig canviar a «off» segueixo sense poder esborrar o modificar res en ell.

    Que podrà ser? Hi ha alguna altra manera de resoldre això? (No m'importa perdre la info que tinc dins)

    Des de ja mil gràcies per la teva ajuda.

    Hernán

    1.    paco va dir

      Bones! No sé si et van dir la solució o a l'final el vas resoldre, però jo estic en el mateix cas que tu.
      Pots aconsellar?
      Moltes gràcies.

  2.   Willians salgado va dir

    bona la explicació

  3.   Sergio va dir

    Hola tinc un USB que el sistema no reconeix, et envio la informació si pots ajudar-me gràcies

    dmesg

    [83384.348839] usb 1-1: new high-speed USB device number 8 using EHCI-pci
    [83384.506219] usb 1-1: New USB device found, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
    [83384.506225] usb 1-1: New USB device strings: MFR = 1, Product = 2, SerialNumber = 0
    [83384.506228] usb 1-1: Producte: USB Mass Storage
    [83384.506231] usb 1-1: Fabricant: GENERIC
    [83384.506848] usb-storage 1-1: 1.0: USB Mass Storage device detected
    [83384.508235] scsi host5: usb-storage 1-1: 1.0
    [83385.524951] scsi 5: 0: 0: 0: Direct-Access GENERIC USB Mass Storage 1.00 PQ: 0 ANSI: 2
    [83385.556757] sd 5: 0: 0: 0: Attached SCSI generic SG3 type 0
    [83385.561706] sd 5: 0: 0: 0: [sdc] Attached SCSI una arrencada amb disk

    root @ localhost: ~ # fdisk -l
    Disk / dev / sda: 698.7 GiB, 750156374016 bytes, 1465149168 sectors
    Unitats: sectors de 1 * 512 = 512 bytes
    Mida del sector (lògica / física): 512 bytes / 4096 bytes
    Mida d'E / S (mínim / òptim): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC

    Device Start End Sectors Size Type
    / Dev / sda1 2048 1050623 1048576 512M EFI System
    / Dev / sda2 1050624 49879039 48828416 23.3G Linux filesystem
    / Dev / sda3 49879040 69410815 19531776 9.3G Linux filesystem
    / Dev / sda4 69410816 76107775 6696960 3.2G Linux swap
    / Dev / sda5 76107776 80013311 3905536 1.9G Linux filesystem
    / Dev / sda6 80013312 1465147391 1385134080 660.5G Linux filesystem

    root @ localhost: ~ # fdisk -l / dev / sdc
    fdisk: can not open / dev / sdc: No medium found

    root @ localhost: ~ # hdparm / dev / sdc

    / Dev / sdc:
    SG_IO: bad / missing sense data, 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 (off)
    readonly = 0 (off)
    readahead = 256 (on)

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

    / Dev / sdc:
    drive state is: standby

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

    / Dev / sdc:
    SG_IO: bad / missing sense data, 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

    ATA device, with non-arrencada amb mitjà
    Normes:
    Probablement utilitzat: 1
    configuració:
    Logical max current
    cylinders 0 0
    heads 0 0
    sectors / track 0 0
    -
    Logical / Physical Sector size: 512 bytes
    device size with M = 1024 * 1024: 0 MBytes
    device size with M = 1000 * 1000: 0 MBytes
    cache / memòria intermèdia size = unknown
    Capacitats:
    IORDY no és probable
    Can not perform double-word IO
    R / W múltiple sector transfer: not supported
    DMA: no supported
    PIO: pio0

  4.   destre va dir

    gràcies per la teva ajuda, ara vaig poder saber si el meu usb estava contra escriptura i vaig verificar que no estava contraescritura llavors això ja és una solució de format a baix nivell, he afegir que el virus cap a que en un minut o dos el usb es desconnecti i no permetia fer actuar, no deixava temps així que com ja sàvia amb que nom li asiganaba que era «sdc» a la terminal vaig posar i tot com a usuari root.
    # Dd if = / dev / zero | pv | dd of = / dev / sdc bs = 1M aqui esperes una bona estona
    # Dd if = / dev / zero | pv | dd of = / dev / sdc bs = 446 count = 1 treus i poses una altra veus el usb li dones
    # Mkfs.vfat -F 32 -n «anaconda» / dev / sdc i llest

  5.   MGT va dir

    Parabéns! A de voltes que dei amb aquest tema lliga donar coa tua explicació. Moi agraït.

  6.   Víctor va dir

    Fantàstic. Moltes gràcies.

  7.   Iori va dir

    Per fi alguna cosa que realment em va funcionar, gràcies.

  8.   cessar va dir

    Hola tinc una memòria microSD de 16 GB ADATA categoria 10

    Vaig realitzar el procediment i a l'semblar funciona, però a el tornar a inserir-la i tornar a revisar l'estat torna a posar en només lectura.

    He intentat formatar però no funciona. El que si puc és veure són els meus arxius.

    alguna altra eina o manera de solucionar el problema ?.

  9.   Jose va dir

    facil i concís, perfecte tot l'explicació i els exemples, m'ha estat molt útil.

  10.   Miguel Ángel va dir

    hola sóc usuari de kali linux en el seu darrera versio ja he intentat MIL MILIONS de tècniques (perdó per ser exagerat) però cap em dóna ni en linux ni en windows

  11.   danikardone va dir

    en el meu cas, havien de, la memòria extraïble ha d'estar desmuntada ....

  12.   JR va dir

    magnífic, gràcies
    he aconseguit recuperar diversos extraïbles promocionals amb les seves instruccions

  13.   Jero va dir

    Hola, serveix però varia la carpeta de l'usuari, estaria bé que ho aclareixin, però tinc un error, en la comanda em mostra que el va modificar, però quan vull posar una carpeta o el que sigui en el pendrive em diu que aquesta protegit contra escriptura . Si em poden ajudar a solucionar-estaria genial. Salutacions

  14.   oriel va dir

    accepta la comanda i el mostra com desprotegit és de r = 0, però quan vull formatar em diu protegit. gràcies

  15.   William R Larreal G va dir

    Hola bon dia. Amb això no ho havia intentat però en Windows li he fet de tot i res. El meu pendrive està protejido contra escriptura, inluso amb sudo hdparm -r / dev / sdd dóna valor 1, però amb sudo hdparm -r0 / dev / sdd tampoc va poder treure la protecció contra escriptura. Gràcies i salutacions des de Veneçuela.
    La meva versió de Linux és openSUSE Tumbleweed 15.3

  16.   Carlos AG Ramos va dir

    Informações passadas com clareza i confiabilidade. Levei hores testant um sem nombre de Soluções i aquesta, apresentada aqui, é a definitiva per o problema manera somente de Leitura i bloqueio de gravação.

  17.   LUIS va dir

    Excel·lent aportació, tot a sortit com ho esmentes… gràcies

  18.   Uziel va dir

    moltes gràcies, de molt gran utilitat, sol passar molt això en usb, fàcil i ràpid la solució.

  19.   Lorenzo va dir

    Moltes gràcies per l'aportació.
    En el meu cas, Ubuntu 23.4 m'accepta totes les ordres però no desbloqueja el bit de protecció.
    Alguna idea?

    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r /dev/sdc
    [sud] contrasenya per a lorenzo:

    / Dev / sdc:
    readonly = 1 (on)
    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r0 /dev/sdc

    / Dev / sdc:
    configuració de només lectura a 0 (desactivat)
    readonly = 1 (on)
    lorenzo@lorenzo-B85M-D3H:~$

    Gràcias