8 τρόποι για να τσεκάρετε και να ρυθμίσετε το Sudo στο Ubuntu
Όπως και τα περισσότερα πράγματα στο Linux, η εντολή sudo είναι πολύ διαμορφωμένη. Μπορείτε να εκτελέσετε ειδικές εντολές sudo χωρίς να ζητήσετε κωδικό πρόσβασης, να περιορίσετε συγκεκριμένους χρήστες μόνο σε εγκεκριμένες εντολές, εντολές καταγραφής με sudo και πολλά άλλα.
Η συμπεριφορά της εντολής sudo ελέγχεται από το αρχείο / etc / sudoers στο σύστημά σας. Αυτή η εντολή πρέπει να επεξεργαστεί με την εντολή visudo, η οποία εκτελεί έλεγχο σύνταξης για να διασφαλίσει ότι δεν θα σπάσει τυχαία το αρχείο.
Καθορίστε χρήστες με δικαιώματα Sudo
Ο λογαριασμός χρήστη που δημιουργείτε κατά την εγκατάσταση του Ubuntu επισημαίνεται ως λογαριασμός διαχειριστή, που σημαίνει ότι μπορεί να χρησιμοποιήσει το sudo. Τυχόν πρόσθετοι λογαριασμοί χρήστη που δημιουργείτε μετά την εγκατάσταση μπορούν να είναι είτε λογαριασμοί διαχειριστή είτε τυπικοί χρήστες - οι τυπικοί λογαριασμοί χρηστών δεν έχουν δικαιώματα sudo.
Μπορείτε να ελέγχετε γραφικά τους τύπους λογαριασμών χρηστών από το εργαλείο Λογαριασμοί χρηστών του Ubuntu. Για να το ανοίξετε, κάντε κλικ στο όνομα χρήστη σας στον πίνακα και επιλέξτε Λογαριασμοί χρηστών ή αναζητήστε λογαριασμούς χρηστών στην παύλα.
Κάντε το Sudo να ξεχάσετε τον κωδικό πρόσβασής σας
Από προεπιλογή, ο sudo θυμάται τον κωδικό πρόσβασής σας για 15 λεπτά αφού τον πληκτρολογήσετε. Αυτός είναι ο λόγος για τον οποίο πρέπει να πληκτρολογήσετε τον κωδικό πρόσβασής σας μόνο όταν εκτελείτε πολλαπλές εντολές με το sudo σε γρήγορη διαδοχή. Αν πρόκειται να αφήσετε κάποιον άλλο να χρησιμοποιήσει τον υπολογιστή σας και θέλετε να ζητήσει ο sudo τον κωδικό πρόσβασης όταν εκτελείται στη συνέχεια, εκτελέστε την ακόλουθη εντολή και το sudo θα ξεχάσει τον κωδικό πρόσβασής σας:
sudo -k
Πάντα ζητήστε έναν κωδικό πρόσβασης
Εάν θέλετε να σας ζητηθεί κάθε φορά που χρησιμοποιείτε το sudo - για παράδειγμα, εάν άλλα άτομα έχουν τακτικά πρόσβαση στον υπολογιστή σας - μπορείτε να απενεργοποιήσετε πλήρως τη συμπεριφορά θυμημάτων με κωδικό πρόσβασης.
Αυτή η ρύθμιση, όπως και άλλες ρυθμίσεις sudo, περιέχεται στο αρχείο / etc / sudoers. Εκτελέστε την εντολή visudo σε ένα τερματικό για να ανοίξετε το αρχείο για επεξεργασία:
sudo visudo
Παρά το όνομά της, αυτή η εντολή έχει προεπιλεγεί από τον νέο επεξεργαστή nano αντί για τον παραδοσιακό επεξεργαστή vi στο Ubuntu.
Προσθέστε την παρακάτω γραμμή κάτω από τις άλλες γραμμές προεπιλογών στο αρχείο:
Οι προεπιλογές timestamp_timeout = 0
Πατήστε Ctrl + O για να αποθηκεύσετε το αρχείο και, στη συνέχεια, πατήστε Ctrl + X για να κλείσετε το Nano. Το Sudo θα σας ζητήσει πάντα κωδικό πρόσβασης.
Αλλάξτε το Timeout του κωδικού πρόσβασης
Για να ορίσετε ένα διαφορετικό χρονικό όριο κωδικού πρόσβασης - είτε μεγαλύτερο είτε 30 λεπτά ή μικρότερο, όπως 5 λεπτά - ακολουθήστε τα παραπάνω βήματα, αλλά χρησιμοποιήστε μια διαφορετική τιμή για το timestamp_timeout. Ο αριθμός αντιστοιχεί στον αριθμό των λεπτών που ο sudo θα θυμάται τον κωδικό πρόσβασής σας. Για να έχετε το sudo να θυμάται τον κωδικό πρόσβασής σας για 5 λεπτά, προσθέστε την ακόλουθη γραμμή:
Οι προεπιλογές timestamp_timeout = 5
Ποτέ μην ζητάτε κωδικό πρόσβασης
Μπορείτε επίσης να έχετε το sudo ποτέ να ζητάτε έναν κωδικό πρόσβασης - όσο είστε συνδεδεμένοι, κάθε εντολή που προθέτετε με το sudo θα τρέξει με δικαιώματα root. Για να το κάνετε αυτό, προσθέστε την ακόλουθη γραμμή στο αρχείο σου sudoers, όπου το όνομα χρήστη είναι το όνομα χρήστη σας:
όνομα χρήστη ALL = (ALL) NOPASSWD: ALL
Μπορείτε επίσης να αλλάξετε τη γραμμή% sudo - δηλαδή τη γραμμή που επιτρέπει σε όλους τους χρήστες της ομάδας sudo (επίσης γνωστοί ως Administrator χρήστες) να χρησιμοποιούν sudo - για να μην απαιτούν κωδικούς οι χρήστες του Administrator:
% sudo ALL = (ALL: ALL) NOPASSWD: ΟΛΑ
Εκτέλεση συγκεκριμένων εντολών χωρίς κωδικό πρόσβασης
Μπορείτε επίσης να ορίσετε συγκεκριμένες εντολές που δεν θα απαιτούν ποτέ κωδικό πρόσβασης όταν εκτελείται με sudo. Αντί να χρησιμοποιήσετε "ALL" μετά το NOPASSWD παραπάνω, καθορίστε τη θέση των εντολών. Για παράδειγμα, η ακόλουθη γραμμή θα επιτρέψει στο λογαριασμό χρήστη να εκτελέσει τις εντολές apt-get και shutdown χωρίς κωδικό πρόσβασης.
όνομα χρήστη ALL = (ALL) NOPASSWD: / usr / bin / apt-get, / sbin / shutdown
Αυτό μπορεί να είναι ιδιαίτερα χρήσιμο όταν εκτελείτε συγκεκριμένες εντολές με το sudo σε μια δέσμη ενεργειών.
Επιτρέψτε σε έναν χρήστη να εκτελεί μόνο συγκεκριμένες εντολές
Παρόλο που μπορείτε να εξαντλήσετε συγκεκριμένες εντολές και να εμποδίσετε τους χρήστες να τις εκτελέσουν με το sudo, αυτό δεν είναι πολύ αποτελεσματικό. Για παράδειγμα, μπορείτε να ορίσετε ότι ένας λογαριασμός χρήστη δεν μπορεί να εκτελέσει την εντολή τερματισμού λειτουργίας με το sudo. Αλλά αυτός ο λογαριασμός χρήστη θα μπορούσε να εκτελέσει την εντολή cp με sudo, να δημιουργήσει ένα αντίγραφο της εντολής τερματισμού λειτουργίας και να κλείσει το σύστημα χρησιμοποιώντας το αντίγραφο.
Ένας πιο αποτελεσματικός τρόπος είναι να επιλεχθούν συγκεκριμένες εντολές. Για παράδειγμα, θα μπορούσατε να δώσετε στον Τυπικό λογαριασμό χρήστη τη δυνατότητα χρήσης των εντολών apt-get και shutdown, αλλά όχι περισσότερο. Για να το κάνετε αυτό, προσθέστε την ακόλουθη γραμμή, όπου standarduser είναι το όνομα χρήστη του χρήστη:
standarduser ALL = / usr / bin / apt-get, / sbin / shutdown
Η ακόλουθη εντολή θα μας πει τι εντολές μπορεί να τρέξει ο χρήστης με το sudo:
sudo -U standarduser -l
Σύνδεση πρόσβασης Sudo
Μπορείτε να καταγράψετε όλη την πρόσβαση sudo προσθέτοντας την ακόλουθη γραμμή. / var / log / sudo είναι μόνο ένα παράδειγμα. μπορείτε να χρησιμοποιήσετε οποιαδήποτε θέση αρχείου καταγραφής θέλετε.
Οι προεπιλογές logfile = / var / log / sudo
Προβάλετε τα περιεχόμενα του αρχείου καταγραφής με μια εντολή όπως αυτή:
sudo cat / var / log / sudo
Λάβετε υπόψη ότι εάν ένας χρήστης έχει απεριόριστη πρόσβαση στο sudo, αυτός ο χρήστης έχει τη δυνατότητα να διαγράψει ή να τροποποιήσει τα περιεχόμενα αυτού του αρχείου. Ένας χρήστης θα μπορούσε επίσης να αποκτήσει πρόσβαση σε μια προτροπή root με sudo και να τρέξει εντολές που δεν θα καταγραφούν. Η λειτουργία καταγραφής είναι πολύ χρήσιμη όταν συνδυάζεται με λογαριασμούς χρηστών που έχουν περιορισμένη πρόσβαση σε ένα υποσύνολο εντολών συστήματος.