Τοsudo (/ˈsuːduː/[2] ή /ˈsuːdoʊ/[2][3]) είναι πρόγραμμα γιαλειτουργικά συστήματα της οικογένειας τουUnixτο οποίο επιτρέπει στον χρήστη να εκτελέσει άλλα προγράμματα μετα δικαιώματα ασφαλείας ενός άλλου χρήστη (συνήθως του superuser ή root).[4]Το όνομα προέρχεται από την αγγλική φράση substitute user do, που έχει την σημασία του «να κάνεις κάτι σαν διαφορετικός χρήστης».[5]
Οι Robert Coggeshall και Cliff Spencer δημιούργησαν την αρχική έκδοση του sudo στις αρχές της δεκαετίας του 1980, στο Τμήμα Επιστήμης των Υπολογιστών τουΚρατικού Πανεπιστημίου της Νέας Υόρκης στο Μπάφαλο (State University of New York at Buffalo, SUNY Buffalo).[6]Η τρέχουσα έκδοση του προγράμματος αναπτύσσεται και συντηρείται από τον Todd C. Miller και διανέμεται υπό τους όρους μια άδειας τύπου ISC.[6]
Σε αντίθεση μετο παρόμοιο su, οι χρήστες χρησιμοποιούν τον δικό τους κωδικό αντί γιατον κωδικό του root. Μετά τον έλεγχο των στοιχείων και εφόσον επιτρέπεται η πρόσβαση στον χρήστη σύμφωνα μετο αρχείο ρυθμίσεων (αγγλ. configuration file) το σύστημα θα καλέσει την εντολή ή το πρόγραμμα που ζήτησε ο χρήστης. Το αρχείο ρυθμίσεων παρέχει πολλές επιλογές, όπως ναμην απαιτείται χρήση κωδικού γιατην εκτέλεση συγκεκριμένων εντολών, να απαιτείται ένας κωδικός ανά χρήστη ή ομάδα χρηστών, να απαιτείται η εισαγωγή του κωδικού για κάθε εντολή ή ναμην απαιτείται καθόλου η χρήση τουκαι άλλες. Είναι δυνατή η ρύθμιση προκειμένου να χρησιμοποιούνται ορίσματα καινα καλούνται πολλές εντολές μαζί και επίσης υποστηρίζεται η χρήση εντολών με regular expressions.
Το αρχείο ρυθμίσεων βρίσκεται συνήθως στην θέση /usr/local/etc/sudoers ή την/etc/sudoers. Σε κάποια συστήματα (ορισμένες διανομές LinuxκαιτοMac OS X.[7][8]) το sudo έχει αντικαταστήσει πλήρως το login του superuser γιατην εκτέλεση εργασιών που απαιτούν δικαιώματα διαχειριστή. Επίσης μπορεί να χρησιμοποιηθεί σε μοντέλα που βασίζονται στην παροχή δικαιωμάτων στον χρήστη με βάση τον ρόλο (Role-Based Access Control, RBAC).[9]
Το visudo είναι μια εφαρμογή που επιτρέπει την επεξεργασία του αρχείο ρυθμίσεων μέσω της διεπαφής τουvi ή κάποιου άλλου επεξεργαστή. Με αυτό τον τρόπο η επεξεργασία γίνεται πιο ασφαλής και επιπλέον επιτρέπεται η διενέργεια πολλών επεξεργασιών παράλληλα, γίνονται βασικοί έλεγχοι εγκυρότητας των δηλώσεων (sanity checks) και έλεγχοι για σφάλματα.[10] Υπάρχουν πολλά frontend γιατο sudo που παρέχουν περιβάλλον Γραφικής Διεπαφής Χρήστη (GUI) και επιτρέπουν την ευκολότερη ρύθμιση από τους χρήστες. Σε αυτά συγκαταλέγονται τα kdesudo και gksudo.
ΣεMicrosoft Windows υπάρχει η εντολή runasπου έχει παρόμοια λειτουργικότητα μετο sudo αλλά δεν μπορεί να περάσει στο πρόγραμμα που καλεί τον τρέχοντα φάκελο, μεταβλητές περιβάλλοντος ή μακροσκελείς γραμμές εντολών. Ενώ επιτρέπει την εκτέλεση προγραμμάτων μετα δικαιώματα άλλου χρήστη, δεν επιτρέπει την προσωρινή αναβάθμιση των δικαιωμάτων του χρήστη συνολικά -όπως συμβαίνει μετο sudo. Μια πραγματική υλοποίηση που παρέχει όλη την λειτουργικότητα των su και sudo για Windows έχει υλοποιηθεί στοHamilton C shell. Άλλα προγράμματα που επιτρέπουν την προσωρινή αναβάθμιση των δικαιωμάτων του χρήστη ώστε να μπορεί να πραγματοποιήσει διαχειριστικές εργασίες προσωρινά είναι τοUser Account ControlσεMicrosoft Windowsκαιτα Authorization Services στοMac OS X.[11]
↑«RootSudo». Community Ubuntu Documentation (στααγγλικά). Help.ubuntu.com. 8 Νοεμβρίου 2011. Ανακτήθηκε στις 18 Φεβρουαρίου 2015.CS1 maint: Μη αναγνωρίσιμη γλώσσα (link)
↑Todd C. Miller (17 Ιουνίου 2011). «Visudo Manual» (στααγγλικά). Gratisoft.us. Αρχειοθετήθηκε από το πρωτότυπο στις 12 Ιουνίου 2007. Ανακτήθηκε στις 18 Φεβρουαρίου 2015.CS1 maint: Μη αναγνωρίσιμη γλώσσα (link)