Το sudo είναι ίσως μια από τις πιο χρησιμοποιούμενες εντολές Linux. Σας επιτρέπει να αποκτήσετε διαχειριστικά ή αυξημένα προνόμια σε μια μηχανή Linux.
Συνήθως χρειάζεστε αυξημένα δικαιώματα για την εκτέλεση ενεργειών όπως η εγκατάσταση λογισμικού, η διαχείριση υπηρεσιών και η διαγραφή κρίσιμων αρχείων συστήματος. Αλλά ξέρατε ότι υπάρχουν εναλλακτικές λύσεις στην εντολή sudo στο Linux;
Γιατί να εκτελούμε εντολές Linux ως άλλος χρήστης;
Το sudo είναι μια πολύ σημαντική εντολή γιατί σας επιτρέπει να εκτελείτε εντολές με δικαιώματα υπερχρήστη. Από προεπιλογή, οι χρήστες που δεν είναι root έχουν συνήθως περιορισμένη πρόσβαση σε πόρους και αρχεία στο Linux.
Ο περιορισμός της πρόσβασης στους χρήστες στο Linux είναι πολύ ζωτικής σημασίας για τους ακόλουθους λόγους:
- Ελεγχος: Επιτρέπει στους διαχειριστές ή στους κατόχους του συστήματος να παραχωρούν συγκεκριμένη πρόσβαση σε ορισμένα αρχεία και προγράμματα. Αυτό είναι καλό για τη σταθερότητα του συστήματος, το απόρρητο και τη συνολική απόδοση.
- Ασφάλεια: Ο περιορισμός της πρόσβασης σε ορισμένα μέρη του συστήματος αποτρέπει την τυχαία διαγραφή ή αλλαγές στο σύστημα. Και επίσης μειώνει την επιφάνεια επίθεσης του συστήματος.
Το sudo λειτουργεί καλά και κάνει πολύ περισσότερα από αυτά για τα οποία το χρησιμοποιούν οι περισσότεροι. Δυστυχώς, αυτό το κάνει πολύ φουσκωμένο.
Ευτυχώς, όπως συμβαίνει με τα περισσότερα πράγματα στο Linux, υπάρχουν μερικές εξαιρετικές εναλλακτικές στην εντολή sudo, και εδώ είναι μερικές από αυτές.
1. pkexec
Η εντολή pkexec (PolicyKit Executive) είναι μια υλοποίηση front-end του πλαισίου PolicyKit, το οποίο παρέχει ένα σύνολο κανόνων για την παραχώρηση προνομίων σε χρήστες και διαδικασίες.
Το pkeexec σάς επιτρέπει να εκτελέσετε μια εντολή με τα δικαιώματα διαφορετικού χρήστη ή ρόλου, με βάση τους κανόνες που ορίζονται σε μια καθορισμένη πολιτική.
Το εργαλείο pkexec είναι ήδη εγκατεστημένο στο Ubuntu και σε άλλες μεγάλες διανομές Linux. Σε περίπτωση που δεν είναι εγκατεστημένο, δείτε πώς να το εγκαταστήσετε.
Σε συστήματα που βασίζονται σε Debian, εκτελέστε:
sudo apt εκσυγχρονίζω && sudo apt εγκαθιστώ πολιτικών-1
Σε RHEL και παρόμοιες διανομές, εκτελέστε:
sudo dnf εγκαθιστώ πολιτικών
Σε διανομές Linux που βασίζονται σε Arch, χρησιμοποιήστε την ακόλουθη εντολή:
sudo sudo pacman -S policykit
Πώς να χρησιμοποιήσετε το pkexec
Για να χρησιμοποιήσετε το pkexec, πρέπει πρώτα να καθορίσετε τη λέξη-κλειδί pkexec ακολουθούμενη από την εντολή που θέλετε να εκτελέσετε, ακολουθούμενη από τυχόν ορίσματα ή επιλογές που απαιτεί η εντολή.
Για παράδειγμα, για εγκατάσταση το αστείο πρόγραμμα Linux: cowsay στο σύστημά σας χρησιμοποιώντας προνόμια υπερ-χρήστη, θα χρησιμοποιούσατε τα εξής:
pkeexec apt εγκαθιστώ coway
Μπορείτε επίσης να καθορίσετε έναν χρήστη ή έναν ρόλο για να αποκτήσει τα προνόμια του, χρησιμοποιώντας το --χρήστης επιλογή ακολουθούμενη από το όνομα του χρήστη ή του ρόλου. Για παράδειγμα, για να εκτελέσετε την προηγούμενη εντολή με τα δικαιώματα του χρήστη διαχειριστή, θα χρησιμοποιήσετε την ακόλουθη εντολή:
pkexec -- χρήστης admin apt εγκατάσταση Cowsay
Επίσης, θα πρέπει να εισαγάγετε τον κωδικό πρόσβασης του χρήστη ή του ρόλου που έχετε καθορίσει στην εντολή. Εάν δεν έχετε τα απαραίτητα δικαιώματα, θα λάβετε ένα σφάλμα.
2. Κάνε ως
Η εντολή doas έχει τις ρίζες της στο λειτουργικό σύστημα OpenBSD. Σας επιτρέπει να εκτελέσετε μια εντολή με τα προνόμια ενός συγκεκριμένου χρήστη ή ρόλου.
Είναι πολύ παρόμοιο με την εντολή sudo, αλλά είναι μοντέρνο, πολύ ελαφρύ και εύκολο στη διαμόρφωση, επειδή χρησιμοποιεί συνοπτικές και ευανάγνωστες δηλώσεις.
Αν δεν είναι, Δείτε πώς μπορείτε να εγκαταστήσετε doas στο Linux.
Διαμόρφωση doas σε Linux
σε αντίθεση με το sudo και pkexec εντολές, πρέπει να διαμορφώσετε μια πρόσφατα εγκατεστημένη παρουσία του doas προτού αρχίσετε να τη χρησιμοποιείτε. Το αρχείο ρυθμίσεων βρίσκεται στη διεύθυνση /etc/doas.conf. Εάν το αρχείο διαμόρφωσης δεν υπάρχει, δημιουργήστε ένα χρησιμοποιώντας την εντολή αφής ή οποιοδήποτε άλλο πρόγραμμα της επιλογής σας.
Για να δώσετε στον χρήστη «mwizak» δικαιώματα υπερχρήστη στο σύστημά σας, μπορείτε να προσθέσετε την ακόλουθη γραμμή στο /etc/doas.conf αρχείο:
η άδεια παραμένει :mwizak όπως και ρίζα
Θυμηθείτε να αντικαταστήσετε τον χρήστη "mwizak" στην προαναφερθείσα εντολή με το σωστό όνομα χρήστη.
Αφού αποθηκεύσετε τις αλλαγές διαμόρφωσης, δοκιμάστε να εγκαταστήσετε το cowsay χρησιμοποιώντας την ακόλουθη εντολή:
doas apt εγκαθιστώ coway
Για να χρησιμοποιήσετε άλλον χρήστη, μπορείτε να χρησιμοποιήσετε το -u σημαία ακολουθούμενη από το όνομα χρήστη. Είναι παρόμοιο με το --χρήστης σημαία που χρησιμοποιείται με την εντολή pkexec.
Για παράδειγμα, για να εκτελέσετε την προηγούμενη εντολή ως διαχειριστής συστήματος, θα εκτελέσετε:
doas -u admin apt εγκαθιστώ coway
3. su
Η εντολή su είναι σύντομη για το "switch user". Σας επιτρέπει να εκτελείτε εντολές ως χρήστες διαφορετικοί από τον τρέχοντα συνδεδεμένο χρήστη. Συνήθως χρησιμοποιείται για την εκτέλεση εντολών που απαιτούν δικαιώματα root, αλλά μπορείτε απλώς να εκτελέσετε οποιαδήποτε άλλη εντολή χρησιμοποιώντας το su.
Η εκτέλεση της εντολής su χωρίς ορίσματα προϋποθέτει τον χρήστη root, επομένως πρέπει να γνωρίζετε τον κωδικό πρόσβασης χρήστη root για να συνεχίσετε. Εάν επρόκειτο να μεταβείτε σε έναν χρήστη με το όνομα john, θα εκτελέσατε απλώς την εντολή:
σου Τζον
Εισαγάγετε τον κωδικό πρόσβασης για τον χρήστη john. Για να επιστρέψετε στον αρχικό χρήστη, απλώς εκτελέστε το έξοδος εντολή.
Λάβετε υπόψη ότι η εκτέλεση εντολών ως χρήστης root συνήθως δεν συνιστάται επειδή δεν σας ζητείται α κωδικό πρόσβασης σε κάθε εντολή που εκτελείτε, κάτι που μπορεί να οδηγήσει σε καταστροφικές συνέπειες, όπως κατά λάθος διαγραφή αρχεία.
4. dzdo
Το dzdo είναι ένα εργαλείο γραμμής εντολών που χρησιμοποιείται για την εκτέλεση εντολών με τα δικαιώματα ενός άλλου χρήστη, όπως ο υπερχρήστης ή ο χρήστης root. Είναι παρόμοια με την εντολή sudo, η οποία χρησιμοποιείται συνήθως για τον ίδιο σκοπό. Η εντολή dzdo είναι κυρίως διαθέσιμη στο Oracle Linux.
Μπορείτε να χρησιμοποιήσετε το -u επισημάνετε για να καθορίσετε τον χρήστη του οποίου τα δικαιώματα θέλετε να χρησιμοποιήσετε. Για παράδειγμα, η ακόλουθη εντολή θα εκτελέσει το apt-get ενημέρωση εντολή με τα δικαιώματα του υπερχρήστη (root):
dzdo -u root apt-παίρνω εκσυγχρονίζω
Το σύστημα θα σας ζητήσει να εισαγάγετε τον κατάλληλο κωδικό πρόσβασης για να επιβεβαιώσετε ότι έχετε τα απαραίτητα δικαιώματα για να εκτελέσετε την εντολή.
Χρησιμοποιήστε τα σωστά στοιχεία ελέγχου χρήστη για βελτιωμένη ασφάλεια στο Linux
Το sudo είναι μια συνήθως χρησιμοποιούμενη εντολή σε συστήματα Linux που επιτρέπει σε έναν χρήστη να εκτελέσει μια εντολή με τα δικαιώματα του χρήστη root. Ανάλογα με τις ανάγκες σας, μπορείτε να χρησιμοποιήσετε οποιαδήποτε εναλλακτική λύση sudo στη ροή εργασίας σας.
Στο Linux, είναι επίσης σημαντικό να εκχωρήσετε τα κατάλληλα επίπεδα πρόσβασης σε αρχεία και φακέλους για καλύτερη ασφάλεια.