Τι είναι το Sudo στο Linux και πώς να το χρησιμοποιήσετε

Σκεφτείτε το παραπάνω κόμικ από το εξαιρετικό webcomic XKCD . Ο τεμπέλης στην καρέκλα θέλει ο φίλος του να τους φτιάξει ένα σάντουιτς, αλλά τους λείπει η εξουσία να τους κάνει να το κάνουν. Μέχρι δηλαδή να επικαλεστεί την πανίσχυρη εντολή sudo. Μετά από αυτό, ένα σάντουιτς θα γίνει με τον ένα ή τον άλλο τρόπο. 

Αν και η δοκιμή sudo σε ένα άτομο στην πραγματική ζωή πιθανότατα δεν θα είναι τόσο αποτελεσματική, είναι η μαγική εντολή που ξεπερνά κάθε εμπόδιο στον κόσμο του Linux . Τι είναι το sudo; Γιατί μάλιστα υπάρχει; Η απάντηση βρίσκεται στον τρόπο με τον οποίο το Linux χειρίζεται τα δικαιώματα.

Κατανόηση των δικαιωμάτων χρήστη Linux(Linux User Permissions)

Το Linux(Linux) θεωρείται ασφαλές λειτουργικό σύστημα λόγω του τρόπου με τον οποίο χειρίζεται τα δικαιώματα. Ενώ λειτουργικά συστήματα όπως το macOS (το οποίο μοιράστηκε έναν πρόγονο με το Linux ) και τα Windows(Windows) μοιάζουν τώρα περισσότερο με το Linux από αυτή την άποψη, το λειτουργικό σύστημα Ανοιχτού Κώδικα(Open Source) εξακολουθεί να είναι κάπως μοναδικό.

Η κατανόηση του τρόπου με τον οποίο το Linux χειρίζεται τα δικαιώματα καθιστά πολύ πιο εύκολο να κατανοήσετε την εντολή sudo. Όλα τα σύγχρονα λειτουργικά συστήματα έχουν ένα επίπεδο δικαιωμάτων χρήστη «διαχειριστή» ή «root». Εάν έχετε λογαριασμό διαχειριστή ή root, μπορείτε να αλλάξετε οποιαδήποτε ρύθμιση, να διαγράψετε οποιαδήποτε δεδομένα και γενικά να κάνετε ό,τι θέλετε με τον υπολογιστή. 

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

Το Linux(Linux) δεν καθιστά τα δικαιώματα σε επίπεδο χρήστη root ως προεπιλογή. Αντίθετα, ο λογαριασμός σας δεν μπορεί να φτάσει στα πραγματικά ευαίσθητα μέρη του συστήματος χωρίς να αυξήσει το επίπεδο αδειών σας. Αυτό σημαίνει ότι το σύστημα θα σας ζητήσει να εισαγάγετε τον κωδικό πρόσβασης διαχειριστή όταν θέλετε να κάνετε κάτι ασυνήθιστο χρησιμοποιώντας μια γραφική διεπαφή. 

Ωστόσο, όταν θέλετε να χρησιμοποιήσετε τη γραμμή εντολών Terminal για να ολοκληρώσετε τα πράγματα, το sudo είναι ο ασφαλέστερος και πιο αποτελεσματικός τρόπος για να το κάνετε.

Το Sudo και το Terminal

Υπάρχουν δύο τρόποι για να δώσετε στον εαυτό σας αυξημένα δικαιώματα στο Linux . Το ένα είναι να συνδεθείτε μόνιμα ως χρήστης root. Το πρόβλημα με αυτό είναι ότι οποιοσδήποτε άλλος μπορεί να έχει πρόσβαση στον υπολογιστή μπορεί να προκαλέσει τον όλεθρο, και ακόμη και εσείς μπορείτε να το κάνετε τυχαία. Το Sudo(Sudo) αυξάνει τα δικαιώματά σας μόνο για μικρό χρονικό διάστημα για να εκτελέσει τις συγκεκριμένες εντολές που το ακολουθούν.

