1. Χρήση Grub (Grand Unified Bootloader) - Η πιο κοινή μέθοδος
Αυτή η μέθοδος περιλαμβάνει τη διακοπή της διαδικασίας εκκίνησης και την εκκίνηση σε μια λειτουργία ενός χρήστη όπου μπορείτε να επαναφέρετε τον κωδικό πρόσβασης.
βήματα:
1. Επανεκκινήστε το σύστημα: Επανεκκινήστε το μηχάνημα Linux.
2. Διακοπή της διαδικασίας εκκίνησης: Καθώς οι εκκινήσεις του συστήματος, παρακολουθήστε το μενού Grub. Συνήθως θα δείτε μια λίστα λειτουργικών συστημάτων. Μπορεί να χρειαστεί να πατήσετε ένα πλήκτρο (όπως `esc`,` shift ', `e` ή` Enter') επανειλημμένα ή να το κρατήσετε κάτω για να εμφανίσετε το μενού. Το κλειδί ποικίλλει ανάλογα με το σύστημά σας και τη διαμόρφωση του Grub. Εάν δεν βλέπετε το μενού Grub, μπορεί να είναι κρυμμένο. Κρατώντας το "Shift` κατά τη διάρκεια της εκκίνησης συχνά το αποκαλύπτει.
3. Επεξεργασία της καταχώρησης Grub: Μόλις εμφανιστεί το μενού Grub, χρησιμοποιήστε τα πλήκτρα βέλους για να επισημάνετε την καταχώρηση που θέλετε να εκκινήσετε (συνήθως η προεπιλεγμένη επιλογή Linux). Πατήστε `e` για να επεξεργαστείτε την επιλεγμένη καταχώρηση. Αυτό θα ανοίξει έναν επεξεργαστή κειμένου στο περιβάλλον Grub.
4. Βρείτε τη γραμμή πυρήνα: Αναζητήστε μια γραμμή που ξεκινά με το "Linux" ή το "Linux16". Αυτή η γραμμή περιέχει παραμέτρους που διαβιβάστηκαν στον πυρήνα κατά τη διάρκεια της εκκίνησης.
5.
* `init =/bin/bash`: Αυτή είναι η παλαιότερη, πιο κοινή μέθοδος. Λέει στον πυρήνα να ξεκινήσει το `/bin/bash` ως την αρχική διαδικασία αντί του κανονικού συστήματος init (όπως το σύστημα ή το sysvinit). Αυτό σας δίνει αποτελεσματικά ένα κέλυφος ρίζας. Αφού ολοκληρώσετε την αλλαγή του κωδικού πρόσβασης, θα χρειαστεί να επαναπροσδιορίσετε το σύστημα αρχείων ρίζας ως ανάγνωση πριν μπορείτε να αλλάξετε τον κωδικό πρόσβασης.
* `rd.break enforcing =0` (centos/rhel/fedora με selinux): Αυτή είναι γενικά η μέθοδος * προτιμώμενης * για τα συστήματα με βάση το Red Hat (CentOS, RHEL, Fedora) που έχουν ενεργοποιημένη το SELINUX. Το `rd.break` λέει στους initramfs να σταματήσει τη διαδικασία εκκίνησης πριν μεταβείτε στο πραγματικό σύστημα αρχείων ρίζας, δίνοντάς σας την ευκαιρία να κάνετε αλλαγές. `enforing =0` βάζει το SELINUX σε επιτρεπτή λειτουργία, εμποδίζοντας το SELINUX να παρεμβαίνει στην επαναφορά του κωδικού πρόσβασης.
* `systemd.unit =exclance.target` (systemd systems): Αυτό θα προκαλέσει την εκκίνηση του συστήματος σε λειτουργία έκτακτης ανάγκης
Παράδειγμα (χρησιμοποιώντας `init =/bin/bash '):
`` `
linux/boot/vmlinuz-5.15.0-72-generic root =/dev/mapper/vgubuntu-root ro ήσυχο splash $ vt_handoff
`` `
Τροποποιήστε το σε:
`` `
linux/boot/vmlinuz-5.15.0-72-generic root =/dev/mapper/vgubuntu-root ro ήσυχο splash $ vt_handoff init =/bin/bash
`` `
Παράδειγμα (χρησιμοποιώντας `rd.break enforcing =0`):
`` `
linux/boot/vmlinuz-5.15.0-72-generic root =/dev/mapper/vgubuntu-root ro ήσυχο splash $ vt_handoff
`` `
Τροποποιήστε το σε:
`` `
linux/boot/vmlinuz-5.15.0-72-generic root =/dev/mapper/vgubuntu-root ro ήσυχο splash $ vt_handoff rd.break enforcing =0
`` `
Τοποθετήστε την επιλογή στο * τέλος * της γραμμής μετά από οποιεσδήποτε άλλες υπάρχουσες επιλογές, χωρισμένες από ένα χώρο.
6. Εκκίνηση της επεξεργασίας καταχώρησης: Πατήστε `ctrl+x` ή` f10` για να εκκινήσετε με την τροποποιημένη καταχώρηση grub.
7. Ανακατασκευή του συστήματος αρχείων ρίζας (εάν χρησιμοποιείτε `init =/bin/bash`):
* Με `init =/bin/bash`, το σύστημα αρχείων ρίζας είναι τοποθετημένο μόνο για ανάγνωση. Πρέπει να το επαναφέρετε ως ανάγνωση-WRITE προτού να μπορέσετε να αλλάξετε τον κωδικό πρόσβασης. Εκτελέστε την ακόλουθη εντολή:
`` `bash
mount -o remount, rw /
`` `
8. Αλλάξτε τον κωδικό πρόσβασης ρίζας: Χρησιμοποιήστε την εντολή `passwd`:
`` `bash
διαβάσεις
`` `
Εισαγάγετε τον νέο κωδικό πρόσβασης όταν σας ζητηθεί. Θα σας ζητηθεί να το εισαγάγετε ξανά για επιβεβαίωση.
9.
* Το σύστημα αρχείων ενδέχεται να μην βρίσκεται στον ριζικό κατάλογο. Θα χρειαστεί πρώτα να chroot στη ρίζα.
`` `bash
chroot /sysroot
`` `
* Τώρα, αλλάξτε τον κωδικό πρόσβασης ρίζας:
`` `bash
διαβάσεις
`` `
10.
* Αφού αλλάξετε τον κωδικό πρόσβασης, πρέπει να επαναλάβετε το σύστημα αρχείων.
`` `bash
άγγιγμα /.Autorelabel
έξοδος
έξοδος
`` `
Το σύστημα θα επανεκκινήσει και θα εκτελέσει τη διαδικασία επανασύνδεσης. Αυτό μπορεί να διαρκέσει λίγο. Μην διακόπτετε τη διαδικασία.
11. Επανεκκίνηση: Πληκτρολογήστε `exec /sbin /init` (ή` reboot -f` εάν η πρώτη εντολή δεν λειτουργεί, αλλά αυτό είναι λιγότερο καθαρό και μπορεί ενδεχομένως να οδηγήσει σε ασυνέπειες του συστήματος αρχείων). Εάν χρησιμοποιείτε `init =/bin/bash`, η πληκτρολόγηση` exit` μπορεί να λειτουργήσει σε ορισμένες περιπτώσεις, αλλά το `exec/sbin/init` είναι γενικά πιο αξιόπιστο.
Σημαντικές εκτιμήσεις για τη μέθοδο Grub:
* Προστασία κωδικού πρόσβασης Grub: Εάν το grub bootloader σας προστατεύεται με κωδικό πρόσβασης, αυτή η μέθοδος δεν θα λειτουργήσει απευθείας. Θα πρέπει πρώτα να γνωρίζετε τον κωδικό πρόσβασης Grub.
* κρυπτογράφηση (luks): Εάν το σύστημα αρχείων ρίζας είναι κρυπτογραφημένο (π.χ., χρησιμοποιώντας LUKS), θα πρέπει να ξεκλειδώσετε το κρυπτογραφημένο διαμέρισμα * Πριν * μπορείτε να αποκτήσετε πρόσβαση και να τροποποιήσετε τον κωδικό πρόσβασης. Αυτό γενικά συνεπάγεται την είσοδο στο Πάρκο αποκρυπτογράφησης κατά την εκκίνηση. Τα παραπάνω βήματα ισχύουν μετά την απελευθέρωση του κρυπτογραφημένου όγκου.
* selinux (centos/rhel/fedora): Σε συστήματα με SELinux ενεργοποιημένη, είναι * κρίσιμο * να επαναλάβει το σύστημα αρχείων μετά την αλλαγή του κωδικού πρόσβασης, όπως φαίνεται στις οδηγίες `rd.break`. Εάν δεν το κάνετε αυτό, ενδέχεται να αντιμετωπίσετε σοβαρά προβλήματα, συμπεριλαμβανομένης της αδυναμίας να συνδεθείτε ακόμη και με τον σωστό κωδικό πρόσβασης.
2. Χρησιμοποιώντας ένα ζωντανό CD/USB
Αυτή η μέθοδος περιλαμβάνει εκκίνηση από ένα ζωντανό περιβάλλον Linux (π.χ. Ubuntu Live CD, Fedora Live USB) και τοποθετώντας το διαμέρισμα ρίζας σας για να αλλάξετε τον κωδικό πρόσβασης.
βήματα:
1. Εκκίνηση από ζωντανά μέσα: Εκκινήστε τον υπολογιστή σας από το Linux Live CD ή το USB Drive.
2. Προσδιορίστε το διαμέρισμα ρίζας σας: Ανοίξτε ένα τερματικό στο ζωντανό περιβάλλον. Χρησιμοποιήστε την εντολή `lsblk` ή` fdisk -l` για να προσδιορίσετε το σωστό διαμέρισμα που περιέχει το σύστημα αρχείων ρίζας της εγκατάστασης του Linux (`/`). Αναζητήστε το διαμέρισμα που έχει το σημείο root` mount που έχει αντιστοιχιστεί σε αυτό.
3. Τοποθετήστε το διαμέρισμα ρίζας: Δημιουργήστε ένα σημείο mount (έναν κατάλογο) και τοποθετήστε το διαμέρισμα ρίζας εκεί. Αντικαταστήστε το `/dev/sdax` με την πραγματική συσκευή και το διαμέρισμα που εντοπίσατε στο προηγούμενο βήμα.
`` `bash
sudo mkdir /mnt /myroot
sudo mount /dev /sdax /mnt /myroot
`` `
Εάν έχετε ξεχωριστό διαμέρισμα `/boot`, ίσως χρειαστεί να το τοποθετήσετε:
`` `bash
sudo mount/dev/sday/mnt/myroot/boot # αντικατάσταση/dev/sday με το διαμέρισμα εκκίνησης σας
`` `
4. Τοποθετήστε το `proc`,` sys` και `dev 'συστήματα αρχείων από το ζωντανό περιβάλλον στον τοποθετημένο ριζικό κατάλογο. Αυτό είναι απαραίτητο για να λειτουργήσει σωστά το `chroot`.
`` `bash
sudo mount -o bind /proc /mnt /myroot /proc
sudo mount -o bind /sys /mnt /myroot /sys
sudo mount -o bind /dev /mnt /myroot /dev
sudo mount -o bind/dev/pts/mnt/myroot/dev/pts
`` `
5. chroot στο σύστημα αρχείων ρίζας: Χρησιμοποιήστε την εντολή `chroot` για να αλλάξετε τον ριζικό κατάλογο στο τοποθετημένο διαμέρισμα. Αυτό κάνει το τοποθετημένο διαμέρισμα σας τη "ρίζα" για τις επόμενες εντολές.
`` `bash
sudo chroot /mnt /myroot
`` `
6. Αλλάξτε τον κωδικό πρόσβασης ρίζας: Χρησιμοποιήστε την εντολή `passwd`:
`` `bash
διαβάσεις
`` `
Εισαγάγετε τον νέο κωδικό πρόσβασης όταν σας ζητηθεί.
7.
`` `bash
Έξοδος # Έξοδος από το περιβάλλον chroot
sudo umount/mnt/myroot/dev/pts
sudo umount/mnt/myroot/dev
sudo umount/mnt/myroot/sys
sudo umount/mnt/myroot/proc
sudo umount /mnt /myroot /boot # αν τοποθετήσετε /εκκίνηση
sudo umount /mnt /myroot
`` `
8. Επανεκκίνηση: Επανεκκινήστε τον υπολογιστή σας και εκκινήστε τον κανονικό σας σκληρό δίσκο.
Σημαντικές εκτιμήσεις για τη μέθοδο Live CD/USB:
* κρυπτογράφηση (luks): Εάν το σύστημα αρχείων ρίζας είναι κρυπτογραφημένο, θα πρέπει να το ξεκλειδώσετε από το ζωντανό περιβάλλον * πριν * μπορείτε να το τοποθετήσετε. Χρησιμοποιήστε το `cryptsetup luksopen/dev/sdax myroot` (αντικαταστήστε το`/dev/sdax` με το κρυπτογραφημένο διαμέρισμα) και εισαγάγετε τη φράση πρόσβασης. Στη συνέχεια, τοποθετήστε το `/dev/mapper/myroot` αντί για`/dev/sdax '.
* LVM (Διαχείριση λογικής όγκου): Εάν το σύστημα αρχείων ρίζας σας βρίσκεται σε λογική ένταση LVM, ίσως χρειαστεί να ενεργοποιήσετε πρώτα την ομάδα έντασης:`sudo vgchange -AY '. Στη συνέχεια, προσδιορίστε το λογικό όγκο και τοποθετήστε το.
* Ασφαλής εκκίνηση: Εάν είναι ενεργοποιημένη η ασφαλής εκκίνηση στις ρυθμίσεις UEFI, ίσως χρειαστεί να την απενεργοποιήσετε ή να το διαμορφώσετε για να επιτρέψετε την εκκίνηση από εξωτερικά μέσα.
3. Χρησιμοποιώντας την παράμετρο πυρήνα `single` (λιγότερο συνηθισμένη, μπορεί να μην λειτουργεί σε όλα τα συστήματα)
Αυτή η μέθοδος είναι παρόμοια με τη μέθοδο Grub, αλλά χρησιμοποιεί μια διαφορετική παράμετρο πυρήνα. Μπορεί να μην είναι τόσο αξιόπιστο όσο η μέθοδος `init =/bin/bash` στα σύγχρονα συστήματα.
βήματα:
1. Επανεκκίνηση και διακόπτε τη διαδικασία εκκίνησης: Ίδια όπως και στη μέθοδο Grub (βήματα 1 και 2).
2. Επεξεργασία της καταχώρησης Grub: Ίδια όπως και στη μέθοδο Grub (βήματα 3 και 4).
3. Προσθέστε `single 'ή` 1` στο τέλος της γραμμής `linux' ή` linux16 '.
4. Εκκίνηση της επεξεργασίας καταχώρησης: Πατήστε `ctrl+x` ή` f10` για εκκίνηση.
5. Αλλάξτε τον κωδικό πρόσβασης ρίζας: Το σύστημα θα πρέπει να εκκινήσει σε λειτουργία ενός χρήστη, δίνοντάς σας ένα κέλυφος ρίζας. Χρησιμοποιήστε την εντολή `passwd`:
`` `bash
διαβάσεις
`` `
6. Επανεκκίνηση: Τύπος `reboot`.
Γιατί αυτές οι μέθοδοι λειτουργούν (Επεξήγηση):
* Grub και Mode User: Το Grub είναι ο bootloader που φορτώνει τον πυρήνα του Linux. Με τη διακοπή της διαδικασίας εκκίνησης και την τροποποίηση των παραμέτρων του πυρήνα, μπορούμε να δώσουμε εντολή στον πυρήνα να εκκινήσει σε ειδική λειτουργία (λειτουργία ενός χρήστη) όπου έχουμε άμεση πρόσβαση στον λογαριασμό ρίζας * χωρίς * που απαιτεί κωδικό πρόσβασης. Αυτό οφείλεται στο γεγονός ότι η λειτουργία ενός χρήστη έχει σχεδιαστεί για συντήρηση και ανάκτηση συστήματος. Η παράμετρος `init =/bin/bash` υπερισχύει της τυπικής διαδικασίας αρχικοποίησης, δίνοντάς σας απευθείας ένα κέλυφος ρίζας.
* Live CD/USB και Chroot: Ένα ζωντανό CD/USB παρέχει ένα ξεχωριστό περιβάλλον λειτουργίας Linux. Με την τοποθέτηση του διαμερίσματος ρίζας του εγκατεστημένου συστήματος σας και χρησιμοποιώντας το `chroot`, αλλάζετε ουσιαστικά το σύστημα αρχείων ρίζας στον ριζικό κατάλογο του εγκατεστημένου συστήματος σας. Αυτό σας επιτρέπει να εκτελείτε εντολές (όπως `passwd`) σαν να έχετε συνδεθεί στο εγκατεστημένο σας σύστημα, παρόλο που τα τρέχετε πραγματικά από το ζωντανό περιβάλλον.
Σκέψεις ασφαλείας:
* Φυσική πρόσβαση: Αυτές οι μέθοδοι απαιτούν φυσική πρόσβαση στο μηχάνημα. Εάν κάποιος έχει φυσική πρόσβαση, μπορεί ενδεχομένως να θέσει σε κίνδυνο το σύστημα, ανεξάρτητα από τον κωδικό πρόσβασης.
* Κωδικός πρόσβασης Grub: Εξετάστε το ενδεχόμενο να ορίσετε έναν κωδικό πρόσβασης για το Grub για να αποτρέψετε την μη εξουσιοδοτημένη τροποποίηση των επιλογών εκκίνησης.
* κρυπτογράφηση: Η κρυπτογράφηση του συστήματος αρχείων ριζών σας (π.χ. με LUKS) προσθέτει ένα ισχυρό στρώμα ασφάλειας, καθώς ένας εισβολέας θα χρειαζόταν τη φράση αποκρυπτογράφησης για πρόσβαση στα δεδομένα, ακόμη και με φυσική πρόσβαση.
* Ασφαλής εκκίνηση: Η Secure Boot βοηθά στην πρόληψη της λειτουργίας των μη εξουσιοδοτημένων bootloaders, παρέχοντας ένα άλλο επίπεδο ασφάλειας.
Επιλέγοντας τη σωστή μέθοδο:
* grub: Η μέθοδος Grub είναι γενικά η ευκολότερη και ταχύτερη εάν έχετε άμεση πρόσβαση στο σύστημα και μπορείτε να διακόψετε τη διαδικασία εκκίνησης. Ωστόσο, είναι ευάλωτο εάν το Grub προστατεύεται με κωδικό πρόσβασης ή εάν το σύστημα αρχείων είναι κρυπτογραφημένο χωρίς να γνωρίζει τη φράση πρόσβασης. Είναι επίσης η μέθοδος που είναι πιο πιθανό να επηρεαστεί από το SELINUX.
* Live CD/USB: Η μέθοδος Live CD/USB είναι πιο ευέλικτη και μπορεί να χρησιμοποιηθεί ακόμη και αν το Grub προστατεύεται με κωδικό πρόσβασης. Απαιτεί λίγο περισσότερη ρύθμιση, αλλά παρέχει ένα πιο ελεγχόμενο περιβάλλον. Είναι ιδιαίτερα χρήσιμο εάν πρέπει πρώτα να ξεκλειδώσετε ένα κρυπτογραφημένο σύστημα αρχείων.
Σημαντικές σημειώσεις:
* backup: Πριν επιχειρήσετε οποιαδήποτε από αυτές τις μεθόδους, είναι * συνιστάται ιδιαίτερα * να έχετε ένα πρόσφατο αντίγραφο ασφαλείας των σημαντικών σας δεδομένων. Ενώ αυτές οι διαδικασίες είναι γενικά ασφαλείς, υπάρχει πάντα ο κίνδυνος απώλειας δεδομένων εάν κάτι πάει στραβά.
* Φροντίδα και ακρίβεια: Διπλά ελέγξτε όλες τις εντολές και τα ονόματα διαμερισμάτων πριν από την εκτέλεση τους. Τα τυπογραφικά σφάλματα μπορούν να οδηγήσουν σε σοβαρά προβλήματα.
* Selinux: Να είστε ιδιαίτερα προσεκτικοί με συστήματα SELINUX (CentOS, RHEL, Fedora). Ακολουθήστε ακριβώς τα βήματα επανασύνδεσης.
* Λειτουργία ανάκτησης: Ορισμένες κατανομές Linux παρέχουν μια επιλογή "Λειτουργία ανάκτησης" στο μενού Grub. Αυτή η λειτουργία συχνά εκκινεί σε ένα κέλυφος ρίζας, απλοποιώντας τη διαδικασία επαναφοράς κωδικού πρόσβασης. Ωστόσο, ενδέχεται να απαιτείται να επαναπροσδιορίσει το σύστημα αρχείων ως ανάγνωση.
* Περιπτώσεις σύννεφων: Στις εικονικές μηχανές σύννεφων (π.χ. AWS EC2, Azure VMS, κινητήρα υπολογισμού cloud google), οι διαδικασίες ανάκτησης κωδικού πρόσβασης μπορεί να ποικίλουν. Οι πάροχοι σύννεφων συνήθως προσφέρουν μηχανισμούς για την επαναφορά του ριζικού κωδικού πρόσβασης μέσω των κονσόλων Web ή των API τους. Συμβουλευτείτε την τεκμηρίωση για τον συγκεκριμένο παροχέα cloud.
Με την κατανόηση αυτών των μεθόδων και των εκτιμήσεων τους, μπορείτε να ανακτήσετε με βεβαιότητα έναν χαμένο κωδικό πρόσβασης ρίζας στο σύστημα Linux. Θυμηθείτε να δώσετε προτεραιότητα στην ασφάλεια και πάντα να δημιουργείτε αντίγραφα ασφαλείας των δεδομένων σας.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα