Pendrive protegido contra gravação no Linux

pendrive protegido contra gravação

Se você tiver um cartão de memória SD, pendrive ou qualquer disco de armazenamento USB que desejar proteção contra gravação, neste artigo explicamos passo a passo e de forma fácil como fazê-lo. E há um pouco de proteção anti-gravação que alguns drivers permitem, conhecido como «bit de proteção contra gravação»Dependendo se está ativo em 1 ou 0, permitirá a gravação na unidade ou não. Este bit não deve ser confundido com o WP dos registradores de flag das CPUs, que evita a sobregravação criando um processo de bifurcação em sistemas do tipo UNIX, protegendo assim a memória principal da gravação de dados. Nem para a guia de proteção típica que encontramos em alguns cartões SD ou mídia de armazenamento. Neste caso, estamos nos referindo a uma proteção que é implementada na mídia de armazenamento secundária.

Enquanto o controlador do meio de armazenamento Um cartão de memória USB ou SD, ou qualquer outro meio, detecta que este bit está ativo, o driver impedirá que o kernel faça uma ordem de escrita e portanto só poderá ler o conteúdo. Certamente é muito prático quando armazenamos dados que não queremos que sejam modificados, evitando escrever ou deletar por engano. Mas se uma dessas mídias protegidas cair em nossas mãos e não soubermos da existência desse bit, poderíamos perder horas pensando que nossa unidade está danificada, ou levantando e abaixando a guia que alguns pendrives ou cartões SD têm que proteger sem qualquer resultado. (Bloquear / Desbloquear) ...

Monte mídia somente leitura ou somente gravação:

Cartão SD com guia de bloqueio

Embora não seja exatamente o que estamos procurando com o bit de proteção contra gravação, também podemos descobrir que um meio foi montado automaticamente ou manualmente para somente leitura, portanto, não teremos a capacidade de escrever nele. Algo que em alguns casos pode ser muito chato e nos impedir de modificar ou armazenar coisas. Bem, a solução para isso é muito simples.

Artigo relacionado:
Desative o armazenamento USB no Linux

Por exemplo, se no arquivo / etc / fstab o dispositivo estiver configurado para montar automaticamente com a opção ro (somente leitura) ou se o montamos com o comando:

sudo mount -o ro /dev/sda /mnt

Nesse caso, só podemos ler o dispositivo / dev / sda; neste caso, ele foi montado no ponto de montagem / mnt. Para que possamos escrever novamente:

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

Caso este método não funcione para você, então será porque a parte de que falamos é a atuação, e por isso teremos que usar a ferramenta que apresentamos a seguir.

O que é hdparm?

Disco rígido com operadores

Comando hdparm é uma ferramenta de baixo nível que atua como uma interface entre vários drivers do kernel Linux e mídia de armazenamento SATA / PATA / SAS usando a biblioteca libata, bem como para mídia IDE antiga. Lembre-se de que muitos controladores de mídia de armazenamento USB, incluindo leitores de cartão, como cartões SD, também usam esse tipo de controlador para operar, portanto, também é compatível com eles.

Su sintaxe básica é:

hdparm [opções] [dispositivo]

E presentes muitas opções com o qual trabalhar, embora eu não recomende que você os use se não souber o que faz bem, já que sendo uma ferramenta de baixo nível você pode danificar seriamente o seu dispositivo, por exemplo, se manipularmos algumas opções críticas como -B . Mas direi que entre suas opções existem algumas bastante interessantes, tais como:

  • Obter o configuração do disco:
sudo hdparm /dev/sdd

  • Mostra a identificação do disco:
 sudo hdparm -i /dev/sdd 
  • Verifique os tempos de leitura do buffer e do cache:
sudo hdparm -t /dev/sdd
sudo hdparm -T /dev/sdd

Lembre-se sempre de usar os privilégios, isto é, execute-os como usuário root ou coloque o sudo na frente deles ou eles não funcionarão ...

Remova e defina o bit de proteção de memória com hdparm:

Assim que a ferramenta hdparm for conhecida, podemos usar a opção -r com a qual podemos verificar o status deste bit com um comando simples. Para fazer isso, só precisamos saber o nome físico do nosso dispositivo de armazenamento. Por exemplo, se / dev / sdd fosse chamado, nesse caso poderíamos usar:

 sudo hdparm -r /dev/sdd 

E o valor do referido bit será mostrado na tela. Se seu valor for 1, significa que o modo está ativo somente leitura ou somente leitura, ou em outras palavras, o método de proteção contra gravação está ativo e você não poderá gravar nada na memória. Para desativá-lo ou modificar o bit, basta fazer o seguinte:

