Parašykite „Protected Pendrive“ sistemoje „Linux“

nuo rašymo apsaugotas „pendrive“

Jei turite SD atminties kortelę, „pendrive“ ar bet kurį norimą USB atminties diską rašyti apsaugoti, šiame straipsnyje mes jums žingsnis po žingsnio ir paprastu būdu nurodome, kaip tai padaryti. Tam tikri tvarkyklės leidžia šiek tiek apsaugoti nuo rašymo, vadinamą «apsaugos nuo rašymo bitų»Priklausomai nuo to, ar jis aktyvus 1, ar 0, jis leis rašyti į įrenginį ar ne. Šio bito nereikėtų painioti su procesorių vėliavų registrų WP, kurie užkerta kelią perrašymui sukurdami šakojimo procesą į UNIX panašias sistemas, taip apsaugodami pagrindinę atmintį nuo duomenų rašymo. Nei į tipinį apsaugos skirtuką, kurį randame kai kuriose SD kortelėse ar laikmenose. Šiuo atveju mes kalbame apie apsaugą, įdiegtą antrinėse laikmenose.

Nors valdiklis laikmena USB ar SD atminties kortelė ar bet kokia kita priemonė nustato, kad šis bitas yra aktyvus, tvarkyklė neleis branduoliui užsakyti rašymo tvarkos, todėl galės skaityti tik turinį. Tai tikrai labai praktiška, kai saugome duomenis, kurių nenorime keisti, vengdami rašyti ar ištrinti per klaidą. Bet jei viena iš šių saugomų laikmenų pateko į mūsų rankas ir mes nežinome apie šio elemento egzistavimą, galime sugaišti kelias valandas galvodami, kad mūsų įrenginys yra sugadintas, arba pakeldami ir nuleisdami skirtuką, kurį turi apsaugoti kai kurie „pendrives“ ar SD kortelės. juos be jokio rezultato. (Užrakinti / atrakinti) ...

Įdėkite tik skaitymo ar tik rašymo laikmenas:

SD kortelė su užrakto skirtuku

Nors tai nėra tiksliai tai, ko ieškome naudodami „Write Protection Bit“, taip pat galime pastebėti, kad terpė buvo automatiškai arba rankiniu būdu pritvirtintas tik skaityti, todėl neturėsime galimybės joje rašyti. Kažkas, kas kai kuriais atvejais gali labai erzinti ir neleisti mums keisti ar saugoti daiktų. Na, to sprendimas yra labai paprastas.

Susijęs straipsnis:
Išjunkite USB atmintinę sistemoje „Linux“

Pvz., Jei faile / etc / fstab įrenginys sukonfigūruotas automatiškai prijungti pasirinkus šią parinktį ro (tik skaitoma) arba jei mes jį įdiegėme naudodami komandą:

sudo mount -o ro /dev/sda /mnt

Tokiu atveju mes galime perskaityti tik / dev / sda įrenginį, nes jis buvo sumontuotas ant / mnt tvirtinimo taško. Kad galėtume vėl parašyti:

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

Jei šis metodas jums netinka, tada taip bus todėl, kad šiek tiek apie ką mes kalbėjome, ir todėl mes turėsime naudoti įrankį, kurį pateikiame žemiau.

Kas yra „hdparm“?

Kietasis diskas su operatoriais

Įsakymas „hdparm“ yra žemo lygio įrankis kuri veikia kaip sąsaja tarp įvairių „Linux“ branduolio tvarkyklių ir SATA / PATA / SAS saugojimo laikmenų, naudojančių „libata“ biblioteką, taip pat senoms IDE laikmenoms. Atminkite, kad daugelis USB atminties valdiklių, įskaitant kortelių skaitytuvus, pvz., SD, taip pat naudoja tokio tipo valdiklius, todėl jie taip pat yra su jais suderinami.

Su pagrindinė sintaksė yra:

„hdparm“ [parinktys] [įrenginys]

Ir dovanos daug variantų su kuo dirbti, nors aš nerekomenduoju jų naudoti, jei nežinote, ką darote gerai, nes būdamas žemo lygio įrankis galite rimtai sugadinti savo įrenginį, pavyzdžiui, jei manipuliuosime kai kuriomis kritinėmis parinktimis, tokiomis kaip -B . Bet aš jums pasakysiu, kad tarp jo variantų yra keletas gana įdomių, tokių kaip:

  • Gaukite konfigūracija disko:
