Πώς να χρησιμοποιήσετε την εντολή sudo

Στα περισσότερα συστήματα Linux, υπάρχουν δύο βασικοί τύποι λογαριασμών χρηστών: Το χρήστης root (που ονομάζεται επίσης “σούπερ χρήστης”) και το κανονικός χρήστης.


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

Αυτό σημαίνει ότι υπάρχουν προγράμματα και αρχεία στα οποία ένας κανονικός χρήστης δεν έχει πρόσβαση από προεπιλογή. Για παράδειγμα, ένας κανονικός χρήστης δεν μπορεί να χρησιμοποιήσει τα εργαλεία διαχείρισης πακέτων apt-get και dpkg για εγκατάσταση ή ενημέρωση πακέτων σε σύστημα Debian / Ubuntu. Αυτός ο τύπος χρήστη δεν μπορεί επίσης να επεξεργαστεί καθολικά αρχεία διαμόρφωσης που βρίσκονται στον κατάλογο “/ etc”. Υπάρχουν πολλές άλλες καταστάσεις όπως αυτά τα παραδείγματα.

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

Με το sudo, είναι δυνατό να παραχωρήσετε στους χρήστες πρόσβαση σε ορισμένες εντολές σε συγκεκριμένους κεντρικούς υπολογιστές ή απλά να τους παραχωρήσετε πρόσβαση σε όλα όσα μπορεί να κάνει ο ριζικός χρήστης. Το Sudo καταγράφει επίσης κάθε εκτελεσμένη εντολή σε ένα αρχείο καταγραφής (/var/log/auth.log), έτσι ώστε ο διαχειριστής του συστήματος να μπορεί να παρακολουθεί τι γίνεται με το sudo.

Διαμόρφωση Sudo

Για να μάθετε πώς να ρυθμίσετε το sudo για συγκεκριμένους χρήστες και με ορισμένους περιορισμούς, ανατρέξτε σε αυτά τα σεμινάρια:

  • Πώς να επεξεργαστείτε το αρχείο Sudoers στο Ubuntu και το CentOS
  • Πώς να προσθέσετε, να διαγράψετε και να εκχωρήσετε δικαιώματα Sudo σε χρήστες σε ένα Debian VPS

Για να μάθετε ακριβώς ποια δικαιώματα sudo έχετε στο σύστημά σας, εκτελέστε την ακόλουθη εντολή:

1 sudo -l

Αυτό θα μπορούσε να οδηγήσει στην ακόλουθη έξοδο για το παράδειγμα χρήστη “john” στον κεντρικό υπολογιστή “server1”:

1
2
3
4
5

Ταίριασμα προεπιλογών για τον John στον διακομιστή 1:

env_reset, mail_badpass, safe_path = / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin

 

Ο χρήστης john μπορεί να εκτελέσει τις ακόλουθες εντολές στον διακομιστή1:

(ΟΛΑ: ΟΛΑ) ΟΛΑ

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

Επιλογές εντολών Sudo

Αυτή είναι μια σύνοψη των επιλογών εντολών sudo που θα χρησιμοποιήσουμε σε αυτό το σεμινάριο:

  • -μεγάλο: απαριθμήστε τα δικαιώματα του χρήστη που καλεί το sudo
  • -εσύ: εκτελέστε την εντολή ως άλλος χρήστης
  • -μι: επεξεργαστείτε ένα ή περισσότερα αρχεία αντί να εκτελέσετε μια εντολή
  • sudoedit είναι ένα ψευδώνυμο για το “sudo -e”

Παραδείγματα εντολών Sudo

Για να εκτελέσετε εντολές ως χρήστης root, θα χρησιμοποιήσετε την ακόλουθη σύνταξη:

1 <τους>sudo</ em> εντολή

Ας εγκαταστήσουμε το λογισμικό ελέγχου έκδοσης “git” χρησιμοποιώντας το πρόγραμμα διαχείρισης πακέτων apt-get. Εάν επρόκειτο να το δοκιμάσουμε χωρίς να χρησιμοποιήσουμε το sudo:

1 apt-get install git

Θα λάβαμε αυτό το μήνυμα σφάλματος:

1
2

E: Δεν ήταν δυνατό το άνοιγμα του αρχείου κλειδώματος / var / lib / dpkg / lock – open (13: Δεν επιτρέπεται η άδεια)

E: Δεν είναι δυνατό να κλειδώσετε τον κατάλογο διαχείρισης (/ var / lib / dpkg /), είστε root?

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

1 sudo apt-get εγκατάσταση git

Με το sudo, μπορούμε επίσης να εκτελέσουμε εντολές ως χρήστης διαφορετικούς από το root χρησιμοποιώντας την επιλογή -u. Αυτό μπορεί να είναι χρήσιμο σε περιπτώσεις που ορισμένα προγράμματα αναμένουν ένα συγκεκριμένο περιβάλλον χρήστη (δηλαδή για τους χρήστες βάσεων δεδομένων mysql ή postgres). Η σύνταξη για να γίνει αυτό είναι:

1 εντολή ονόματος χρήστη sudo -u

Για την εκτέλεση εφαρμογών επιτραπέζιου υπολογιστή (γραφικό παράθυρο) ως άλλος χρήστης, πρέπει να χρησιμοποιήσουμε την εντολή gksu.

Για παράδειγμα, θα ανοίγαμε το synaptic (το frontend του διαχειριστή πακέτων Debian / Ubuntu) όπως αυτό από τη γραμμή εντολών (αντί να περάσουμε από το σύστημα μενού της επιφάνειας εργασίας):

1 gksu synaptic

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

Για να επεξεργαστείτε ένα αρχείο ως ριζικό χρήστη αντί να εκτελέσετε μια εντολή:

1 sudo -e / etc / hostname

Θα μπορούσατε να χρησιμοποιήσετε την εντολή sudoedit, η οποία είναι απλώς μια συντόμευση για το sudo -e.

1"sudoedit / etc / hostname"

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

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

1 sudo vim / etc / hostname

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

1σου

Τώρα μπορείτε να κάνετε μια σειρά εργασιών που απαιτούν δικαιώματα χρήστη root. Προσέξτε, ωστόσο, να μην καταστρέψετε αυτές τις επίμονες υπερδυνάμεις.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me