Archives organization (was: set-uid)

DJ Art djart at freemail.gr
Thu Dec 16 17:03:50 EET 1999


Michalis Kabrianis wrote:
> Vangelis wrote:
> > Geia sas paidia.
> > Mia erotisi: Otan leme oti ena programma einai set-uid ti akribos ennooume
> > kai
> > pos auto prokalei problimata stin asfaleia enos sistimatos?

Χμμμμμ.... θα προσπαθήσω να απαντήσω (μόνο και μόνο για να κρίνουν "οι
θεοί" αν το κατάλαβα το ρημαδιασμένο suid :-)))

Κατ' αρχάς λέμε οτι ένα εκτελέσιμο αρχείο είναι suid. ΟΚ ??

Όπως ξέρεις, ένα αρχείο έχει τα perimission rwx (read, write, execute),
ανήκει σε έναν owner και σε ένα group.

Τα permissions ορίζονται σε 3 επίπεδα : ugo (user, group, others).

Λοιπόν, μπορείς να θεωρείς το suid σαν ένα νέο permission (chmod u+s
lala.file)

Όταν ένα εκτελέσιμο, λοιπόν, ανήκει σε ένα Α χρήστη και εσύ είσαι ένας
άλλος Β χρήστης, και το αρχείο μπορείς να το εκτελέσεις εσύ (δηλαδή έχει
permissions x σε επίπεδο others) και φυσικά είναι suid, τότε όταν
τρέχεις το εκτελέσιμο αυτό, το τρέχεις σαν να ήσουν ο Α χρήστης. Σου
επιτρέπει, δηλαδή το suid, να εκτελέσεις ένα αρχείο με τις ιδιότητες του
χρήστη που ανήκει. Και βέβαια, όχι μόνο με τις ιδιότητες, αλλά και τις
όποιες "ελευθερίες" μπορεί να έχει ο χρήστης Α.

Παράδειγμα:
ο απλός χρήστης δεν μπορεί να τρέξει το pppd. Αυτό ανήκει στον root.
Έτσι, λοιπόν, το κάνεις suid και εκτελέσιμο για others και μπορεί ο
απλός χρήστης να συνδεθεί στο Internet. Είναι όμως, σαν να έτρεχε ο
ίδιος ο root το pppd, και αυτό είναι πλεονέκτημα, γιατί, αυτό μπορεί να
θέλει να διαβάσει διάφορα άλλα αρχεία (να γράψει στα log) κλπ... ,
γεγονός που για να το κάνεις με άλλον τρόπο εκτός από suid, θα έπρεπε να
γεμίσεις το linux "τρύπες".

Παράδειγμα κινδύνου: 
Έστω ότι κάνεις suid το bash !!! Όπως είπαμε, αν το τρέξεις ως απλός
χρήστης, είναι σαν να το τρέχει ο owner του, ο οποίος είναι ο root. Τί
γίνεται λοιπόν ?? Το τρέχεις με τις ιδιότητες του root (και όλες τις
ελευθερίες του root). Ο κίνδυνος ??? Έγινες root χωρίς να πρέπει και
χωρίς να σου έχει δοθεί άδεια και χωρίς να γνωρίζεις το password του
root (φαντάσου να τα έκανες αυτά τα πράγματα, και root να ήταν ο
Καμπριάνης ..... δεν σε έσωζε ούτε ο Θεός !!!!)

Άλλο παράδειγμα:
Δεν έχει νόημα να κάνεις ένα script file, suid. Και αυτό, γιατί το
script περιέχει άλλες εντολές. Για να κάνεις όλα αυτά που έχει μέσα το
script με suid, τότε, θα πρέπει όλες οι εντολές να γίνουν suid (δεν ξέρω
αν το κατάλαβες αυτό, το εξήγησα πολύ γρήγορα ....)

Επίσης, δεν έχει νόημα να κάνεις suid ένα αρχείο που δεν έχει x
permission σε επίπεδο others, γιατί πολύ απλά, δεν τους επιτρέπεις να το
εκτελέσουν.
Το suid επιτρέπει σε αυτούς που μπορούν να το εκτελέσουν, να το
εκτελέσουν ως ο owner του. 

Αυτά, βασικά, υπάρχει και το guid (group -uid). Φαντάζομαι, μπορείς να
καταλάβεις τί κάνει, τώρα πιά (και αν είναι σωστά όλα όσα σου είπα
....;)

 
> Epi ti eykaireia tou mail aytou, tha ithela na proteinw to eksis:
> 
> Opws eipe kapoios kapote, psaxnontas sta archives gia mia apantisi, briskeis 20
> fores to minima "exei apantithei" i to "psakse sta archives".
Ναι, εγώ το είχα πεί, πρόσφατα. Τέλος πάντων, η ιδέα που προτείνεις
είναι υπερβολικά καλή :-))



-- 
===========================================================
| DJ Art                                                  |
| email address: <djart at hellug.gr> <djart at freemail.gr>    |
===========================================================
| Personal Linux Page:                                    |
| http://www.geocities.com/SiliconValley/Code/6319        |
===========================================================


--
====================================================================
Gia boithia (h na diagrafhte) e-mail sto majordomo at hellug.gr
Ta archives tis listas einai sto http://lists.hellug.gr/lgu.html
prin steilete kapoia erothsh psakte mipos exei hdh apanththei.
Gia opoiodipote problima stilte e-mail ston owner-linux-greek-users at hellug.gr
====================================================================



More information about the Linux-greek-users mailing list