Écrire une clé USB protégée sous Linux

clé USB protégée en écriture

Si vous avez une carte mémoire SD, une clé USB ou tout disque de stockage USB que vous souhaitez protection contre l'écriture, dans cet article, nous vous expliquons étape par étape et de manière simple comment procéder. Et il y a un peu de protection anti-écriture que certains pilotes permettent, connue sous le nom de «bit de protection en écriture»Selon qu'il est actif à 1 ou 0, il permettra ou non d'écrire sur l'appareil. Ce bit ne doit pas être confondu avec le WP des registres d'indicateur des CPU, qui empêchent l'écrasement en créant un processus de forking sur les systèmes de type UNIX, protégeant ainsi la mémoire principale de l'écriture de données. Ni à l'onglet de protection typique que l'on trouve sur certaines cartes SD ou supports de stockage. Dans ce cas, nous faisons référence à une protection qui est implémentée dans le support de stockage secondaire.

Alors que le contrôleur de la support de stockage Une carte mémoire USB ou SD, ou tout autre moyen, détecte que ce bit est actif, le pilote empêchera le noyau de commander un ordre d'écriture et par conséquent, il ne pourra lire que le contenu. C'est certainement très pratique lorsque l'on stocke des données que l'on ne souhaite pas modifier, en évitant d'écrire ou de supprimer par erreur. Mais si l'un de ces supports protégés est tombé entre nos mains et que nous ne connaissons pas l'existence de ce bit, nous pourrions perdre des heures à penser que notre appareil est endommagé, ou à lever et abaisser la languette que certaines clés USB ou cartes SD doivent protéger sans aucun résultat. (Verrouiller / Déverrouiller) ...

Montez un support en lecture seule ou en écriture seule:

Carte SD avec languette de verrouillage

Bien que ce ne soit pas exactement ce que nous recherchons avec le bit de protection en écriture, nous pouvons également constater qu'un support a été monté automatiquement ou manuellement pour lecture seule, nous n'aurons donc pas la possibilité d'y écrire. Quelque chose qui dans certains cas peut être très ennuyeux et nous empêcher de modifier ou de stocker des choses. Eh bien, la solution à cela est très simple.

Article connexe:
Désactiver le stockage USB sous Linux

Par exemple, si dans le fichier / etc / fstab, le périphérique est configuré pour se monter automatiquement avec l'option ro (lecture seule) ou si nous l'avons monté avec la commande:

sudo mount -o ro /dev/sda /mnt

Dans un tel cas, nous ne pouvons lire que le périphérique / dev / sda, dans ce cas, il a été monté sur le point de montage / mnt. Pour que nous puissions lui écrire à nouveau:

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

Au cas où cette méthode ne fonctionne pas pour vous, alors ce sera parce que le peu dont nous avons parlé est d'agir, et c'est pourquoi nous devrons utiliser l'outil que nous vous présentons ci-dessous.

Qu'est-ce que hdparm?

Disque dur avec opérateurs

La commande hdparm est un outil de bas niveau qui agit comme une interface entre les différents pilotes du noyau Linux et les supports de stockage SATA / PATA / SAS en utilisant la bibliothèque libata, ainsi que pour les anciens supports IDE. N'oubliez pas que de nombreux contrôleurs de supports de stockage USB, y compris les lecteurs de cartes tels que les cartes SD, utilisent également ce type de contrôleur pour fonctionner, il est donc également compatible avec eux.

Su syntaxe de base est la suivante:

hdparm [options] [appareil]

Et présente beaucoup d'options avec lequel travailler, bien que je ne vous recommande pas de les utiliser si vous ne savez pas ce que vous faites bien, car étant un outil de bas niveau, vous pourriez sérieusement endommager votre appareil, par exemple si nous manipulons certaines options critiques telles que -B . Mais je vais vous dire que parmi ses options il y en a quelques-unes assez intéressantes telles que:

  • Obtenez le configuration du disque:
sudo hdparm /dev/sdd

  • Montrez le identification du disque:
 sudo hdparm -i /dev/sdd 
  • Vérifiez les temps de lecture du tampon et du cache:
sudo hdparm -t /dev/sdd
sudo hdparm -T /dev/sdd

N'oubliez jamais d'utiliser les privilèges, c'est-à-dire, exécutez-les en tant qu'utilisateur root ou mettez sudo devant eux ou ils ne fonctionneront pas ...

Supprimez et définissez le bit de protection de la mémoire avec hdparm:

Une fois que l'outil hdparm est connu, nous pouvons utiliser l'option -r avec laquelle nous pouvons vérifier l'état de ce bit avec une simple commande. Pour ce faire, il nous suffit de connaître le nom physique de notre périphérique de stockage. Par exemple, si / dev / sdd était appelé, dans ce cas, nous pourrions utiliser:

 sudo hdparm -r /dev/sdd 

Et la valeur dudit bit sera affichée à l'écran. Si sa valeur est 1 cela signifie que le mode est actif lecture seulement ou en lecture seule, ou en d'autres termes, la méthode de protection en écriture est active et vous ne pourrez rien écrire en mémoire. Pour le désactiver ou modifier le bit, il suffit de procéder comme suit:

sudo hdparm -r0 /dev/sdd

Et maintenant, si nous exécutons la première commande et consommons l'état, nous verrons qu'il est revenu à 0, donc le mode lecture seule est désactivé ou désactivé. Si vous souhaitez le remettre à l'état actif, utilisez l'option -r1 au lieu de -r0 et prêt. Par exemple:

sudo hdparm -r1 /dev/sdd

C'est simple activer ou désactiver ce bit. Cela n'a pas trop de mystère mais pour ceux qui ne le savent pas, cela peut être un casse-tête lorsqu'il s'agit de déprotéger leur support de stockage.

J'espère que cela vous a aidé et maintenant vous savez comment créer une clé USB protégée en écriture, n'oubliez pas laisse ton commentaires ...


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Hernán dit

    Bonjour!
    Tout d'abord, merci pour les notes! Ils sont toujours très utiles.

    Je suis un utilisateur Debian 9.
    Dans ce cas particulier, j'ai un problème que je ne peux pas résoudre. J'ai un stylo «infecté» avec une protection en écriture que je ne peux pas supprimer. Je pense déjà que c'est physique parce que j'ai honnêtement tout essayé (jusqu'au formatage de bas niveau dans Windows ou les disques de secours, la modification des partitions, etc.) et rien.

    Je pensais être sur le point de le résoudre, en suivant vos étapes, j'ai trouvé que la protection en écriture de la clé USB était "activée", mais une fois que je l'ai changée en "off", je ne peux toujours pas supprimer ou modifier quoi que ce soit dessus.

    Qui peut être? Y a-t-il un autre moyen de résoudre ce problème? (Ça ne me dérange pas de perdre les informations que j'ai à l'intérieur)

    Merci d'avance pour votre aide.

    Hernán

    1.    paco dit

      Bien! Je ne sais pas s'ils vous ont dit la solution ou finalement vous l'avez résolue, mais je suis dans le même cas que vous.
      Pouvez-vous me conseiller?
      Merci beaucoup.

  2.   willians salés dit

    bonne explication

  3.   Sergio dit

    Bonjour j'ai une clé USB que le système ne reconnaît pas, je vous envoie les informations si vous pouvez m'aider merci

    dmesg

    [83384.348839] USB 1-1: nouveau périphérique USB haute vitesse numéro 8 utilisant ehci-pci
    [83384.506219] usb 1-1: Nouveau périphérique USB détecté, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
    [83384.506225] usb 1-1: Nouvelles chaînes de périphérique USB: Mfr = 1, Product = 2, SerialNumber = 0
    [83384.506228] usb 1-1: Produit: Stockage de masse USB
    [83384.506231] usb 1-1: Fabricant: GENERIC
    [83384.506848] usb-storage 1-1: 1.0: périphérique de stockage de masse USB détecté
    [83384.508235] scsi host5: stockage USB 1-1: 1.0
    [83385.524951] scsi 5: 0: 0: 0: Stockage de masse USB générique à accès direct 1.00 PQ: 0 ANSI: 2
    [83385.556757] sd 5: 0: 0: 0: attaché scsi générique sg3 type 0
    [83385.561706] sd 5: 0: 0: 0: [sdc] Disque amovible SCSI connecté

    root @ localhost: ~ # fdisk -l
    Disque / dev / sda: 698.7 Gio, 750156374016 octets, 1465149168 secteurs
    Unités: secteurs de 1 * 512 = 512 octets
    Taille du secteur (logique / physique): 512 bytes / 4096 bytes
    Taille d'E / S (minimum / optimal): 4096 octets / 4096 octets
    Type d'étiquette de disque: gpt
    Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC

    Type de taille des secteurs de début de fin de périphérique
    / dev / sda1 2048 1050623 1048576 Système EFI 512M
    / dev / sda2 1050624 49879039 48828416 Système de fichiers Linux 23.3G
    / dev / sda3 49879040 69410815 19531776 Système de fichiers Linux 9.3G
    / dev / sda4 69410816 76107775 6696960 3.2G échange Linux
    / dev / sda5 76107776 80013311 3905536 Système de fichiers Linux 1.9G
    / dev / sda6 80013312 1465147391 1385134080 Système de fichiers Linux 660.5G

    root @ localhost: ~ # fdisk -l / dev / sdc
    fdisk: impossible d'ouvrir / dev / sdc: aucun support trouvé

    root @ localhost: ~ # hdparm / dev / sdc

    / dev / sdc:
    SG_IO: données de détection incorrectes / manquantes, 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
    compte multiple = 0 (désactivé)
    lecture seule = 0 (désactivé)
    readahead = 256 (activé)

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

    / dev / sdc:
    l'état du lecteur est: veille

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

    / dev / sdc:
    SG_IO: données de détection incorrectes / manquantes, 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

    Dispositif ATA, avec support non amovible
    Normes:
    Probablement utilisé: 1
    Configuration:
    Courant logique max
    cylindres 0 0
    têtes 0 0
    secteurs / piste 0 0
    -
    Taille du secteur logique / physique: 512 octets
    taille de l'appareil avec M = 1024 * 1024: 0 Mo
    taille de l'appareil avec M = 1000 * 1000: 0 Mo
    cache / taille du tampon = inconnu
    capacités:
    IORDY peu probable
    Impossible d'effectuer une E / S sur deux mots
    Transfert multi-secteurs R / W: non pris en charge
    DMA: non pris en charge
    IOP: pio0

  4.   Dextre dit

    merci pour votre aide, maintenant j'ai pu savoir si mon usb était contre l'écriture et j'ai vérifié qu'il n'était pas contre l'écriture donc c'est déjà une solution de formatage de bas niveau, je dois ajouter que le virus a fait déconnecter l'usb en une minute ou deux et non Ca permettait d'agir, ça ne laissait pas le temps donc puisque je savais déjà avec quel nom je lui attribuais, qui était "sdc" dans le terminal j'ai tout mis en tant qu'utilisateur root.
    # dd si = / dev / zéro | pv | jj de = / dev / sdc bs = 1M ici vous attendez un peu
    # dd si = / dev / zéro | pv | dd of = / dev / sdc bs = 446 count = 1 vous sortez et remettez l'usb que vous donnez
    # mkfs.vfat -F 32 -n "anaconda" / dev / sdc et vous avez terminé

  5.   MGT dit

    Parabens! Un certain nombre de voltas que je donne à ce sujet est pour donner une explication coa. Merci Moi.

  6.   Vainqueur dit

    Formidable. Merci beaucoup.

  7.   Iori dit

    Enfin quelque chose qui a vraiment fonctionné pour moi, merci.

  8.   cesser dit

    Bonjour j'ai une mémoire microsd ADATA catégorie 16 de 10 Go

    J'ai fait la procédure et cela semble fonctionner, mais le réinsérer et revérifier l'état le remet en lecture seule.

    J'ai essayé de le formater mais cela ne fonctionne pas. Ce que je peux voir, ce sont mes fichiers.

    tout autre outil ou moyen de résoudre le problème?.

  9.   Jose dit

    facile et concis, parfait toutes les explications et exemples, cela a été très utile.

  10.   Michel Ange dit

    Bonjour, je suis un utilisateur de Kali Linux dans sa dernière version, j'ai déjà essayé un milliard de techniques (désolé d'être exagéré) mais aucune ne me donne ni sous Linux ni sous Windows

  11.   danicardone dit

    dans mon cas, debian, la mémoire amovible doit être démontée….

  12.   JR dit

    superbe, merci
    J'ai réussi à récupérer plusieurs extraits promotionnels avec leurs instructions

  13.   Jero dit

    Bonjour, cela fonctionne mais le dossier de l'utilisateur varie, ce serait bien de le clarifier, mais j'ai une erreur, dans la commande cela me montre que je le modifie, mais quand je veux mettre un dossier ou quoi que ce soit sur la clé USB, cela dit moi qu'il est protégé en écriture. Si vous pouvez m'aider à le résoudre, ce serait formidable. Les salutations

  14.   oriel dit

    accepte la commande et l'affiche comme non protégée, c'est r = 0, mais lorsque je veux formater, il me dit protégé. Merci

  15.   William R Larreal G dit

    Bonjour. Avec ça je n'avais pas essayé mais sous Windows j'ai tout fait et rien. Ma clé USB est protégée en écriture, même avec sudo hdparm -r / dev / sdd, elle donne la valeur 1, mais avec sudo hdparm -r0 / dev / sdd, elle ne peut pas non plus supprimer la protection en écriture. Merci et salutations du Venezuela.
    Ma version Linux est openSUSE Tumbleweed 15.3

  16.   Carlos AG Ramos dit

    Informations passées avec clarté et fiabilité. Levei heures teste un certain nombre de solutions et celle-ci, présentée ici, est définitive pour le problème soumis à la lecture et au blocage de la gravação.

  17.   LUIS dit

    Excellente contribution, tout s'est passé comme vous l'avez mentionné ... merci

  18.   Uziel dit

    Merci beaucoup, très utile, cela arrive généralement beaucoup en usb, la solution est simple et rapide.

  19.   Lorenzo dit

    Merci beaucoup pour la contribution.
    Dans mon cas, Ubuntu 23.4 accepte toutes les commandes mais ne déverrouille pas le bit de protection.
    Toutes les idées?

    lorenzo@lorenzo-B85M-D3H :~$ sudo hdparm -r /dev/sdc
    [sudo] mot de passe pour lawrence :

    / dev / sdc:
    lecture seule = 1 (activé)
    lorenzo@lorenzo-B85M-D3H :~$ sudo hdparm -r0 /dev/sdc

    / dev / sdc:
    réglage de la lecture seule sur 0 (off)
    lecture seule = 1 (activé)
    lorenzo@lorenzo-B85M-D3H :~$

    merci