Sudo

Sudo
Στιγμιότυπο από sudo στα Ubuntu
Γενικά
ΔημιουργοίΟι Robert Coggeshall και Cliff Spencer δημιούργησαν την αρχική έκδοση του προγράμματος. Σήμερα αναπτύσσεται από τον Todd C. Miller
Είδοςλογισμικό ασφαλείας, ελεύθερο και ανοιχτού κώδικα λογισμικό
Διανομή
Έκδοση1.9.16p1 (12 Νοέμβριος 2024)[1]
Λειτουργικάστυλ Unix
Ανάπτυξη
Υπευθ. ανάπτυξηςTodd C. Miller
Γραμμένο σεC
Άδεια χρήσηςΆδεια ISC
Σύνδεσμοι
Επίσημος ιστότοπος
https://www.sudo.ws/
Αποθετήριο κώδικα
https://github.com/sudo-project/sudo

Το sudo (/ˈsd/[2] ή /ˈsd/[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]

  1. Todd C. Miller (12 Νοέμβριος 2024). «[sudo-announce] sudo 1.9.16p1 released». Ανακτήθηκε στις 18 Νοέμβριος 2024. 
  2. 2,0 2,1 Miller, Todd C. «Troubleshooting tips and FAQ for Sudo» (στα αγγλικά). Ανακτήθηκε στις 18 Φεβρουαρίου 2015. CS1 maint: Μη αναγνωρίσιμη γλώσσα (link)
  3. «How do YOU pronounce "sudo"?». Ars Technica. 
  4. Cohen, Noam (26 Μαΐου 2008). «This Is Funny Only if You Know Unix» (στα αγγλικά). The New York Times. http://www.nytimes.com/2008/05/26/business/media/26link.html. Ανακτήθηκε στις 18 Φεβρουαρίου 2015. 
  5. White, Kevin M. (2009). Mac OS X Support Essentials V10.6 (στα αγγλικά). Peachpit Press. CS1 maint: Μη αναγνωρίσιμη γλώσσα (link)
  6. 6,0 6,1 Miller, Todd C. «A Brief History of Sudo» (στα αγγλικά). Ανακτήθηκε στις 2 Φεβρουαρίου 2015. CS1 maint: Μη αναγνωρίσιμη γλώσσα (link)
  7. «RootSudo». Community Ubuntu Documentation (στα αγγλικά). Help.ubuntu.com. 8 Νοεμβρίου 2011. Ανακτήθηκε στις 18 Φεβρουαρίου 2015. CS1 maint: Μη αναγνωρίσιμη γλώσσα (link)
  8. «Top Ten Mac OS X Tips for Unix Geeks» (στα αγγλικά). MacDevCenter.com. Ανακτήθηκε στις 18 Φεβρουαρίου 2015. CS1 maint: Μη αναγνωρίσιμη γλώσσα (link)
  9. «SELinux Lockdown Part Five: SELinux RBAC». Ανακτήθηκε στις 17 Νοεμβρίου 2012. 
  10. Todd C. Miller (17 Ιουνίου 2011). «Visudo Manual» (στα αγγλικά). Gratisoft.us. Αρχειοθετήθηκε από το πρωτότυπο στις 12 Ιουνίου 2007. Ανακτήθηκε στις 18 Φεβρουαρίου 2015. CS1 maint: Μη αναγνωρίσιμη γλώσσα (link)
  11. «Introduction to Authorization Services Programming Guide» (στα αγγλικά). Developer.apple.com. Αρχειοθετήθηκε από το πρωτότυπο στις 5 Μαρτίου 2010. Ανακτήθηκε στις 18 Φεβρουαρίου 2015. CS1 maint: Μη αναγνωρίσιμη γλώσσα (link)

Εξωτερικοί σύνδεσμοι

[Επεξεργασία | επεξεργασία κώδικα]