- Ο Root είναι ο υπερχρήστης του Linux με πλήρη έλεγχο του συστήματος, πέρα από οποιουσδήποτε συνήθεις περιορισμούς δικαιωμάτων.
- Η συνήθης πρακτική δεν είναι να συνδεθείτε ως root, αλλά να χρησιμοποιήσετε το sudo ή το su για να αποκτήσετε αυξημένα δικαιώματα με ελεγχόμενο και προσωρινό τρόπο.
- Η απρόσεκτη χρήση του root μπορεί να σβήσει το σύστημα, να εγκαταστήσει κακόβουλο λογισμικό ή να παραβιάσει την ασφάλεια, επομένως είναι καλύτερο να ελαχιστοποιήσετε τη χρήση του και να ελέγξετε τις εντολές.
- Η σωστή ρύθμιση των sudoers, το κλείδωμα του λογαριασμού root και η τήρηση των βέλτιστων πρακτικών επιτρέπει την ασφαλή και ιχνηλάσιμη διαχείριση του Linux.
Αν προέρχεστε από Windows (δείτε λογαριασμούς χρηστών στα Windows ) και βρίσκεστε σε Linux, ο διάσημος χρήστης root μπορεί να ακούγεται σαν ασυναρτησία, αλλά στην πραγματικότητα είναι το βασικό στοιχείο που διαχωρίζει ένα σταθερό και ασφαλές σύστημα από μια πλήρη καταστροφή. Ο Root είναι ο "απόλυτος αρχηγός" του συστήματος, αυτός που μπορεί να εγκαταστήσει, να διαγράψει, να καταστρέψει και να διορθώσει σχεδόν οτιδήποτε χωρίς να ζητήσει άδεια.
Η κατανόηση του σκοπού του root στο Linux, της σχέσης του με τα `sudo` και `su`, καθώς και των σχετικών κινδύνων είναι απαραίτητη για τη διαχείριση του συστήματός σας, είτε πρόκειται για οικιακό φορητό υπολογιστή είτε για διακομιστή παραγωγής . Αυτό το άρθρο θα εξηγήσει, λεπτομερώς και χρησιμοποιώντας προσιτή γλώσσα, τι είναι το root, πώς χρησιμοποιείται σε διαφορετικές διανομές (ειδικά στο Ubuntu), τους πιθανούς κινδύνους του και τις βέλτιστες πρακτικές για να αποφύγετε την αχρηστία του μηχανήματός σας.
Τι είναι ο χρήστης root στο Linux και τι τον κάνει ξεχωριστό;
Σε οποιοδήποτε σύστημα GNU/Linux, υπάρχει ένας χρήστης με πλήρη δικαιώματα που ονομάζεται root, γνωστός και ως superuser . Αυτός ο χρήστης έχει UID 0 και δεν υπόκειται στους συνήθεις περιορισμούς δικαιωμάτων αρχείων και διεργασιών: μπορεί να διαβάσει, να τροποποιήσει ή να διαγράψει οποιοδήποτε αρχείο, να εγκαταστήσει ή να απεγκαταστήσει λογισμικό, να αλλάξει τις ρυθμίσεις του συστήματος, να διαχειριστεί άλλους χρήστες και να έχει πρόσβαση σε κρίσιμες υπηρεσίες.
Αν το συγκρίνετε με τα Windows, το root θα ήταν το αντίστοιχο του Administrator, αλλά με ακόμη περισσότερες δυνατότητες.Επειδή στο Linux το μοντέλο δικαιωμάτων είναι πιο εκλεπτυσμένο και ο διαχωρισμός μεταξύ χρηστών και υπηρεσιών είναι πολύ πιο αυστηρός. Ενώ ένας κανονικός χρήστης έχει περιορισμούς σε ό,τι μπορεί να κάνει σε διαδρομές όπως /etc, /usr, /var o /bootΗ πρόσβαση root σάς επιτρέπει να έχετε πρόσβαση παντού χωρίς να ζητήσετε άδεια.
Εκτός από τους τακτικούς χρήστες και τον root, το Linux ορίζει "χρήστες συστήματος" ή λογαριασμούς υπηρεσιών (daemons) με πολύ περιορισμένα δικαιώματα που χρησιμοποιούνται για την εκτέλεση διακομιστών ιστού, βάσεων δεδομένων ή άλλων daemons. Αυτό διασφαλίζει ότι ακόμη και αν μια υπηρεσία παραβιαστεί, ο εισβολέας δεν αποκτά αυτόματα πλήρη πρόσβαση στο σύστημα... εκτός εάν καταφέρει να κλιμακώσει τα δικαιώματα στον root.
Από προεπιλογή, ένας τυπικός χρήστης δεν μπορεί να εγκαταστήσει προγράμματα συστήματος, να τροποποιήσει αρχεία καθολικής διαμόρφωσης ή να δημιουργήσει καταλόγους σε ευαίσθητες περιοχές.Για να εκτελέσετε οποιαδήποτε από αυτές τις εργασίες, θα χρειαστεί να αναβαθμίσετε δικαιώματα χρησιμοποιώντας εργαλεία όπως sudo o suοι οποίοι είναι ακριβώς οι συνήθεις μηχανισμοί για την «επίκληση» του υπερχρήστη με ελεγχόμενο τρόπο.
Σε πολλές σύγχρονες διανομές, ειδικά στο Ubuntu και τα παράγωγά του, η άμεση σύνδεση ως root είναι απενεργοποιημένη.Αντίθετα, κατά την εγκατάσταση δημιουργείται ένας κανονικός χρήστης που ανήκει στην ομάδα διαχειριστών (για παράδειγμα, sudo o admin) και χρησιμοποιείται η εντολή sudo για να εκτελέσετε διαχειριστικές ενέργειες ζητώντας τον δικό σας κωδικό πρόσβασης και όχι τον κωδικό πρόσβασης root.
Διαφορά μεταξύ κανονικών χρηστών, root και ομάδας sudo
Το Linux εφαρμόζει ένα σύστημα δικαιωμάτων που βασίζεται σε χρήστες και ομάδες . Σε γενικές γραμμές, μπορούμε να διακρίνουμε τρεις κύριους τύπους λογαριασμών που θα συναντήσετε στην καθημερινή χρήση όταν μιλάμε για root:
Τακτικοί χρήστεςΑυτοί είναι οι λογαριασμοί των ατόμων που χρησιμοποιούν το σύστημα. Έχουν ένα σπίτι Μπορούν να εγκαταστήσουν προγράμματα στον δικό τους κατάλογο, να εκτελέσουν εφαρμογές επιφάνειας εργασίας, να αποθηκεύσουν έγγραφα κ.λπ. Ωστόσο, Δεν μπορούν να εκτελέσουν εργασίες διαχείρισης συστήματος πώς να εγκαταστήσετε καθολικά πακέτα, να τροποποιήσετε τις διαμορφώσεις στο /etc ή να διαχειρίζονται άλλους χρήστες, εκτός εάν χρησιμοποιούν sudo o su.
Ο χρήστης root είναι ο υπερχρήστης με απόλυτο έλεγχο. Δεν υπόκειται σε περιορισμούς δικαιωμάτων εκτός από αυτούς που επιβάλλονται από τον ίδιο τον πυρήνα ή από προηγμένους μηχανισμούς ασφαλείας . Μπορεί κυριολεκτικά να "κάνει ό,τι θέλει", από τη διαγραφή του ριζικού καταλόγου έως την αλλαγή των δικαιωμάτων οποιουδήποτε αρχείου. Ακριβώς για αυτόν τον λόγο, η χρήση του για καθημερινές εργασίες αποθαρρύνεται.
Χρήστες διαχειριστές (sudoers): είναι κανονικοί χρήστες που ανήκουν σε μια ειδική ομάδα (συνήθως sudo o admin) Και Έχουν δικαίωμα να εκτελούν εντολές ως root χρησιμοποιώντας sudoΓια παράδειγμα, για να προσθέσετε έναν χρήστη στην ομάδα sudo Μπορείτε να χρησιμοποιήσετε κάτι σαν αυτό:sudo usermod -aG sudo nombreusuario
Μόλις ένας χρήστης γίνει μέλος της ομάδας sudo, μπορεί να εκτελέσει προνομιούχες εντολές προσθέτοντας το πρόθεμα sudoΤο σύστημα θα ζητήσει τον κωδικό πρόσβασής σας (όχι τον κωδικό πρόσβασης root) και, εάν είναι σωστός, θα εκτελέσει την εντολή με δικαιώματα υπερχρήστη. Αυτό παρέχει μια καλή ισορροπία μεταξύ ασφάλειας και ευκολίας.
Τι είναι στην πράξη το root και σε τι χρησιμεύει;
Πέρα από τη θεωρία, ο χρήστης root είναι η ταυτότητα που χρησιμοποιεί το σύστημα για να κάνει οποιεσδήποτε βαθιές αλλαγές . Μπορείτε να συνεχίσετε να εργάζεστε με τον κανονικό λογαριασμό χρήστη σας και να έχετε πρόσβαση στον root μόνο όταν είναι απαραίτητο. Ας δούμε μερικές από τις κύριες χρήσεις του.
Εγκατάσταση ή απεγκατάσταση λογισμικού συστήματοςΔιαχειριστές πακέτων (όπως) apt, dnf o pacmanΠρέπει να γράφουν σε προστατευμένες διαδρομές, επομένως Τρέχουν πάντα με δικαιώματα rootΈνα τυπικό παράδειγμα θα ήταν:sudo apt install vlc
Επεξεργασία αρχείων διαμόρφωσης συστήματοςΟι περισσότερες υπηρεσίες και προγράμματα συστήματος διαμορφώνονται μέσω αρχείων κειμένου σε καταλόγους όπως /etcΓια να τα ανοίξετε με ένα πρόγραμμα επεξεργασίας και να τα αποθηκεύσετε, χρειάζεστε αυξημένα δικαιώματα. Για παράδειγμα:sudo nano /etc/hosts
Αλλαγή του κωδικού πρόσβασης root ή άλλων κωδικών πρόσβασης χρήστηΛειτουργίες όπως η αλλαγή του κωδικού πρόσβασης του υπερχρήστη ή ενός άλλου λογαριασμού περιλαμβάνουν την πρόσβαση στη βάση δεδομένων κωδικών πρόσβασης του συστήματος. Μια τυπική εντολή θα ήταν:sudo passwd root
Εκτέλεση δυνητικά επικίνδυνων εντολών. Εργαλεία όπως rm (διαγράφω), chmod (αλλαγή δικαιωμάτων), chown (αλλαγή κατόχου) ή mkfs (μορφοποίηση) μπορεί να προκαλέσει μεγάλη ζημιά αν χρησιμοποιηθεί εσφαλμένα. Το σύστημα απαιτεί δικαιώματα root για λειτουργίες που επηρεάζουν κρίσιμα αρχεία ή συσκευές για να αποτρέψετε έναν κανονικό χρήστη από το να καταστρέψει κατά λάθος το σύστημα.
Διαχείριση της εκκίνησης, του τερματισμού λειτουργίας και της επανεκκίνησης του μηχανήματος. Εντολές όπως reboot, poweroff ή προηγμένος χειρισμός systemctl σχετικά με τις υπηρεσίες συστήματος Απαιτούν επίσης δικαιώματα υπερχρήστη. Για περισσότερες πληροφορίες σχετικά με systemd και η διαχείριση υπηρεσιών του Μπορείτε να συμβουλευτείτε την εξειδικευμένη τεκμηρίωση. Διαφορετικά, οποιοσδήποτε χρήστης θα μπορούσε να επανεκκινήσει έναν διακομιστή παραγωγής όποτε ήθελε.
Στην πράξη, εάν κάτι αποτύχει με σφάλμα "άρνηση άδειας" στο Linux, είναι πολύ πιθανό να χρειαστεί να το εκτελέσετε με δικαιώματα root. χρησιμοποιώντας sudo ή προσωρινή μετάβαση σε υπερχρήστη με su.
Εντολές sudo και su: πότε να χρησιμοποιήσετε την καθεμία
Μόλις καταλάβετε ότι ο root είναι ο "κάτοχος" του συστήματος, ήρθε η ώρα να κατανοήσετε πώς να αποκτήσετε αυτά τα δικαιώματα από τον κανονικό λογαριασμό χρήστη σας.Τα δύο κλασικά εργαλεία για αυτό είναι sudo y suτα οποία δεν κάνουν ακριβώς το ίδιο πράγμα, αν και πολλοί τα μπερδεύουν.
sudo ("superuser do") χρησιμοποιείται για την εκτέλεση μιας μόνο εντολής με τα δικαιώματα ενός άλλου χρήστη, συνήθως root.Δεν αλλάζετε συνεδρίες, δεν γίνεστε root "για τα πάντα". Μόνο η συγκεκριμένη εντολή εκτελείται με αυξημένα δικαιώματα. Για παράδειγμα:sudo apt install gparted
Κάθε φορά που χρησιμοποιείτε sudo Το σύστημα θα σας ζητήσει τον κωδικό πρόσβασής σας (εάν δεν τον έχετε εισαγάγει πρόσφατα).Μετά από λίγα λεπτά αδράνειας, το "ticket" του sudo λήγει και θα πρέπει να επαληθεύσετε ξανά τον έλεγχο ταυτότητας, κάτι που προσθέτει ένα σημαντικό επίπεδο ασφάλειας.
su («αλλαγή χρήστη») αλλάζει την ταυτότητα χρήστη σας εντός της ίδιας συνεδρίαςΑν το χρησιμοποιήσετε χωρίς ορίσματα, θα γίνετε root (θα σας ζητήσει τον κωδικό πρόσβασης root) και όλες οι επόμενες εντολές θα εκτελούνται με αυτά τα δικαιώματα μέχρι να βγείτε. exit. Για παράδειγμα:suContraseña:whoami # devuelve 'root'
Μπορείτε επίσης να χρησιμοποιήσετε su nombreusuario για να μεταβείτε από έναν χρήστη σε έναν άλλουπό την προϋπόθεση ότι γνωρίζετε τον κωδικό πρόσβασης για τον λογαριασμό προορισμού. Αυτό θα αλλάξει εντελώς το περιβάλλον σε αυτό του νέου χρήστη (μεταβλητές, σπίτικ.λπ.) συνιστάται η χρήση su - o su - nombreusuario.
Γενικά, θεωρείται ασφαλέστερο και πιο ενδεδειγμένο να χρησιμοποιείται sudo για συγκεκριμένες εντολές και καταφεύγουν σε su μόνο όταν χρειάζεστε πραγματικά μια παρατεταμένη συνεδρία root (για παράδειγμα, σε εργασίες ανάκτησης ή σύνθετη συντήρηση).
Ιδιαιτερότητες του root στο Ubuntu και στις παράγωγες διανομές
Το Ubuntu και πολλές διανομές που βασίζονται στο Ubuntu ακολουθούν μια αρκετά σαφή φιλοσοφία ασφαλείας: ο χρήστης root υπάρχει, αλλά είναι κλειδωμένος από την άμεση σύνδεση . Αυτό σημαίνει ότι μετά από μια τυπική εγκατάσταση, δεν μπορείτε να συνδεθείτε ως root, είτε στο τερματικό είτε στο γραφικό περιβάλλον, χρησιμοποιώντας κωδικό πρόσβασης, επειδή δεν έχει εκχωρηθεί.
Αντ' αυτού, το Ubuntu επιλέγει την εντατική χρήση sudoΚατά τη διάρκεια της διαδικασίας εγκατάστασης, δημιουργείται ένας χρήστης διαχειριστή που ανήκει στην ομάδα sudoΑπό εκεί και πέρα, οποιαδήποτε διοικητική εργασία γίνεται με:sudo comando
Αν χρειάζεστε ένα "πλήρες" root shell στο Ubuntu, έχετε αρκετές ασφαλείς επιλογές.:sudo -i # Άνοιγμα μιας συνεδρίας σύνδεσης rootsudo su - # Μετάβαση σε root με περιβάλλον σύνδεσης
Και οι δύο μέθοδοι σας αφήνουν ως root σε αυτό το τερματικό μέχρι να τερματίσετε με exitΘα δείτε ότι η προτροπή συνήθως αλλάζει και τελειώνει σε # αντί για $Αυτό είναι ένα κλασικό σημάδι ότι έχετε δικαιώματα υπερχρήστη. Είναι σημαντικό να το έχετε αυτό υπόψη σας για να αποφύγετε την εκτέλεση επικίνδυνων εντολών εκεί που δεν θα έπρεπε.
Αν και δεν συνιστάται, μπορείτε να ενεργοποιήσετε τον χρήστη root στο Ubuntu εκχωρώντας του έναν κωδικό πρόσβασης. με:sudo passwd root
Μετά την εισαγωγή και την επιβεβαίωση του νέου κωδικού πρόσβασης, το root θα "ξεκλειδωθεί" και θα είναι δυνατό, για παράδειγμα, να χρησιμοποιηθεί su χωρίς προηγούμενο sudo ή ακόμα και επιτρέποντας την άμεση σύνδεση μέσω TTY ή SSH (κάτι που δεν συνιστάται ιδιαίτερα σε εκτεθειμένους διακομιστές).
Πραγματικοί κίνδυνοι από την απρόσεκτη χρήση του root
Το να εργάζεσαι ως root χωρίς να ξέρεις ακριβώς τι κάνεις είναι σαν να οδηγείς ένα φορτηγό με όπισθεν σε έναν αυτοκινητόδρομο: μπορεί να λειτουργήσει, αλλά αν χάσεις την εστίασή σου έστω και για ένα δευτερόλεπτο, θα είναι καταστροφή . Το Linux έχει σχεδιαστεί για να είναι αρκετά ασφαλές από προεπιλογή, αλλά μόλις αναβαθμίσεις τα δικαιώματα, πολλές προστασίες εξαφανίζονται.
Ο πρώτος σημαντικός κίνδυνος είναι η τυχαία διαγραφή ή καταστροφή του συστήματος αρχείων.Εντολές όπως:rm -rf /rm -rf /*
ή ακόμα και πιο διακριτικές κατασκευές όπως:rm -rf "$directorio"/*
Μπορούν να καταστρέψουν ολόκληρο το σύστημα σε λίγα δευτερόλεπτα αν εκτελεστούν ως root και η διαδρομή δεν είναι αυτή που νομίζετε.Μερικές φορές, το μόνο που χρειάζεται είναι μια κενή μεταβλητή, μια λανθασμένη κάθετος ή ένα λανθασμένο πλήκτρο Tab για να μετατραπεί μια φαινομενικά αθώα εντολή σε καταστροφή.
Ο δεύτερος σημαντικός κίνδυνος είναι η εγκατάσταση κακόβουλου λογισμικού με πλήρη δικαιώματα . Η λήψη και η εκτέλεση script από το διαδίκτυο ως root χωρίς να κοιτάξετε τον κώδικα είναι σαν να δίνετε το κλειδί του σπιτιού σας σε έναν άγνωστο. Ένα κακόβουλο script μπορεί να εγκαταστήσει rootkits , keyloggers ή backdoors, να τροποποιήσει τον πυρήνα, να κατασκοπεύσει οτιδήποτε κάνετε και να παραμείνει κρυφό για μεγάλο χρονικό διάστημα.
Είναι επίσης σχετικά εύκολο να θέσετε σε κίνδυνο την ασφάλεια του συστήματος παραβιάζοντας κρίσιμα δικαιώματα αρχείων.Για παράδειγμα, αν εκτελέσετε κάτι σαν:chmod 000 /etc -R
ή αλλάζετε τα δικαιώματα του/της /boot ή de /etc/passwd χωρίς να ξέρεις τι κάνεις, Μπορείτε να καταστήσετε το μηχάνημα μη επανεκκινήσιμο ή να καταστήσετε αδύνατη την επαλήθευση χρήστη.Σε πολλές περιπτώσεις, η μόνη λύση είναι να χρησιμοποιήσετε ένα LiveCD ή ακόμα και να το επανεγκαταστήσετε.
Από άποψη ασφάλειας, η λειτουργία πάντα ως root καθιστά αυτόν τον λογαριασμό μοναδικό σημείο αποτυχίας . Εάν ένας εισβολέας αποκτήσει πρόσβαση root (μέσω ωμής βίας, ηλεκτρονικού "ψαρέματος" (phishing), κακόβουλου λογισμικού κ.λπ.), έχει τον πλήρη έλεγχο: μπορεί να κρυπτογραφήσει δίσκους, να κλέψει δεδομένα, να ενταχθεί σε ένα botnet ή να χρησιμοποιήσει τον διακομιστή σας για να επιτεθεί σε τρίτους. Για να μετριάσετε αυτούς τους κινδύνους, θα πρέπει να εξερευνήσετε τεχνικές θωράκισης με το SELinux και άλλους μηχανισμούς προστασίας.
Επιπλέον, η εντατική χρήση της ρίζας δυσχεραίνει την ιχνηλασιμότητα.Όταν εκτελούνται εντολές με sudoΤο σύστημα καταγράφει ποιος τα ξεκίνησε και πότε, ενώ αν όλα γίνονται ως root, δεν είναι σαφές ποιος κρύβεται πίσω από κάθε ενέργεια, γεγονός που περιπλέκει τους ελέγχους και τη διάγνωση προβλημάτων.
Εμφάνιση αστερίσκων κατά την πληκτρολόγηση του κωδικού πρόσβασης sudo
Από προεπιλογή, όταν εισάγετε τον κωδικό πρόσβασης sudo σε πολλές διανομές (όπως το Ubuntu), δεν βλέπετε κουκκίδες ή αστερίσκους . Αυτό προοριζόταν ως μέτρο ασφαλείας για να αποτρέψει οποιονδήποτε από το να υπολογίσει το μήκος του κωδικού πρόσβασής σας απλώς κοιτάζοντας την οθόνη, αλλά στην πράξη είναι αρκετά άβολο: πληκτρολογείτε και δεν φαίνεται να συμβαίνει τίποτα.
Εδώ και αρκετό καιρό, το sudo επιτρέπει την ενεργοποίηση μιας συμπεριφοράς που ονομάζεται pwfeedbackΕμφανίζει έναν αστερίσκο για κάθε χαρακτήρα που πληκτρολογείτε. Δεν αποκαλύπτει τον κωδικό πρόσβασής σας, αλλά επιβεβαιώνει ότι το πληκτρολόγιο ανταποκρίνεται και σας βοηθά να εντοπίσετε τυπογραφικά λάθη.
Για να το ενεργοποιήσετε, πρέπει να επεξεργαστείτε τη διαμόρφωση sudo χρησιμοποιώντας το ασφαλές εργαλείο visudoΑυτό επικυρώνει τη σύνταξη πριν από την αποθήκευση για να αποτρέψει την απώλεια δικαιωμάτων sudo λόγω κάποιου ανόητου λάθους. Τα βήματα θα είναι:
1. Άνοιγμα ρυθμίσεων sudo:sudo visudo
2. Προσθέστε τη γραμμή:Defaults pwfeedback
3. Αποθήκευση και έξοδος από τον επεξεργαστή
Από εκείνη τη στιγμή και μετά, κάθε φορά που εισάγετε τον κωδικό πρόσβασης sudo, θα εμφανίζονται αστερίσκοι.Αν σε οποιοδήποτε σημείο θέλετε να επιστρέψετε στην αρχική συμπεριφορά, απλώς αφαιρέστε αυτήν τη γραμμή χρησιμοποιώντας την εντολή `return`. visudo.
Απενεργοποίηση ή αποκλεισμός του λογαριασμού root
Σε περιβάλλοντα όπου πολλά άτομα έχουν πρόσβαση στον ίδιο υπολογιστή, ο κωδικός πρόσβασης root μπορεί εύκολα να χρησιμοποιηθεί λανθασμένα . Εάν πάρα πολλά άτομα γνωρίζουν αυτόν τον κωδικό πρόσβασης, είναι μόνο θέμα χρόνου πριν κάποιος προκαλέσει (ή υποστεί) ένα σοβαρό πρόβλημα. Μια πολύ λογική λύση είναι να απενεργοποιήσετε τον λογαριασμό root και να χρησιμοποιήσετε μόνο το sudo.
Όταν κλειδώνετε τον λογαριασμό root, εμποδίζετε τους χρήστες να συνδέονται απευθείας ως αυτός ο χρήστης. και επίσης εμποδίζετε τη χρήση του su Για να αποκτήσετε πρόσβαση root με τον κωδικό πρόσβασής σας. Ωστόσο, Οι εξουσιοδοτημένοι χρήστες θα εξακολουθούν να μπορούν να χρησιμοποιούν sudo να εκτελεί προνομιακές εντολές.
Για να κλειδώσετε τον λογαριασμό root σε πολλές διανομές, απλώς εκτελέστε:sudo passwd -l root
Αυτή η εντολή "παγώνει" τον κωδικό πρόσβασης root, ώστε να μην μπορεί να χρησιμοποιηθεί.Αν χρειαστεί να το ενεργοποιήσετε ξανά αργότερα, θα πρέπει να ορίσετε έναν νέο κωδικό πρόσβασης με κάτι σαν:sudo passwd root
Ανακτήστε ή αλλάξτε τον κωδικό πρόσβασης root εάν τον έχετε χάσει
Αν έχετε ξεχάσει τον κωδικό πρόσβασης root ή έχετε κλειδώσει τον λογαριασμό σας και χρειάζεται να τον ανακτήσετε, δεν έχουν χαθεί όλα . Το Linux προσφέρει διάφορους τρόπους για να τον επαναφέρετε, συνήθως εκκινώντας το σύστημα σε μια ειδική λειτουργία ή χρησιμοποιώντας ένα LiveCD.
Μια πολύ συνηθισμένη επιλογή είναι να το κάνετε από το GRUB, χρησιμοποιώντας τη λειτουργία ανάκτησης . Πολλές διανομές έχουν μια καταχώρηση "Επιλογές για προχωρημένους" όπου μπορείτε να επιλέξετε "Λειτουργία ανάκτησης". Η επιλογή της φορτώνει ένα περιορισμένο περιβάλλον με επιλογές διάσωσης.
Εάν επιλέξετε την επιλογή λήψης μιας ριζικής κονσόλας σε λειτουργία ανάκτησης , η τυπική ροή είναι συνήθως:
1. Μοντάρετε το σύστημα αρχείων με δικαιώματα εγγραφής:mount -o rw,remount /
2. Ορίστε έναν νέο κωδικό πρόσβασης για τον root:passwd root
3. Συγχρονίστε τα δεδομένα και κάντε επανεκκίνηση για να εφαρμοστούν οι αλλαγές:syncreboot
Ο άλλος κύριος τρόπος είναι να εκκινήσετε από ένα LiveCD ή LiveUSB μιας διανομής Linux (για παράδειγμα, Ubuntu σε λειτουργία "Δοκιμάστε χωρίς εγκατάσταση") και να εργαστείτε στο εγκατεστημένο σύστημα από έξω.
Σε ένα τυπικό σενάριο με ένα LiveCD, τα βήματα θα ήταν :
1. Ανοίξτε ένα τερματικό και αποκτήστε ένα προσωρινό κέλυφος root:sudo su
2. Προσδιορίστε το διαμέρισμα που περιέχει το σύστημα Linux σας με κάτι σαν:fdisk -l
3. Τοποθετήστε αυτό το διαμέρισμα σε έναν λειτουργικό κατάλογο (παράδειγμα χρησιμοποιώντας /dev/sda1):mkdir /mnt/recovermount /dev/sda1 /mnt/recover
4. Αλλάξτε τη ρίζα του συστήματος στον κατάλογο που έχει τοποθετηθεί με chroot:chroot /mnt/recover
5. Από εκεί, χρησιμοποιήστε passwd root για να ορίσετε έναν νέο κωδικό πρόσβασης και, μετά την αποσύνδεση και την επανεκκίνηση, θα μπορείτε να συνδεθείτε ξανά κανονικά.
Το αρχείο /etc/sudoers και πώς να ρυθμίσετε τα δικαιώματα root
Μία από τις πιο ισχυρές (και ευαίσθητες) πτυχές της διαχείρισης root είναι το αρχείο /etc/sudoers, όπου ορίζεται ποιος μπορεί να χρησιμοποιήσει sudoΕδώ μπορείτε να προσαρμόσετε λεπτομερώς την πρόσβαση με αυξημένα δικαιώματα, καθορίζοντας πού και ποιες εντολές θα εκτελούνται.
Πολύ σημαντικό: ποτέ μην επεξεργάζεστε /etc/sudoers απευθείας με οποιονδήποτε συντάκτηΝα χρησιμοποιείτε πάντα:sudo visudo
επειδή αυτό το εργαλείο Ελέγξτε τη σύνταξη πριν από την αποθήκευσηΈνα σφάλμα σε αυτό το αρχείο μπορεί να σας εμποδίσει να χρησιμοποιήσετε το sudo, και με visudo Ελαχιστοποιείς αυτόν τον κίνδυνο.
Τυπικό περιεχόμενο /etc/sudoers Ένα καθαρό Ubuntu περιλαμβάνει γραμμές παρόμοιες με:root ALL=(ALL:ALL) ALL%sudo ALL=(ALL:ALL) ALL
Το πρώτο υποδεικνύει ότι ο χρήστης root μπορεί να εκτελέσει οποιαδήποτε εντολή σε οποιονδήποτε κεντρικό υπολογιστή ως οποιοσδήποτε χρήστης και ομάδα.Το δεύτερο κάνει το ίδιο αλλά για όλους τους χρήστες της ομάδας. sudoΜε αυτόν τον τρόπο, οποιοσδήποτε σε αυτήν την ομάδα έχει πλήρη εξουσία μέσω sudo.
Για πιο προηγμένες ρυθμίσεις, το sudoers σάς επιτρέπει να ορίσετε ψευδώνυμα για χρήστες, εντολές και ομάδες εκτέλεσης , για παράδειγμα:
User_Alias ADMINES = pepe, perico, andres
Cmnd_Alias POWER = /sbin/shutdown, /sbin/halt, /sbin/reboot, /sbin/restart
Runas_Alias WEB = www-data, apache
Με αυτούς τους ορισμούς, θα μπορούσατε, για παράδειγμα, να δώσετε στους ΔΙΑΧΕΙΡΙΣΤΕΣ την άδεια να τερματίσουν ή να επανεκκινήσουν το σύστημα χωρίς κωδικό πρόσβασης. με έναν κανόνα όπως:ADMINES ALL = NOPASSWD: POWER
Ετικέτες όπως NOPASSWD Σας επιτρέπουν να εκτελείτε συγκεκριμένες εντολές με sudo χωρίς να χρειάζεται να πληκτρολογήσετε τον κωδικό πρόσβασης.Αυτό είναι πολύ χρήσιμο σε αυτοματοποιημένα σενάρια, ενσωματώσεις με άλλα συστήματα ή προσωπικούς υπολογιστές όπου είστε ο μόνος χρήστης.
Ως περιέργεια, υπάρχει μια επιλογή που ονομάζεται insults ότι, αν το προσθέσετε στις γραμμές DefaultsΚάνει το sudo να σας "προσβάλλει" στα Αγγλικά κάθε φορά που εισάγετε λάθος κωδικό πρόσβασης.Δεν βελτιώνει την ασφάλεια, αλλά τουλάχιστον σου φέρνει ένα χαμόγελο στο πρόσωπο εν μέσω εργασίας.
Χρήση root για διαχείριση αρχείων και δικαιωμάτων από το τερματικό
Στην πράξη, μεγάλο μέρος της χρήσης του root επικεντρώνεται στη διαχείριση αρχείων και δικαιωμάτων μέσω του τερματικού . Με δικαιώματα superuser, μπορείτε να πλοηγηθείτε σε ολόκληρο το σύστημα αρχείων και να τροποποιήσετε ό,τι χρειάζεστε, πάντα με εξαιρετική προσοχή.
Μερικές βασικές εντολές που γίνονται ιδιαίτερα ευαίσθητες ως root είναι:
ls: παραθέτει αρχεία και καταλόγους. Ως root θα δείτε ακόμη και αρχεία που άλλοι χρήστες δεν μπορούν να παραθέσουν.
cp y mvΓια να αντιγράψετε και να μετακινήσετε αρχεία ή καταλόγους, χρησιμοποιήστε το `sudo`. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε το `sudo` για να μετακινήσετε μια γραμματοσειρά από... Descargas πάνω /usr/share/fonts/ ώστε να είναι διαθέσιμο σε ολόκληρο το σύστημα.
rm: διαγράφει αρχεία και φακέλους. Σε συνδυασμό με -r y -f Είναι εξαιρετικά επικίνδυνο αν το χρησιμοποιήσετε ως root χωρίς να ελέγξετε σωστά τη διαδρομή.
chmod y chownΑυτές οι ρυθμίσεις αλλάζουν τα δικαιώματα και την ιδιοκτησία. Είναι απαραίτητες για την παραχώρηση πρόσβασης σε αρχεία σε συγκεκριμένους χρήστες, αλλά η κακή χρήση τους μπορεί να καταστήσει το σύστημα ανασφαλές ή άχρηστο.
Ένα τυπικό παράδειγμα χρήσης root για την εγκατάσταση μιας γραμματοσειράς συστήματος θα ήταν :
sudo cp ~/Descargas/Underdog.ttf /usr/share/fonts/sudo chmod 644 /usr/share/fonts/Underdog.ttf
Λειτουργία 644 Υποδεικνύει ότι ο κάτοχος (root) μπορεί να διαβάζει και να γράφει, ενώ η ομάδα και οι άλλοι χρήστες μπορούν μόνο να διαβάζουν., αρκετά για να λειτουργήσει η γραμματοσειρά αλλά χωρίς να επιτρέπονται τυχαίες αλλαγές.
Βέλτιστες πρακτικές κατά την εργασία με root, sudo και su
Η λειτουργία με δικαιώματα υπερχρήστη δεν είναι κάτι που πρέπει να αντιμετωπίζεται ελαφρά τη καρδία . Υπάρχουν ορισμένες οδηγίες που, αν τις κατανοήσετε, θα σας γλιτώσουν από πολλά προβλήματα:
Ελαχιστοποιήστε τον χρόνο που περνάτε ως root. ΗΠΑ sudo comando Όποτε είναι δυνατόν, αποφύγετε το άνοιγμα μιας μόνιμης συνεδρίας root. Όσο λιγότερο χρόνο αφιερώνετε με πλήρη δικαιώματα, τόσο λιγότερες είναι οι πιθανότητες να κάνετε κάποιο λάθος.
Αποφύγετε την εκτέλεση σεναρίων από αμφίβολες πηγές με το `sudo` πάση θυσία . Εάν κατεβάσετε ένα σενάριο από το διαδίκτυο και το πρώτο πράγμα που βλέπετε είναι "εκτελέστε το με `sudo`", ανοίξτε το με ένα πρόγραμμα επεξεργασίας κειμένου και διαβάστε το προσεκτικά. Εάν δεν καταλαβαίνετε τι κάνει, μην το εκτελέσετε.
Χρησιμοποιήστε περιβάλλοντα δοκιμών (εικονικές μηχανές, κοντέινερ) για πειραματισμό . Εάν πρόκειται να κάνετε διαμορφώσεις ευαίσθητες στην αφή, να δοκιμάσετε επιθετικές εντολές ή να εκτελέσετε ασαφή σενάρια, κάντε το πρώτα σε ένα σύστημα που μπορείτε να παραβιάσετε με ασφάλεια. Μπορείτε να βρείτε οδηγούς για ασφαλή εικονικοποίηση σε εικονικές μηχανές και κοντέινερ.
Ρυθμίστε λεπτομερώς το sudo όταν υπάρχουν πολλοί διαχειριστέςΔεν ισχύει το ίδιο για έναν χρήστη που χρειάζεται μόνο να επανεκκινήσει μια υπηρεσία με κάποιον που χρειάζεται πλήρη έλεγχο. Χρησιμοποιήστε /etc/sudoers να περιορίσουν τι μπορεί να κάνει ο καθένας.
Παρακολούθηση αρχείων καταγραφής ελέγχου ταυτότητας (/var/log/auth.log o journalctlΑυτό σας επιτρέπει να δείτε ποιος χρησιμοποιεί το sudo, από πού και με ποιες εντολές. Είναι ένας απλός τρόπος για να εντοπίσετε ασυνήθιστη συμπεριφορά ή κατάχρηση προνομίων.
Μην περιηγείστε στο διαδίκτυο, μην ανοίγετε συνημμένα και μην εκτελείτε εφαρμογές υπολογιστή ως root . Εάν μια γραφική εφαρμογή παραβιαστεί ενώ την εκτελείτε ως superuser, ο εισβολέας κερδίζει το τζάκποτ.
Εν ολίγοις, το root στο Linux είναι ένα απίστευτα ισχυρό εργαλείο που πρέπει να χειρίζεστε με προσοχή . Η κατανόηση του σκοπού του, του πότε να χρησιμοποιείτε το `sudo` ή το `su`, του τρόπου ανάκτησης ή κλειδώματος του λογαριασμού και του τρόπου ρύθμισης του `sudo` θα σας επιτρέψει να διαχειρίζεστε το σύστημά σας με ασφάλεια και σιγουριά, αξιοποιώντας πλήρως την ευελιξία του GNU/Linux χωρίς να διακινδυνεύετε τη ζωή σας κάθε φορά που ανοίγετε το τερματικό.
Δείκτης
- 1 Τι είναι ο χρήστης root στο Linux και τι τον κάνει ξεχωριστό;
- 2 Διαφορά μεταξύ κανονικών χρηστών, root και ομάδας sudo
- 3 Τι είναι στην πράξη το root και σε τι χρησιμεύει;
- 4 Εντολές sudo και su: πότε να χρησιμοποιήσετε την καθεμία
- 5 Ιδιαιτερότητες του root στο Ubuntu και στις παράγωγες διανομές
- 6 Πραγματικοί κίνδυνοι από την απρόσεκτη χρήση του root
- 7 Εμφάνιση αστερίσκων κατά την πληκτρολόγηση του κωδικού πρόσβασης sudo
- 8 Απενεργοποίηση ή αποκλεισμός του λογαριασμού root
- 9 Ανακτήστε ή αλλάξτε τον κωδικό πρόσβασης root εάν τον έχετε χάσει
- 10 Το αρχείο /etc/sudoers και πώς να ρυθμίσετε τα δικαιώματα root
- 11 Χρήση root για διαχείριση αρχείων και δικαιωμάτων από το τερματικό
- 12 Βέλτιστες πρακτικές κατά την εργασία με root, sudo και su

