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