Sudo Σύνταξη

Η σύνταξη του Sudo (η μορφή της εντολής) είναι απλή. Απλώς(Simply) πληκτρολογήστε "sudo" ακολουθούμενο από την εντολή που θέλετε να εκτελέσετε.

Για παράδειγμα, η "ενημέρωση sudo apt-get" θα ενημερώσει όλα τα αποθετήρια εφαρμογών που αναφέρονται στο σχετικό αρχείο. Εάν προσπαθήσατε να το εκτελέσετε χωρίς sudo, θα λάβατε ένα μήνυμα σφάλματος που θα σας έλεγε ότι δεν έχετε άδεια. Παρεμπιπτόντως, αυτή είναι γενικά η πρώτη εντολή sudo που θα θέλετε να εκτελέσετε μετά από μια νέα εγκατάσταση της αγαπημένης σας διανομής  Linux .

Το "Su" στο Sudo

Το "su" στο sudo είναι συντομογραφία του "superuser" και είναι μια αυτόνομη εντολή. Η εντολή "su" σάς επιτρέπει να αλλάξετε τα προνόμια του χρήστη στα οποία σας ανεβάζει το sudo. 

Αν και το sudo σας ανεβάζει στο root προσωρινά, το su σας αλλάζει σε άλλο χρήστη με κατάλληλα προνόμια. Αυτό μπορεί να φαίνεται σαν μια ασήμαντη διάκριση, αλλά υπάρχουν καλοί λόγοι για να αλλάξετε τον λογαριασμό στον οποίο το sudo εξυψώνει έναν χρήστη. 

Πρώτα(First) απ 'όλα, η αλλαγή του λογαριασμού σημαίνει ότι οι τακτικοί χρήστες δεν γνωρίζουν τον κωδικό πρόσβασης root. Δεύτερον, υπάρχει ένα αρχείο καταγραφής όλων των εντολών sudo, που σημαίνει ότι ο διαχειριστής του συστήματος (root) μπορεί να αναζητήσει ποιος εξέδωσε τις εντολές su.

Η σύνταξη για το su είναι ουσιαστικά η ίδια με το sudo:

Su USERNAME -c ΕΝΤΟΛΗ(Su USERNAME -c COMMAND)

Αντικαταστήστε το USERNAME(Replace USERNAME) με τον επιθυμητό χρήστη για να εκτελέσετε την εντολή και COMMAND με την εντολή Linux που θέλετε να εκτελέσετε.

Εάν θέλετε να εκτελέσετε πολλές εντολές ως άλλος χρήστης, απλώς χρησιμοποιήστε:

Σου ΧΡΗΣΤΗΣ(Su USER)

Αντικαταστήστε το USER(Replace USER) με την επιθυμητή ταυτότητα λογαριασμού χρήστη.

Εάν χρησιμοποιείτε το su από μόνο του, το Linux θα μεταβεί στον άλλο λογαριασμό χρήστη μέχρι να χρησιμοποιήσετε την εντολή "exit". Είναι σημαντικό να θυμάστε ότι αυτός ή ο επόμενος χρήστης που θα αποκτήσει πρόσβαση στο τερματικό στη συγκεκριμένη περίοδο λειτουργίας θα εξακολουθεί να έχει αυξημένα δικαιώματα. Αυτός είναι ο λόγος για τον οποίο είναι γενικά καλύτερο να χρησιμοποιείτε sudo αντί su.

Το χρονικό όριο του Sudo

