Android

Η εντολή Sudo στο linux

Χρήστες και Ομάδες: Θεωρία, Εντολές + Sudo - Beginner 7 - Linux Masterclass - EverDuzk

Χρήστες και Ομάδες: Θεωρία, Εντολές + Sudo - Beginner 7 - Linux Masterclass - EverDuzk

Πίνακας περιεχομένων:

Anonim

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

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

Σε αυτό το σεμινάριο, θα σας εξηγήσουμε πώς να χρησιμοποιήσετε την εντολή sudo .

Εγκατάσταση του Sudo (εντολή sudo δεν βρέθηκε)

Το πακέτο sudo είναι προεγκατεστημένο στις περισσότερες διανομές Linux.

Για να ελέγξετε αν το πακέτο sudo είναι εγκατεστημένο στο σύστημά σας, ανοίξτε την κονσόλα σας, πληκτρολογήστε sudo και πατήστε Enter . Εάν έχετε εγκαταστήσει το sudo, το σύστημα θα εμφανίσει ένα σύντομο μήνυμα βοήθειας, αλλιώς θα δείτε κάτι σαν sudo command not found .

Εάν το sudo δεν είναι εγκατεστημένο, μπορείτε εύκολα να το εγκαταστήσετε χρησιμοποιώντας το διαχειριστή πακέτων της διανομής σας.

Εγκαταστήστε το Sudo σε Ubuntu και Debian

apt install sudo

Εγκαταστήστε το Sudo σε CentOS και Fedora

yum install sudo

Προσθήκη χρήστη σε Sudoers

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

Στις διανομές με βάση το RedHat, όπως το CentOS και το Fedora, το όνομα της ομάδας sudo είναι wheel . Για να προσθέσετε τον χρήστη στην εκτέλεση ομάδας:

usermod -aG wheel username

Στο Debian, το Ubuntu και τα παράγωγά τους, τα μέλη της ομάδας sudo έχουν πρόσβαση με sudo:

usermod -aG sudo username

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

Για παράδειγμα, για να επιτρέψετε στο χρήστη linuxize να εκτελέσει μόνο την mkdir ως sudo, πληκτρολογήστε:

sudo visudo

και να προστεθεί η ακόλουθη γραμμή:

linuxize ALL=/bin/mkdir

Στα περισσότερα συστήματα, η εντολή visudo ανοίγει το αρχείο /etc/sudoers με τον επεξεργαστή κειμένου vim. Αν δεν έχετε εμπειρία με το vim, ελέγξτε το άρθρο μας σχετικά με τον τρόπο αποθήκευσης ενός αρχείου και τερματίστε τον επεξεργαστή vim.

Μπορείτε επίσης να επιτρέψετε στους χρήστες να εκτελούν εντολές sudo χωρίς να εισάγουν κωδικό πρόσβασης:

linuxize ALL=(ALL) NOPASSWD: ALL

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

Η σύνταξη της εντολής sudo έχει ως εξής:

sudo OPTION.. COMMAND

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

Για να χρησιμοποιήσετε sudo, απλά προθέστε την εντολή με το sudo :

sudo command

Όπου command είναι η εντολή για την οποία θέλετε να χρησιμοποιήσετε το sudo.

Το Sudo θα διαβάσει το αρχείο /etc/sudoers και θα ελέγξει εάν ο χρήστης που επικαλείται παραχωρείται με sudo αξιολόγηση. Την πρώτη φορά που χρησιμοποιείτε το sudo σε μια περίοδο λειτουργίας, θα σας ζητηθεί να εισαγάγετε τον κωδικό χρήστη και η εντολή θα εκτελεστεί ως root.

Για παράδειγμα, για να απαριθμήσετε όλα τα αρχεία στον κατάλογο /root θα χρησιμοποιούσατε:

sudo ls /root

password for linuxize:….bashrc.cache.config.local.profile

Διάλειμμα κωδικού πρόσβασης

Από προεπιλογή, το sudo θα σας ζητήσει να εισάγετε ξανά τον κωδικό πρόσβασης μετά από πέντε λεπτά αδράνειας του sudo. Μπορείτε να αλλάξετε το προεπιλεγμένο χρονικό όριο τροποποιώντας το αρχείο sudoers . Ανοίξτε το αρχείο με το visudo :

sudo visudo

Ορίστε το προεπιλεγμένο χρονικό όριο προσθέτοντας την παρακάτω γραμμή, όπου 10 είναι το χρονικό όριο που καθορίζεται σε λεπτά:

Defaults timestamp_timeout=10

Defaults:user_name timestamp_timeout=10

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

Υπάρχει μια λανθασμένη αντίληψη ότι το sudo χρησιμοποιείται μόνο για την παροχή δικαιωμάτων root σε έναν κανονικό χρήστη. Στην πραγματικότητα, μπορείτε να χρησιμοποιήσετε το sudo για να εκτελέσετε μια εντολή ως οποιοσδήποτε χρήστης.

Η επιλογή -u σας επιτρέπει να εκτελέσετε μια εντολή ως καθορισμένος χρήστης.

Στο παρακάτω παράδειγμα χρησιμοποιούμε sudo για να εκτελέσουμε την εντολή whoami ως χρήστη "richard":

sudo -u richard whoami

Η εντολή whoami θα εκτυπώσει το όνομα του χρήστη που τρέχει την εντολή:

richard

Πώς να κάνετε ανακατεύθυνση με Sudo

sudo echo "test" > /root/file.txt

bash: /root/file.txt: Permission denied

Αυτό συμβαίνει επειδή η ανακατεύθυνση " > " της εξόδου πραγματοποιείται κάτω από τον χρήστη στον οποίο είστε συνδεδεμένοι, όχι ο χρήστης που καθορίζεται από το sudo. Η ανακατεύθυνση γίνεται πριν την επίκληση της εντολής sudo .

Μια λύση είναι να καλέσετε ένα νέο κέλυφος ως ρίζα χρησιμοποιώντας το sudo sh -c :

sudo sh -c 'echo "test" > /root/file.txt'

Μια άλλη επιλογή είναι να διοχετεύσετε την έξοδο ως κανονικό χρήστη στην εντολή tee όπως φαίνεται παρακάτω:

echo "test" | sudo tee /root/file.txt

συμπέρασμα

Έχετε μάθει πώς να χρησιμοποιείτε την εντολή sudo και πώς να δημιουργείτε νέους χρήστες με δικαιώματα sudo.

τερματικό sudo