Γράψτε προστατευμένο Pendrive σε Linux

pendrive με προστασία εγγραφής

Εάν έχετε κάρτα μνήμης SD, μονάδα flash ή οποιονδήποτε δίσκο αποθήκευσης USB θέλετε προστασία εγγραφής, σε αυτό το άρθρο σας λέμε βήμα βήμα και εύκολα πώς να το κάνετε. Και είναι ότι υπάρχει λίγη προστασία κατά της εγγραφής που επιτρέπουν ορισμένα προγράμματα οδήγησης, γνωστή ως «bit προστασίας εγγραφής» το οποίο, ανάλογα με το αν είναι ενεργό στο 1 ή στο 0, θα επιτρέπει την εγγραφή στη μονάδα ή όχι. Αυτό το bit δεν πρέπει να συγχέεται με το WP των καταχωρητών σημαίας CPU, οι οποίοι εμποδίζουν την αντικατάσταση δημιουργώντας μια διαδικασία fork σε συστήματα παρόμοια με το UNIX, προστατεύοντας έτσι την κύρια μνήμη από μια εγγραφή δεδομένων. Ούτε στην τυπική καρτέλα προστασίας που βρίσκουμε σε ορισμένες κάρτες SD ή μέσα αποθήκευσης. Σε αυτή την περίπτωση αναφερόμαστε σε προστασία που εφαρμόζεται στα δευτερεύοντα μέσα αποθήκευσης.

Ενώ ο ελεγκτής του μέσο αποθήκευσης Η κάρτα μνήμης USB ή SD ή οποιοδήποτε μέσο ανιχνεύει ότι αυτό το bit είναι ενεργό, το πρόγραμμα οδήγησης θα εμποδίσει τον πυρήνα να παραγγείλει μια εντολή εγγραφής και επομένως θα μπορεί να διαβάσει μόνο το περιεχόμενο από αυτό. Είναι σίγουρα πολύ χρήσιμο όταν αποθηκεύουμε δεδομένα που δεν θέλουμε να τροποποιηθούν, αποφεύγοντας κατά λάθος εγγραφή ή διαγραφή. Αλλά αν ένα από αυτά τα προστατευμένα μέσα έχει πέσει στα χέρια μας και αγνοούμε την ύπαρξη αυτού του bit, μπορούμε να χάσουμε ώρες νομίζοντας ότι η μονάδα μας είναι κατεστραμμένη ή ανεβοκατεβαίνοντας την καρτέλα που έχουν ορισμένες μονάδες flash ή κάρτες SD για να τα προστατεύσουν χωρίς αποτέλεσμα (Κλείδωμα/Ξεκλείδωμα)...

Τοποθετήστε ένα μέσο μόνο για ανάγνωση ή εγγράψιμο:

Κάρτα SD με καρτέλα Κλείδωμα

Αν και δεν είναι ακριβώς αυτό που ψάχνουμε με το Bit Προστασίας Εγγραφής, μπορούμε επίσης να βρούμε ότι ένα μέσο έχει τοποθετείται αυτόματα ή χειροκίνητα μόνο για ανάγνωση, έτσι δεν θα έχουμε τη δυνατότητα να γράψουμε σε αυτό. Κάτι που σε ορισμένες περιπτώσεις μπορεί να είναι πολύ ενοχλητικό και να μας εμποδίσει να τροποποιήσουμε ή να αποθηκεύσουμε πράγματα. Λοιπόν, η λύση σε αυτό είναι πολύ απλή.

σχετικό άρθρο:
Απενεργοποιήστε την αποθήκευση USB στο Linux

Για παράδειγμα, εάν στο αρχείο /etc/fstab η συσκευή έχει ρυθμιστεί ώστε να προσαρτάται αυτόματα με την επιλογή ro (μόνο για ανάγνωση) ή αν το έχουμε προσαρτήσει με την εντολή:

sudo mount -o ro /dev/sda /mnt

Σε μια τέτοια περίπτωση μπορούμε να διαβάσουμε μόνο τη συσκευή /dev/sda σε αυτήν την περίπτωση που έχει προσαρτηθεί στο σημείο προσάρτησης /mnt. Μπορούμε λοιπόν να του ξαναγράψουμε:

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