Την πρώτη φορά που θα χρησιμοποιήσετε μια εντολή sudo, θα πρέπει να εισαγάγετε έναν κωδικό πρόσβασης. Στη συνέχεια, αυτός ο κωδικός πρόσβασης θα παραμείνει έγκυρος για 15 λεπτά. Μπορείτε να αλλάξετε αυτήν την προεπιλογή εκτελώντας την εντολή sudo visudo και αλλάζοντας το "timestamp_timeout=" σε μεγαλύτερη ή μικρότερη τιμή. Ωστόσο, δεν σας συνιστούμε να το κάνετε αυτό, εκτός εάν έχετε έναν καλό λόγο να επεκτείνετε ή να συντομεύσετε το χρονικό διάστημα που παραμένει έγκυρος ένας κωδικός πρόσβασης sudo.

Διακόπτες επιλογής Sudo

Αν και η σύνταξη sudo είναι απλή, αξίζει να γνωρίζετε αρκετούς διακόπτες. Αυτές οι εντολές ανοίγουν πρόσθετες πληροφορίες ή σας βοηθούν να ελέγξετε την περίοδο λειτουργίας sudo:

  • Το -h(-h) σας δείχνει πληροφορίες σύνταξης και εντολών για το sudo.
  • -V εμφανίζει την τρέχουσα έκδοση για sudo στο μηχάνημά σας.
  • Το -v(-v) ανανεώνει το χρονικό όριο sudo, επανεκκινώντας το ρολόι.
  • -l παραθέτει τα δικαιώματα χρήστη.
  • Το -k(-k) σκοτώνει αμέσως την τρέχουσα συνεδρία sudo, αφαιρώντας τα αυξημένα προνόμια.

Υπάρχουν πολλές περισσότερες επιλογές ενσωματωμένες στο sudo και μπορείτε να τις δείτε όλες χρησιμοποιώντας τον πρώτο διακόπτη -h που αναφέρεται παραπάνω.

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

Χρήσιμες εντολές Sudo

Ποιες λοιπόν εντολές που εξουσιοδοτούνται από το sudo πρέπει να γνωρίζει κάθε χρήστης Linux ; Έχουμε ήδη καλύψει την ενημέρωση sudo apt-get, αλλά σημειώστε και αυτά:

  • Η αναβάθμιση Sudo apt-get(Sudo apt-get upgrade) θα αναβαθμίσει όλα τα εγκατεστημένα πακέτα.
  • Sudo apt-get install <package-name> εγκαθιστά λογισμικό της επιλογής σας. απλώς αλλάξτε το όνομα του πακέτου σε αυτό που θέλετε να εγκαταστήσετε.
  • Εάν δεν γνωρίζετε το όνομα του πακέτου, χρησιμοποιήστε το dpkg –list(dpkg –list) .
  • Εάν θέλετε να αφαιρέσετε ένα εγκατεστημένο πακέτο από το τερματικό, χρησιμοποιήστε το sudo apt-get remove <package-name (και πάλι αντικαθιστώντας το συγκεκριμένο όνομα πακέτου).

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



About the author

Είμαι έμπειρος διαχειριστής Windows 10 και Windows 11/10 με κάποια εμπειρία στο Edge. Έχω πλήθος γνώσεων και εμπειρίας να προσφέρω σε αυτόν τον τομέα, γι' αυτό πιστεύω ότι οι δεξιότητές μου θα ήταν πολύτιμο πλεονέκτημα για την εταιρεία σας. Η πολυετής εμπειρία μου τόσο στα Windows 10 όσο και στα Edge μου δίνει τη δυνατότητα να μαθαίνω γρήγορα νέες τεχνολογίες, να επιλύω γρήγορα προβλήματα και να αναλαμβάνω τον έλεγχο όταν πρόκειται για τη λειτουργία της επιχείρησής σας. Επιπλέον, η εμπειρία μου με τα Windows 10 και τον Edge με κάνει να γνωρίζω πολύ καλά όλες τις πτυχές του λειτουργικού συστήματος, κάτι που θα ήταν επωφελές για τη διαχείριση διακομιστών ή τη διαχείριση εφαρμογών λογισμικού.



Related posts