sudo hdparm /dev/sdd

  • Rodyti identifikavimas disko:
 sudo hdparm -i /dev/sdd 
  • Patikrinkite buferio ir talpyklos skaitymo laiką:
sudo hdparm -t /dev/sdd
sudo hdparm -T /dev/sdd

Visada nepamirškite naudoti privilegijos, tai yra, paleiskite juos kaip root vartotoją arba sudėkite sudo prieš juos, kitaip jie neveiks ...

Pašalinkite ir nustatykite atminties apsaugos bitą naudodami „hdparm“:

Kai žinomas „hdparm“ įrankis, galime naudoti -r parinktį, kuria galime patikrinti šio bito būseną paprasta komanda. Norėdami tai padaryti, turime žinoti tik fizinį mūsų saugojimo įrenginio pavadinimą. Pavyzdžiui, jei būtų iškviestas / dev / sdd, tokiu atveju galėtume naudoti:

 sudo hdparm -r /dev/sdd 

Minėto bito vertė bus rodoma ekrane. Jei jo vertė yra 1, tai reiškia, kad režimas yra aktyvus Tik skaitymui arba tik skaitomas, arba kitaip tariant, apsaugos nuo rašymo metodas yra aktyvus ir nieko negalėsite įrašyti į atmintį. Norėdami jį išjungti arba modifikuoti bitą, tiesiog atlikite šiuos veiksmus:

sudo hdparm -r0 /dev/sdd

Ir dabar, jei įvykdysime pirmąją komandą ir suvartosime būseną, pamatysime, kad ji grįžo į 0, todėl tik skaitymo režimas yra išjungtas arba išjungtas. Jei norite grąžinti jį į aktyvią būseną, naudokite parinktį -r1 vietoj -r0 ir pasiruošę. Pavyzdžiui:

sudo hdparm -r1 /dev/sdd

Tai paprasta įjungti arba išjungti šį bitą. Tai neturi per daug paslapties, tačiau tiems, kurie to nežino, gali būti galvos skausmas, kai reikia apsaugoti savo laikmenas.