Σε περίπτωση που αυτή η μέθοδος δεν λειτουργεί για εσάς, τότε θα είναι επειδή το κομμάτι για το οποίο μιλήσαμε είναι η υποκριτική, και γι' αυτό θα πρέπει να χρησιμοποιήσουμε το εργαλείο που παρουσιάζουμε παρακάτω.

Τι είναι το hdparm;

Σκληρός δίσκος με χειριστές

Η εντολή Το hdparm είναι ένα εργαλείο χαμηλού επιπέδου που λειτουργεί ως διεπαφή μεταξύ διαφόρων προγραμμάτων οδήγησης πυρήνα Linux και μέσων αποθήκευσης SATA/PATA/SAS μέσω της βιβλιοθήκης libata, καθώς και σε παλιά μέσα IDE. Να θυμάστε ότι πολλοί ελεγκτές μέσων αποθήκευσης USB, συμπεριλαμβανομένων των συσκευών ανάγνωσης καρτών όπως η SD, χρησιμοποιούν επίσης αυτόν τον τύπο ελεγκτή για λειτουργία, επομένως είναι επίσης συμβατός με αυτούς.

Su βασική σύνταξη είναι:

hdparm [επιλογές] [συσκευή]

Και δώρα Πολλές επιλογές με τα οποία μπορείτε να εργαστείτε, αν και δεν σας συνιστώ να τα χρησιμοποιήσετε εάν δεν ξέρετε τι κάνετε, καθώς ως εργαλείο χαμηλού επιπέδου θα μπορούσατε να βλάψετε σοβαρά τη συσκευή σας, για παράδειγμα αν χειριστούμε ορισμένες κρίσιμες επιλογές όπως το -B. Θα σας πω όμως ότι ανάμεσα στις επιλογές του υπάρχουν και κάποιες αρκετά ενδιαφέρουσες όπως:

  • Αποκτήστε το ρύθμισης του δίσκου:
sudo hdparm /dev/sdd

  • Δείξτε το αναγνώρισης του δίσκου:
 sudo hdparm -i /dev/sdd 
  • Ελέγξτε τους χρόνους ανάγνωσης buffer και cache:
sudo hdparm -t /dev/sdd
sudo hdparm -T /dev/sdd

Να θυμάστε πάντα να χρησιμοποιείτε τα προνόμια, δηλαδή να τα εκτελούμε ως root user ή να τα βάζουμε sudo πριν, αλλιώς δεν θα λειτουργήσουν...

Διαγράψτε και ρυθμίστε το bit προστασίας της μνήμης με το hdparm:

Μόλις γίνει γνωστό το εργαλείο hdparm, μπορούμε να χρησιμοποιήσουμε την επιλογή -r με την οποία μπορούμε να ελέγξουμε την κατάσταση αυτού του bit με μια απλή εντολή. Για να γίνει αυτό, χρειάζεται μόνο να γνωρίζουμε το φυσικό όνομα της συσκευής αποθήκευσης μας. Για παράδειγμα, αν ονομαζόταν /dev/sdd, τότε θα μπορούσαμε να χρησιμοποιήσουμε:

 sudo hdparm -r /dev/sdd 

Και η τιμή του εν λόγω bit θα εμφανιστεί στην οθόνη. Εάν η τιμή του είναι 1, σημαίνει ότι η λειτουργία είναι ενεργή. μόνο για ανάγνωση ή μόνο για ανάγνωση, ή με άλλα λόγια, η μέθοδος προστασίας εγγραφής είναι ενεργή και δεν θα μπορείτε να γράψετε τίποτα στη μνήμη. Για να το απενεργοποιήσετε ή να τροποποιήσετε το bit, πρέπει απλώς να κάνετε τα εξής:

sudo hdparm -r0 /dev/sdd

Και τώρα αν εκτελέσουμε την πρώτη εντολή και ελέγξουμε την κατάσταση θα δούμε ότι έχει επιστρέψει στο 0, επομένως η λειτουργία μόνο για ανάγνωση είναι απενεργοποιημένη ή απενεργοποιημένη. Σε περίπτωση που θέλετε να το επαναφέρετε στην ενεργή κατάσταση, χρησιμοποιήστε την επιλογή -r1 αντί για -r0 και έτοιμο. Για παράδειγμα:

sudo hdparm -r1 /dev/sdd

