Schrijf beschermde Pendrive op Linux

tegen schrijven beveiligde pendrive

Als u een SD-geheugenkaart, pendrive of een willekeurige USB-opslagschijf heeft die u maar wilt schrijfbeveiliging, in dit artikel vertellen we je stap voor stap en op een gemakkelijke manier hoe je het moet doen. En er is een beetje anti-schrijfbeveiliging die bepaalde stuurprogramma's toestaan, bekend als «schrijfbeveiligingsbit»Afhankelijk van of het actief is op 1 of 0, zal het schrijven naar het apparaat mogelijk zijn of niet. Deze bit moet niet worden verward met de WP van de vlagregisters van de CPU's, die overschrijven voorkomen door een splitsingsproces op UNIX-achtige systemen te creëren, waardoor het hoofdgeheugen wordt beschermd tegen het wegschrijven van gegevens. Evenmin op het typische beschermingstabblad dat we op sommige SD-kaarten of opslagmedia vinden. In dit geval verwijzen we naar een bescherming die is geïmplementeerd in de secundaire opslagmedia.

Terwijl de controller van de opslagmedium USB- of SD-geheugenkaart, of wat voor middelen dan ook, detecteren dat deze bit actief is, zal het stuurprogramma voorkomen dat de kernel een schrijfopdracht bestelt en daarom kan het alleen de inhoud lezen. Het is zeker heel praktisch wanneer we gegevens opslaan die we niet willen wijzigen, om te vermijden dat we ze per ongeluk schrijven of verwijderen. Maar als een van deze beschermde media in onze handen is gevallen en we weten niet van het bestaan ​​van dit bit, zouden we uren kunnen verspillen met denken dat onze eenheid beschadigd is, of het verhogen en verlagen van de tab die sommige pendrives of SD-kaarten moeten beschermen ze zonder enig resultaat. (vergrendelen / ontgrendelen) ...

Koppel alleen-lezen of alleen-schrijven media:

SD-kaart met vergrendelingslipje

Hoewel het niet precies is wat we zoeken met de Write Protection Bit, kunnen we ook ontdekken dat het een medium is geweest automatisch of handmatig gemonteerd voor alleen-lezen, dus we zullen er niet in kunnen schrijven. Iets wat in sommige gevallen erg vervelend kan zijn en ons ervan weerhoudt dingen aan te passen of op te slaan. Welnu, de oplossing hiervoor is heel eenvoudig.

Gerelateerd artikel:
Schakel USB-opslag uit in Linux

Als het apparaat bijvoorbeeld in het bestand / etc / fstab is geconfigureerd om automatisch te mounten met de optie ro (alleen lezen) of als we het hebben aangekoppeld met het commando:

sudo mount -o ro /dev/sda /mnt

In zo'n geval kunnen we alleen het / dev / sda device lezen, in dit geval is het gemount op het / mnt mount point. Zodat we er opnieuw naar kunnen schrijven:

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

Voor het geval deze methode niet voor u werkt, dan zal het zijn omdat we het over acteren hebben, en daarom zullen we de tool moeten gebruiken die we hieronder presenteren.

Wat is hdparm?

Harde schijf met operators

Het commando hdparm is een tool op laag niveau die fungeert als een interface tussen verschillende Linux-kerneldrivers en SATA / PATA / SAS-opslagmedia met behulp van de libata-bibliotheek, evenals voor oude IDE-media. Onthoud dat veel USB-opslagmedia-controllers, inclusief kaartlezers zoals SD-kaarten, ook dit type controller gebruiken om te bedienen, daarom is het ook ermee compatibel.

Su basissyntaxis is:

hdparm [opties] [apparaat]

En cadeautjes veel opties waarmee u kunt werken, hoewel ik u niet aanbeveel om ze te gebruiken als u niet weet wat u goed doet, aangezien u als tool op laag niveau uw apparaat ernstig zou kunnen beschadigen, bijvoorbeeld als we enkele kritieke opties manipuleren, zoals -B . Maar ik zal je vertellen dat er onder de opties enkele behoorlijk interessante zijn, zoals:

  • Verkrijg de configuratie van de schijf:
sudo hdparm /dev/sdd

  • Toon de identificatie van de schijf:
 sudo hdparm -i /dev/sdd 
  • Controleer de leestijden van buffer en cache:
sudo hdparm -t /dev/sdd
sudo hdparm -T /dev/sdd

Onthoud altijd om te gebruiken de privileges, dat wil zeggen, voer ze uit als root-gebruiker of zet sudo ervoor, anders werken ze niet ...

Verwijder en stel de geheugenbeschermingsbit in met hdparm:

Zodra de hdparm-tool bekend is, kunnen we de optie -r gebruiken waarmee we de status van dit bit kunnen controleren met een eenvoudig commando​ Om dit te doen, hoeven we alleen de fysieke naam van ons opslagapparaat te weten. Als / dev / sdd bijvoorbeeld werd aangeroepen, zouden we in dat geval kunnen gebruiken:

 sudo hdparm -r /dev/sdd 

En de waarde van dat bit wordt op het scherm weergegeven. Als de waarde 1 is, betekent dit dat de modus actief is alleen lezen of alleen-lezen, of met andere woorden, de schrijfbeveiligingsmethode is actief en u kunt niets naar het geheugen schrijven. Om het te deactiveren of het bit te wijzigen, hoeft u alleen maar het volgende te doen:

sudo hdparm -r0 /dev/sdd

En als we nu het eerste commando uitvoeren en de status gebruiken, zullen we zien dat het is teruggekeerd naar 0, daarom is de alleen-lezen-modus uitgeschakeld of gedeactiveerd. Gebruik de optie als u het terug wilt zetten naar de actieve staat -r1 in plaats van -r0 en klaar. Bijvoorbeeld:

sudo hdparm -r1 /dev/sdd

Dat is simpel schakel deze bit in of uit​ Het heeft niet al te veel mysterie, maar voor degenen die dit niet weten, kan het hoofdpijn zijn als het gaat om het onbeschermd maken van hun opslagmedia.