Tikiuosi, kad tai jums padėjo, o dabar jūs žinote, kaip sukurti „pendrive“, apsaugotą nuo rašymo, nepamirškite palik savo komentarąai ...


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Hernanas sakė

    Sveiki!
    Visų pirma, ačiū už užrašus! Jie visada yra labai naudingi.

    Aš esu „Debian 9“ vartotojas.
    Šiuo konkrečiu atveju turiu problemą, kurios negaliu išspręsti. Turiu „užkrėstą“ rašiklį su rašymo apsauga, kurios negaliu pašalinti. Aš jau galvoju, kad tai fizinė, nes sąžiningai išbandžiau viską (iki žemo lygio formatavimo „Windows“ ar gelbėjimo diskuose, modifikuodamas skaidinius ir pan.) Ir nieko.

    Maniau, kad tuoj išspręsiu, atlikdamas jūsų veiksmus pastebėjau, kad rašomojo disko rašymo apsauga buvo „įjungta“, bet kai ją pakeičiau į „išjungta“, vis tiek negaliu nieko ištrinti ar modifikuoti.

    Kuris gali būti? Ar yra koks nors kitas būdas tai išspręsti? (Aš neprieštarauju prarasti turimą informaciją)

    Iš anksto dėkoju už jūsų pagalbą.

    Hernanas

    1.    Paco sakė

      Gerai! Nežinau, ar jie jums pasakė sprendimą, ar jūs pagaliau jį išsprendėte, bet aš esu tuo pačiu atveju kaip ir jūs.
      Ar galite man patarti?
      Labai ačiū.

  2.   sūrūs valiai sakė

    geras paaiškinimas

  3.   Sergio sakė

    Sveiki, turiu USB, kurio sistema neatpažįsta. Siunčiu jums informaciją, jei galite man padėti

    dmesg

    [83384.348839] USB 1-1: naujas greitaeigis USB įrenginys Nr. 8 naudojant „ehci-pci“
    [83384.506219] usb 1-1: Rastas naujas USB įrenginys, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
    [83384.506225] usb 1-1: naujos USB įrenginio eilutės: Mfr = 1, produktas = 2, serijos numeris = 0
    [83384.506228] usb 1-1: Produktas: USB masinė atmintis
    [83384.506231] usb 1-1: Gamintojas: GENERIC
    [83384.506848] USB atmintinė 1-1: 1.0: aptiktas USB didelės talpos atminties įrenginys
    [83384.508235] scsi host5: usb-storage 1-1: 1.0
    [83385.524951] scsi 5: 0: 0: 0: Tiesioginės prieigos GENERIC USB masinė atmintis 1.00 PQ: 0 ANSI: 2
    [83385.556757] sd 5: 0: 0: 0: pridėtas „scsi generic sg3 type 0“
    [83385.561706] sd 5: 0: 0: 0: [sdc] Pridedamas SCSI nuimamas diskas

    root @ localhost: ~ # fdisk -l
    Diskas / dev / sda: 698.7 GiB, 750156374016 baitai, 1465149168 sektoriai
    Vienetai: 1 * 512 = 512 baitų sektoriai
    Sektoriaus dydis (loginis / fizinis): 512 baitai / 4096 baitai
    I / O dydis (minimalus / optimalus): 4096 baitai / 4096 baitai
    Disko etiketės tipas: gpt
    Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC

    Įrenginio pradžios pabaigos sektorių dydžio tipas
    / dev / sda1 2048 1050623 1048576 512M EFI sistema
    / dev / sda2 1050624 49879039 48828416 23.3G „Linux“ failų sistema
    / dev / sda3 49879040 69410815 19531776 9.3G „Linux“ failų sistema
    / dev / sda4 69410816 76107775 6696960 3.2G „Linux“ sukeitimas
    / dev / sda5 76107776 80013311 3905536 1.9G „Linux“ failų sistema
    / dev / sda6 80013312 1465147391 1385134080 660.5G „Linux“ failų sistema

    root @ localhost: ~ # fdisk -l / dev / sdc
    fdisk: negalima atidaryti / dev / sdc: nerasta terpės

    root @ localhost: ~ # hdparm / dev / sdc

    / dev / sdc:
    SG_IO: blogi / trūksta jutimo duomenų, 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 XNUMX
    daugybė = 0 (išjungta)
    tik skaitomas = 0 (išjungtas)
    perskaitymas = 256 (įjungta)

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

    / dev / sdc:
    disko būsena yra: budėjimo režimas

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

    / dev / sdc:
    SG_IO: blogi / trūksta jutimo duomenų, 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 XNUMX

    ATA įrenginys su neišimama laikmena
    Standartai:
    Tikėtina, kad naudojama: 1
    Konfigūracija:
    Loginė maksimali srovė
    cilindrai 0 0
    galvos 0 0
    sektoriai / 0 0 takelis
    -
    Loginio / fizinio sektoriaus dydis: 512 baitų
    įrenginio dydis su M = 1024 * 1024: 0 MByte
    įrenginio dydis su M = 1000 * 1000: 0 MByte
    talpyklos / buferio dydis = nežinoma
    Galimybės:
    IORDY nėra tikėtina
    Negaliu atlikti dvigubo žodžio IO
    R / W kelių sektorių perkėlimas: nepalaikomas
    DMA: nepalaikoma
    IOP: pio0

  4.   dekstras sakė

    ačiū už jūsų pagalbą, dabar aš galėjau sužinoti, ar mano USB yra prieš rašymą, ir aš įsitikinau, kad tai nebuvo prieš rašymą, taigi tai jau yra žemo lygio formatavimo sprendimas, turiu pridurti, kad virusas privertė USB atjungti per minutę ar du, ir ne. Tai leido veikti, jis nepaliko laiko, nes aš jau žinojau, kokiu vardu aš jam priskyriau, kuris buvo "sdc" terminale, aš viską įdėjau kaip root vartotoją.
    # dd jei = / dev / nulis | pv | dd iš = / dev / sdc bs = 1M čia jūs šiek tiek palaukite
    # dd jei = / dev / nulis | pv | dd = / dev / sdc bs = 446 count = 1, jūs išimate ir vėl įdite USB, kurį duodate
    # mkfs.vfat -F 32 -n "anaconda" / dev / sdc ir viskas

  5.   MGT sakė

    Parabenai! Dei voltas, kurį pateikiu su šiuo dalyku, yra paaiškinimas. Ačiū Moi.

  6.   Nugalėtojas sakė

    Puiku. Ačiū.

  7.   iori sakė

    Pagaliau kažkas, kas man tikrai padėjo, ačiū.

  8.   nustoti sakė

    Sveiki, aš turiu 16 GB ADATA kategorijos 10 microsd atmintį

    Aš padariau procedūrą ir panašu, kad ji veikia, bet ją vėl įdėjus ir patikrinus valstybę, ją galima skaityti.

    Bandžiau jį formatuoti, bet jis neveikia. Tai, ką matau, yra mano failai.

    bet koks kitas įrankis ar būdas išspręsti problemą?

  9.   Chosė sakė

    lengva ir glausta, tobulas paaiškinimas ir pavyzdžiai, tai buvo labai naudinga

  10.   Miguel Angel sakė

    Sveiki, aš esu naujausios versijos „Kali Linux“ vartotojas. Aš jau išbandžiau milijardą būdų (atsiprašau už perdėtumą), tačiau nė vienas iš jų man neduoda nei „Linux“, nei „Windows“

  11.   danikardonas sakė

    mano atveju, debian, nuimama atmintis turi būti atjungta….

  12.   JR sakė

    puiku, ačiū
    Man pavyko atkurti keletą reklaminių ištraukų su jų instrukcijomis

  13.   Jero sakė

    Sveiki, jis veikia, bet vartotojo aplankas skiriasi, būtų gerai jį išaiškinti, bet aš turiu klaidą, komandoje man parodo, kad aš jį modifikuoju, bet kai noriu įdėti aplanką ar bet kurį kitą į jo nurodytą pendrive man, kad ji yra apsaugota nuo rašymo. Jei galėtumėte man padėti tai išspręsti, būtų puiku. Sveikinimai

  14.   orielis sakė

    priima komandą ir parodo kaip neapsaugotą, ji yra r = 0, bet kai noriu formatuoti, ji man sako saugoma. Ačiū

  15.   William R Larreal G. sakė

    Sveika diena. Aš to nebandžiau, bet sistemoje „Windows“ padariau viską ir nieko. Mano „pendrive“ yra apsaugotas nuo rašymo, net naudodamas sudo hdparm -r / dev / sdd jis suteikia 1 reikšmę, tačiau naudodamas sudo hdparm -r0 / dev / sdd taip pat negalėjo pašalinti apsaugos nuo rašymo. Padėkos ir sveikinimai iš Venesuelos.
    Mano „Linux“ versija yra „openSUSE Tumbleweed 15.3“

  16.   Carlos AG Ramos sakė

    Aiškesnė ir patikimesnė praeities informacija. Levei valandos išbando daugybę sprendimų, ir tai, kas čia pateikiama, yra galutinė problemai, kurią reikia skaityti ir užblokuoti gravação.

  17.   LUIS sakė

    Puikus indėlis, viskas gavosi taip, kaip minėjai... ačiū

  18.   uziel sakė

    Labai ačiū, labai naudinga, dažniausiai taip nutinka per usb, sprendimas paprastas ir greitas.

  19.   Lorenzo sakė

    Labai ačiū už indėlį.
    Mano atveju Ubuntu 23.4 priima visas komandas, bet neatrakina apsaugos bito.
    Any ideas?

    lorenzo@lorenzo-B85M-D3H: ~$ sudo hdparm -r /dev/sdc
    [sudo] slaptažodis Lawrence:

    / dev / sdc:
    tik skaityti = 1 (įjungta)
    lorenzo@lorenzo-B85M-D3H: ~$ sudo hdparm -r0 /dev/sdc

    / dev / sdc:
    tik skaitymo nustatymas į 0 (išjungtas)
    tik skaityti = 1 (įjungta)
    lorenzo@lorenzo-B85M-D3H:~$

    Ačiū