Αυτό είναι απλό ενεργοποιήστε ή απενεργοποιήστε αυτό το κομμάτι. Δεν είναι πολύ μυστηριώδες, αλλά για όσους δεν το γνωρίζουν αυτό μπορεί να είναι πονοκέφαλος όταν πρόκειται να μην προστατεύσετε το μέσο αποθήκευσης.

Ελπίζω να σας βοήθησε και τώρα ξέρετε πώς να φτιάξετε μια μονάδα flash με προστασία εγγραφής, μην ξεχνάτε αφήστε το σχόλιό σαςs ...


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Hernán dijo

    Γεια σας!
    Καταρχήν ευχαριστώ για τις σημειώσεις! Είναι πάντα πολύ χρήσιμα.

    Είμαι χρήστης του Debian 9.
    Στη συγκεκριμένη περίπτωση, έχω ένα πρόβλημα που δεν μπορώ να λύσω. Έχω ένα "μολυσμένο" στυλό με προστασία εγγραφής που ΔΕΝ μπορώ να αφαιρέσω. Σκέφτομαι ήδη ότι είναι κάτι φυσικό γιατί ειλικρινά έχω δοκιμάσει τα πάντα (ακόμα και μορφοποίηση χαμηλού επιπέδου σε Windows ή δίσκους διάσωσης, τροποποίηση κατατμήσεων κ.λπ.) και τίποτα.

    Σκέφτηκα ότι επρόκειτο να το λύσω, όταν ακολουθώντας τα βήματά σας, διαπίστωσα ότι η προστασία εγγραφής της μονάδας flash ήταν "on", αλλά μόλις την άλλαξα σε "off" δεν μπορώ να διαγράψω ή να τροποποιήσω τίποτα σε αυτήν.

    Ποιο μπορεί να είναι; Υπάρχει κάποιος άλλος τρόπος να λυθεί αυτό; (Δεν με πειράζει να χάσω τις πληροφορίες που έχω μέσα)

    Σας ευχαριστώ εκ των προτέρων για τη βοήθειά σας.

    Hernán

    1.    Paco dijo

      Γεια σας καλέ! Δεν ξέρω αν σου είπαν τη λύση ή τελικά την έλυσες, αλλά είμαι στην ίδια περίπτωση με σένα.
      Μπορείτε να με συμβουλεύσετε;
      Σας ευχαριστώ πολύ.

  2.   Γουίλιαμς Σαλγκάδο dijo

    καλή εξήγηση

  3.   sergio dijo

    Γεια σας Έχω ένα USB που δεν αναγνωρίζει το σύστημα, σας στέλνω τις πληροφορίες αν μπορείτε να με βοηθήσετε, ευχαριστώ

    dmesg

    [83384.348839] usb 1-1: νέα συσκευή USB υψηλής ταχύτητας αριθμός 8 χρησιμοποιώντας ehci-pci
    [83384.506219] usb 1-1: Βρέθηκε νέα συσκευή USB, idVendor = 0c76, idProduct = 0005, bcdDevice = 1.00
    [83384.506225] usb 1-1: Νέες συμβολοσειρές συσκευών USB: Mfr = 1, Product = 2, SerialNumber = 0
    [83384.506228] usb 1-1: Προϊόν: Μαζική αποθήκευση USB
    [83384.506231] usb 1-1: Κατασκευαστής: GENERIC
    [83384.506848] αποθήκευση usb 1-1: 1.0: Εντοπίστηκε συσκευή μαζικής αποθήκευσης USB
    [83384.508235] scsi host5: αποθήκευση usb 1-1: 1.0
    [83385.524951] scsi 5:0:0:0: Απευθείας πρόσβαση ΓΕΝΙΚΗ Μαζική αποθήκευση USB 1.00 PQ: 0 ANSI: 2
    [83385.556757] sd 5: 0: 0: 0: Συνημμένο scsi γενικό sg3 τύπου 0
    [83385.561706] sd 5: 0: 0: 0: [sdc] Συνημμένος αφαιρούμενος δίσκος SCSI

    root @ localhost: ~ # fdisk -l
    Δίσκος / dev / sda: 698.7 GiB, 750156374016 bytes, τομείς 1465149168
    Μονάδες: τομείς 1 * 512 = 512 byte
    Μέγεθος τομέα (λογικό / φυσικό): 512 bytes / 4096 byte
    Μέγεθος I / O (ελάχιστο / βέλτιστο): bytes 4096 / bytes 4096
    Τύπος δίσκου: gpt
    Disk identifier: 995F9474-C5F1-4EE9-8FD7-13EA790423DC

    Τύπος μεγέθους τομέων έναρξης συσκευής
    /dev/sda1 2048 1050623 1048576 512M EFI System
    /dev/sda2 1050624 49879039 48828416 Σύστημα αρχείων Linux 23.3G
    /dev/sda3 49879040 69410815 19531776 Σύστημα αρχείων Linux 9.3G
    /dev/sda4 69410816 76107775 6696960 3.2G Linux swap
    /dev/sda5 76107776 80013311 3905536 Σύστημα αρχείων Linux 1.9G
    /dev/sda6 80013312 1465147391 1385134080 660.5G σύστημα αρχείων Linux

    root @ localhost: ~ # fdisk -l / dev / sdc
    fdisk: δεν μπορεί να ανοίξει / dev / sdc: Δεν βρέθηκε μέσο

    root@localhost:~# hdparm /dev/sdc

    / dev / sdc:
    SG_IO: δεδομένα κακής αίσθησης/ελλείπουν, 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
    πολλαπλός αριθμός = 0 (απενεργοποίηση)
    μόνο για ανάγνωση = 0 (απενεργοποίηση)
    readahead = 256 (ενεργό)

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

    / dev / sdc:
    Η κατάσταση της μονάδας είναι: αναμονή

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

    / dev / sdc:
    SG_IO: δεδομένα κακής αίσθησης/ελλείπουν, 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

    Συσκευή ATA, με μη αφαιρούμενα μέσα
    Πρότυπα:
    Πιθανότατα χρησιμοποιείται: 1
    Διαμόρφωση:
    Λογικό μέγιστο ρεύμα
    κύλινδροι 0 ​​0
    κεφάλια 0 0
    τομείς/κομμάτι 0 0
    -
    Μέγεθος Logical/Physical Sector: 512 byte
    μέγεθος συσκευής με M = 1024*1024: 0 MByte
    μέγεθος συσκευής με M = 1000*1000: 0 MByte
    μέγεθος προσωρινής μνήμης/buffer = άγνωστο
    δυνατότητες:
    Το IORDY δεν είναι πιθανό
    Δεν είναι δυνατή η εκτέλεση δύο λέξεων IO
    Μεταφορά πολλαπλών τομέων R / W: δεν υποστηρίζεται
    DMA: δεν υποστηρίζεται
    ΙΟΡ: pio0

  4.   δεξτρά dijo

    Ευχαριστώ για τη βοήθειά σας, τώρα μπόρεσα να μάθω αν το usb μου ήταν αντίθετο στη γραφή και επαλήθευσα ότι δεν ήταν ενάντια στη γραφή, οπότε αυτή είναι ήδη μια λύση μορφοποίησης χαμηλού επιπέδου, πρέπει να προσθέσω ότι ο ιός έκανε το USB να αποσυνδεθεί σε ένα ή δύο λεπτά και δεν του επέτρεψε να δράσει, δεν άφησε χρόνο, οπότε αφού ήξερα ήδη ποιο όνομα το έβαλα ως "sdc" ως ριζικό χρήστη.
    # dd if=/dev/zero |pv| dd of=/dev/sdc bs=1M εδώ περιμένετε λίγο
    # dd if=/dev/zero |pv| dd of=/dev/sdc bs=446 count=1 βγάζεις και ξαναβάζεις το usb το δίνεις
    # mkfs.vfat -F 32 -n "anaconda" /dev/sdc και έγινε

  5.   MGT dijo

    Parabens! Ένας de voltas dei με αυτό το θέμα πρέπει να δώσει την εξήγησή σας. Moi ευγνώμων.

  6.   Νικητής dijo

    Εξαιρετική. Σε ευχαριστώ πάρα πολύ.

  7.   Iori dijo

    Επιτέλους κάτι που λειτούργησε πραγματικά για μένα, ευχαριστώ.

  8.   παύουν dijo

    Γεια σας, έχω μνήμη ADATA microsd 16 GB κατηγορίας 10

    Έκανα τη διαδικασία και φαίνεται να λειτουργεί, αλλά όταν την επανατοποθετήσω και ελέγξω ξανά την κατάσταση, επιστρέφει σε μόνο για ανάγνωση.

    Προσπάθησα να το μορφοποιήσω αλλά δεν λειτουργεί. Αυτό που μπορώ να δω είναι τα αρχεία μου.

    Υπάρχει κάποιο άλλο εργαλείο ή τρόπος για να λυθεί το πρόβλημα;

  9.   jose dijo

    Εύκολο και συνοπτικό, τέλεια όλες οι επεξηγήσεις και τα παραδείγματα, μου ήταν πολύ χρήσιμο.

  10.   Michelangelo dijo

    Γεια σας, είμαι χρήστης του Kali Linux, στην πιο πρόσφατη έκδοσή του έχω ήδη δοκιμάσει ένα δισεκατομμύριο τεχνικές (συγγνώμη για την υπερβολή) αλλά καμία δεν λειτουργεί για μένα σε Linux ή Windows

  11.   δανικαρδόνη dijo

    στην περίπτωσή μου, debian, η αφαιρούμενη μνήμη πρέπει να είναι αποπροσαρτημένη….

  12.   JR dijo

    υπέροχα, σ'ευχαριστώ
    Κατάφερα να ανακτήσω πολλά προωθητικά εξαγόμενα με τις οδηγίες σας

  13.   Jero dijo

    Γεια, δουλεύει αλλά ο φάκελος του χρήστη ποικίλλει, καλό θα ήταν να τον διευκρίνιζαν, αλλά έχω ένα σφάλμα, στην εντολή μου δείχνει ότι τον τροποποίησα, αλλά όταν θέλω να βάλω φάκελο ή οτιδήποτε άλλο στο flash drive μου λέει ότι είναι προστασία εγγραφής. Αν μπορείτε να με βοηθήσετε να το λύσω, θα ήταν υπέροχο. Χαιρετίσματα

  14.   εξέχων παράθυρο dijo

    δέχεται την εντολή και την δείχνει ως απροστάτευτη είναι r=0, αλλά όταν θέλω να μορφοποιήσω μου λέει προστατευμένη. ευχαριστώ

  15.   William R Larreal G dijo

    Γειά Καλημέρα. Με αυτό δεν είχα δοκιμάσει αλλά στα Windows έχω κάνει τα πάντα και τίποτα. Η μονάδα flash μου έχει προστασία εγγραφής, ακόμα και με sudo hdparm -r /dev/sdd δίνει τιμή 1, αλλά με sudo hdparm -r0 /dev/sdd δεν μπορούσε να αφαιρέσει ούτε την προστασία εγγραφής. Ευχαριστώ και χαιρετισμούς από τη Βενεζουέλα.
    Η έκδοση Linux μου είναι openSUSE Tumbleweed 15.3

  16.   Carlos AG Ramos dijo

    Οι πληροφορίες διαβιβάζονται με σαφήνεια και αξιοπιστία. Πέρασα ώρες δοκιμάζοντας έναν ημι-αριθμό λύσεων και αυτή, που παρουσιάζεται εδώ, είναι η οριστική για το πρόβλημα μόνο με τη λειτουργία ανάγνωσης και τον αποκλεισμό εγγραφής.

  17.   LUIS dijo

    Εξαιρετική συνεισφορά, όλα έγιναν όπως αναφέρατε... ευχαριστώ

  18.   Ουζέλ dijo

    Ευχαριστώ πολύ, πολύ χρήσιμο, αυτό συμβαίνει συνήθως πολύ σε USB, η λύση είναι εύκολη και γρήγορη.

  19.   Lorenzo dijo

    Ευχαριστώ πολύ για τη συνεισφορά.
    Στην περίπτωσή μου, το Ubuntu 23.4 δέχεται όλες τις εντολές αλλά δεν ξεκλειδώνει το bit προστασίας.
    Οποιεσδήποτε ιδέες;

    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r /dev/sdc
    [sudo] κωδικός πρόσβασης για Lawrence:

    / dev / sdc:
    μόνο για ανάγνωση = 1 (ενεργό)
    lorenzo@lorenzo-B85M-D3H:~$ sudo hdparm -r0 /dev/sdc

    / dev / sdc:
    ρύθμιση μόνο για ανάγνωση στο 0 (απενεργοποίηση)
    μόνο για ανάγνωση = 1 (ενεργό)
    lorenzo@lorenzo-B85M-D3H:~$

    Ευχαριστίες