Ik hoop dat het je heeft geholpen en dat je nu weet hoe je een tegen schrijven beveiligde pendrive moet maken, vergeet niet Laat jouw reactie achters ...


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Hernán zei

    Hello!
    Allereerst bedankt voor de aantekeningen! Ze zijn altijd erg handig.

    Ik ben een Debian 9-gebruiker.
    In dit specifieke geval heb ik een probleem dat ik niet kan oplossen. Ik heb een "geïnfecteerde" pen met een schrijfbeveiliging die ik NIET kan verwijderen. Ik denk al dat het fysiek is omdat ik eerlijk alles heb geprobeerd (tot low-level formatteren in Windows of reddingsschijven, partities aanpassen, enz.) En niets.

    Ik dacht dat ik op het punt stond het op te lossen, toen ik je stappen volgde, ontdekte ik dat de schrijfbeveiliging van de pen-drive "aan" was, maar toen ik deze eenmaal veranderde in "uit", kan ik er nog steeds niets op verwijderen of wijzigen.

    Welke kan zijn? Is er een andere manier om dit op te lossen? (Ik vind het niet erg om de informatie die ik binnen heb te verliezen)

    Bij voorbaat dank voor uw hulp.

    Hernán

    1.    paco zei

      Is goed! Ik weet niet of ze je de oplossing hebben verteld of dat je het uiteindelijk hebt opgelost, maar ik zit in hetzelfde geval als jij.
      Kan je me adviseren?
      Heel hartelijk bedankt.

  2.   Willians salgado zei

    goede uitleg

  3.   Sergio zei

    Hallo, ik heb een USB die het systeem niet herkent, ik stuur je de informatie als je me kunt bedanken

    dmesg

    [83384.348839] usb 1-1: nieuw high-speed USB-apparaat nummer 8 met ehci-pci
    [83384.506219] usb 1-1: nieuw USB-apparaat gevonden, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
    [83384.506225] usb 1-1: nieuwe USB-apparaatstrings: Mfr = 1, Product = 2, SerialNumber = 0
    [83384.506228] usb 1-1: Product: USB-massaopslag
    [83384.506231] usb 1-1: Fabrikant: GENERIC
    [83384.506848] usb-opslag 1-1: 1.0: USB-apparaat voor massaopslag gedetecteerd
    [83384.508235] scsi host5: usb-opslag 1-1: 1.0
    [83385.524951] scsi 5: 0: 0: 0: Directe toegang GENERIC USB-massaopslag 1.00 PQ: 0 ANSI: 2
    [83385.556757] sd 5: 0: 0: 0: Bijgevoegd scsi algemeen sg3 type 0
    [83385.561706] sd 5: 0: 0: 0: [sdc] Bijgevoegde verwisselbare SCSI-schijf

    root @ localhost: ~ # fdisk -l
    Schijf / dev / sda: 698.7 GiB, 750156374016 bytes, 1465149168-sectoren
    Eenheden: sectoren van 1 * 512 = 512 bytes
    Sectorgrootte (logisch / fysiek): 512 bytes / 4096 bytes
    I / O-grootte (minimaal / optimaal): 4096 bytes / 4096 bytes
    Disklabel-type: gpt
    Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC

    Apparaat Start Eind Sectoren Grootte Type
    / dev / sda1 2048 1050623 1048576 512M EFI-systeem
    / dev / sda2 1050624 49879039 48828416 23.3G Linux-bestandssysteem
    / dev / sda3 49879040 69410815 19531776 9.3G Linux-bestandssysteem
    / dev / sda4 69410816 76107775 6696960 3.2G Linux swap
    / dev / sda5 76107776 80013311 3905536 1.9G Linux-bestandssysteem
    / dev / sda6 80013312 1465147391 1385134080 660.5G Linux-bestandssysteem

    root @ localhost: ~ # fdisk -l / dev / sdc
    fdisk: kan / dev / sdc niet openen: geen medium gevonden

    root @ localhost: ~ # hdparm / dev / sdc

    / dev / sdc:
    SG_IO: slechte / ontbrekende detectiegegevens, 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 (uit)
    readonly = 0 (uit)
    readahead = 256 (aan)

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

    / dev / sdc:
    schijfstatus is: stand-by

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

    / dev / sdc:
    SG_IO: slechte / ontbrekende detectiegegevens, 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-apparaat, met niet-verwijderbare media
    Normen:
    Waarschijnlijk gebruikt: 1
    Configuratie:
    Logische max stroom
    cilinders 0 0
    hoofden 0 0
    sectoren / track 0 0
    -
    Logische / fysieke sectorgrootte: 512 bytes
    apparaatgrootte met M = 1024 * 1024: 0 MBytes
    apparaatgrootte met M = 1000 * 1000: 0 MBytes
    cache / buffergrootte = onbekend
    Mogelijkheden:
    IORDY niet waarschijnlijk
    Kan geen IO met dubbele woorden uitvoeren
    R / W meervoudige sectoroverdracht: niet ondersteund
    DMA: niet ondersteund
    IOP: pio0

  4.   rechts zei

    bedankt voor je hulp, nu kon ik weten of mijn usb tegen schrijven was en ik heb geverifieerd dat het niet tegen schrijven was, dus dit is al een opmaakoplossing op laag niveau, ik moet hieraan toevoegen dat het virus de usb binnen een minuut heeft losgekoppeld of two Het stond toe om te handelen, het liet geen tijd over, dus aangezien ik al wist met welke naam ik het had toegewezen, wat "sdc" was in de terminal, zette ik alles als rootgebruiker.
    # dd if = / dev / zero | pv | dd of = / dev / sdc bs = 1M hier wacht je even
    # dd if = / dev / zero | pv | dd of = / dev / sdc bs = 446 count = 1 je haalt de usb eruit en plaatst hem weer terug
    # mkfs.vfat -F 32 -n "anaconda" / dev / sdc en je bent klaar

  5.   MGT zei

    Parabenen! Een aantal volta's die ik bij dit onderwerp geef, is om een ​​coa-uitleg te geven. Dankbaar Moi.

  6.   Victor zei

    Super goed. Dank u.

  7.   Iori zei

    Eindelijk iets dat echt voor mij werkte, bedankt.

  8.   ophouden zei

    Hallo, ik heb een 16 GB ADATA categorie 10 microsd-geheugen

    Ik heb de procedure uitgevoerd en het lijkt te werken, maar door het opnieuw in te voegen en de staat opnieuw te controleren, wordt het teruggezet naar alleen-lezen.

    Ik heb geprobeerd het te formatteren, maar het werkt niet. Wat ik kan zien, zijn mijn bestanden.

    een andere tool of manier om het probleem op te lossen?.

  9.   Jose zei

    eenvoudig en beknopt, perfect alle uitleg en voorbeelden, het was erg handig.

  10.   Michelangelo zei

    Hallo, ik ben een Kali Linux-gebruiker in de nieuwste versie, ik heb al een miljard technieken geprobeerd (sorry dat ik overdreven ben) maar geen enkele geeft me in Linux of Windows

  11.   danikardon zei

    in mijn geval, debian, moet het verwijderbare geheugen worden ontkoppeld….

  12.   JR zei

    super, bedankt
    Ik ben erin geslaagd om verschillende promotie-uittreksels met hun instructies terug te krijgen

  13.   Jero zei

    Hallo, het werkt, maar de map van de gebruiker varieert, het zou goed zijn om het te verduidelijken, maar ik heb een fout, in de opdracht laat het zien dat ik het wijzig, maar wanneer ik een map of wat dan ook op de pendrive wil plaatsen, staat het mij dat het schrijfbeveiligd is. Als je me kunt helpen het op te lossen, zou dat geweldig zijn. Groeten

  14.   erker zei

    accepteert het commando en toont het als onbeschermd, het is r = 0, maar als ik het wil formatteren, vertelt het me dat het beschermd is. Dank u

  15.   William R. Larreal G zei

    Hallo goedendag. Hiermee had ik het niet geprobeerd maar in Windows heb ik alles en niets gedaan. Mijn pendrive is beveiligd tegen schrijven, zelfs met sudo hdparm -r / dev / sdd geeft het waarde 1, maar met sudo hdparm -r0 / dev / sdd kon het de schrijfbeveiliging ook niet verwijderen. Bedankt en groeten uit Venezuela.
    Mijn Linux-versie is openSUSE Tumbleweed 15.3

  16.   Carlos AG Ramos zei

    Informatie uit het verleden met duidelijkheid en betrouwbaarheid. Levei uren aan het testen van een aantal oplossingen en dit, hier gepresenteerd, is definitief voor het probleem dat onderhevig is aan het lezen en blokkeren van gravação.

  17.   LUIS zei

    Uitstekende bijdrage, alles is verlopen zoals je zei ... bedankt

  18.   uziel zei

    Heel erg bedankt, erg handig, dit gebeurt meestal veel in usb, de oplossing is eenvoudig en snel.

  19.   Lorenzo zei

    Hartelijk dank voor de bijdrage.
    In mijn geval accepteert Ubuntu 23.4 alle opdrachten, maar ontgrendelt het beveiligingsbit niet.
    Iemand een idee?

    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r /dev/sdc
    [sudo] wachtwoord voor Lawrence:

    / dev / sdc:
    alleen-lezen = 1 (aan)
    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r0 /dev/sdc

    / dev / sdc:
    alleen lezen op 0 zetten (uit)
    alleen-lezen = 1 (aan)
    lorenzo@lorenzo-B85M-D3H:~$

    bedankt