sudo hdparm -r0 /dev/sdd

E agora, se executarmos o primeiro comando e consumirmos o estado, veremos que ele voltou a 0, portanto o modo somente leitura está desligado ou desativado. Caso queira retornar ao estado ativo, use a opção -r1 em vez de -r0 e pronto. Por exemplo:

sudo hdparm -r1 /dev/sdd

Tão simples é habilite ou desabilite este bit. Não tem muito mistério, mas para quem não sabe disso pode ser uma dor de cabeça quando se trata de desproteger sua mídia de armazenamento.

Espero que tenha ajudado você e agora você sabe como fazer um pendrive protegido contra gravação, não se esqueça Deixe o seu comentários ...


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Hernán dito

    Olá!
    Em primeiro lugar, obrigado pelas notas! Eles são sempre muito úteis.

    Eu sou um usuário Debian 9.
    Neste caso específico, tenho um problema que não consigo resolver. Tenho uma caneta "infectada" com uma proteção contra gravação que NÃO POSSO remover. Já estou pensando que é físico porque honestamente tentei de tudo (formatação de baixo nível no Windows ou discos de resgate, modificação de partições, etc.) e nada.

    Pensei que estava prestes a resolvê-lo, ao seguir seus passos, descobri que a proteção contra gravação do pen drive estava "ligada", mas depois que mudei para "desligada", ainda não consigo excluir ou modificar nada nele.

    Que pode ser? Existe alguma outra maneira de resolver isso? (Não me importo de perder as informações que tenho dentro)

    Agradeço antecipadamente por sua ajuda.

    Hernán

    1.    paco dito

      Bom! Não sei se te falaram a solução ou no fim tu resolveste, mas estou no mesmo caso que tu.
      Você pode me aconselhar?
      Muito obrigado.

  2.   Willians Salgado dito

    boa explicação

  3.   Sergio dito

    Olá tenho um USB que o sistema não reconhece, mando-te a informação se me puderes ajudar obrigado

    dmesg

    [83384.348839] usb 1-1: novo dispositivo USB de alta velocidade número 8 usando ehci-pci
    [83384.506219] usb 1-1: Novo dispositivo USB encontrado, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
    [83384.506225] usb 1-1: novas strings de dispositivo USB: Mfr = 1, Product = 2, SerialNumber = 0
    [83384.506228] usb 1-1: Produto: USB Mass Storage
    [83384.506231] usb 1-1: Fabricante: GENERIC
    [83384.506848] usb-storage 1-1: 1.0: dispositivo USB de armazenamento em massa detectado
    [83384.508235] host scsi 5: usb-storage 1-1: 1.0
    [83385.524951] scsi 5: 0: 0: 0: Armazenamento em massa GENERIC USB de acesso direto 1.00 PQ: 0 ANSI: 2
    [83385.556757] sd 5: 0: 0: 0: anexado scsi genérico sg3 tipo 0
    [83385.561706] sd 5: 0: 0: 0: [sdc] Disco removível SCSI anexado

    root @ localhost: ~ # fdisk -l
    Disco / dev / sda: 698.7 GiB, 750156374016 bytes, 1465149168 setores
    Unidades: setores de 1 * 512 = 512 bytes
    Tamanho do setor (lógico / físico): bytes 512 / bytes 4096
    Tamanho de E / S (mínimo / otimizado): bytes 4096 / bytes 4096
    Tipo de disklabel: gpt
    Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC

    Tipo de tamanho dos setores finais de início do dispositivo
    / dev / sda1 2048 1050623 1048576 512M Sistema EFI
    / dev / sda2 1050624 49879039 48828416 23.3G sistema de arquivos Linux
    / dev / sda3 49879040 69410815 19531776 9.3G sistema de arquivos Linux
    / dev / sda4 69410816 76107775 6696960 3.2G Linux swap
    / dev / sda5 76107776 80013311 3905536 1.9G sistema de arquivos Linux
    / dev / sda6 80013312 1465147391 1385134080 660.5G sistema de arquivos Linux

    root @ localhost: ~ # fdisk -l / dev / sdc
    fdisk: não é possível abrir / dev / sdc: nenhuma mídia encontrada

    root @ localhost: ~ # hdparm / dev / sdc

    / dev / sdc:
    SG_IO: dados sensoriais incorretos / ausentes, sb []: f0 00 02 00 00 00 00 0 00b 00 00 00 3 00a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 XNUMX
    multcount = 0 (desligado)
    somente leitura = 0 (desligado)
    leitura à frente = 256 (ligado)

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

    / dev / sdc:
    o estado da unidade é: espera

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

    / dev / sdc:
    SG_IO: dados sensoriais incorretos / ausentes, sb []: f0 00 02 00 00 00 00 0 00b 00 00 00 3 00a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 XNUMX

    Dispositivo ATA, com mídia não removível
    Normas:
    Provavelmente usado: 1
    Configuração:
    Corrente máxima lógica
    cilindros 0 0
    cara 0 0
    setores / trilha 0 0
    -
    Tamanho do setor lógico / físico: 512 bytes
    tamanho do dispositivo com M = 1024 * 1024: 0 MBytes
    tamanho do dispositivo com M = 1000 * 1000: 0 MBytes
    tamanho do cache / buffer = desconhecido
    capacidades:
    IORDY provavelmente não
    Não é possível executar IO de palavra dupla
    Transferência de múltiplos setores R / W: não compatível
    DMA: não suportado
    IOP: pio0

  4.   destreza dito

    obrigado por sua ajuda, agora eu pude saber se meu usb estava contra a escrita e verifiquei que não era contra a escrita, então esta já é uma solução de formatação de baixo nível, devo acrescentar que o vírus desconectou o usb em um minuto ou dois e não permitia atuar, não dava tempo então pois já sabia com que nome lhe atribuí, que era "sdc" no terminal coloquei tudo como usuário root.
    # dd if = / dev / zero | pv | dd of = / dev / sdc bs = 1M aqui você espera um pouco
    # dd if = / dev / zero | pv | dd de = / dev / sdc bs = 446 contagem = 1 você tira e coloca novamente o usb que você deu
    # mkfs.vfat -F 32 -n "anaconda" / dev / sdc e pronto

  5.   MGT dito

    Parabens! A dei voltas que dou com este assunto é dar uma explicação coa. Grato Moi.

  6.   Vencedor dito

    Excelente. Obrigada.

  7.   Iori dito

    Finalmente algo que realmente funcionou para mim, obrigado.

  8.   cessar dito

    Olá, tenho uma memória microsd ADATA categoria 16 de 10 GB

    Fiz o procedimento e parece funcionar, mas reinseri-lo e verificar novamente o estado o coloca de volta para somente leitura.

    Tentei formatar, mas não funciona. O que posso ver são meus arquivos.

    alguma outra ferramenta ou forma de resolver o problema?

  9.   Jose dito

    fácil e conciso, perfeito todas as explicações e exemplos, tem sido muito útil.

  10.   Miguel Angel dito

    Olá, sou um usuário do Kali Linux em sua última versão, já tentei um bilhão de técnicas (desculpe ser exagerado) mas nenhuma delas me deu nem no Linux nem no Windows

  11.   danikardona dito

    no meu caso, debian, a memória removível deve ser desmontada….

  12.   JR dito

    excelente obrigado
    Consegui recuperar vários extratos promocionais com suas instruções

  13.   Jero dito

    Olá, funciona mas a pasta do usuário varia, seria bom esclarecer, mas tenho um erro, no comando mostra que eu modifico, mas quando quero colocar uma pasta ou o que quer no pendrive diz me que está protegido contra gravação. Se você puder me ajudar a resolver isso, seria ótimo. saudações

  14.   oriel dito

    aceita o comando e mostra como desprotegido é r = 0, mas quando quero formatar diz que está protegido. Obrigada

  15.   William R Larreal G dito

    Olá, bom dia. Com isso eu não tinha tentado mas no Windows fiz tudo e nada. Meu pendrive está protegido contra gravação, mesmo com sudo hdparm -r / dev / sdd ele dá valor 1, mas com sudo hdparm -r0 / dev / sdd ele também não pode remover a proteção contra gravação. Obrigado e saudações da Venezuela.
    Minha versão do Linux é openSUSE Tumbleweed 15.3

  16.   Carlos AG Ramos dito

    Informações anteriores com clareza e confiabilidade. Levei horas testando uma série de soluções e esta, aqui apresentada, é definitiva para o problema sujeito a leitura e bloqueio de gravação.

  17.   LUIS dito

    Excelente contribuição, correu tudo como você mencionou ... obrigado

  18.   uziel dito

    Muito obrigado, muito útil, isso geralmente acontece muito em usb, a solução é fácil e rápida.

  19.   Lorenzo dito

    Muito obrigado pela contribuição.
    No meu caso, o Ubuntu 23.4 aceita todos os comandos, mas não desbloqueia o bit de proteção.
    Alguma idéia?

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

    / dev / sdc:
    somente leitura = 1 (ligado)
    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r0 /dev/sdc

    / dev / sdc:
    definindo somente leitura como 0 (desligado)
    somente leitura = 1 (ligado)
    lorenzo@lorenzo-B85M-D3H:~$

    obrigado