Κληρονομικότητα δικαιωμάτων σε αρχεία...

Aggelos Economopoulos aoiko at cc.ece.ntua.gr
Sat Jan 10 04:21:20 EET 2004


On Friday 09 January 2004 14:57, Giannis Stoilis wrote:
> Aggelos Economopoulos wrote:
> > Εξαρτάται από το τι κάνουν οι χρήστες στο directory. Αν δεν έχεις trust
> > issues, μπορείς να χρησιμοποιήσεις π.χ. το 'while true; do chmod -R
> > whatever my_dir; sleep 1; done' ή ένα custom πρόγραμμα που να κάνει
> > register γιά dnotify events (δουλεύει ακόμα αυτό?) ή να κάνεις preload
> > ένα library που κάνει override το open(2) και το creat(2) (ξέχασα κανένα
> > άλλο?). Φυσικά, μπορείς πάντα να πειράξεις την vfs_create() και να κάνεις
> > ξανά compile τον πηρύνα. Προφανώς, αφού δεν μας λες τι ακριβώς θα κάνουν
> > οι χρήστες σου και γιατί ακριβώς θες να γίνονται inherit τα permission
> > bits, δεν μπορείς να περιμένεις να κάτσει ο καθένας να μαντέψει τι θές να
> > κάνεις γιά να σου δώσει μιά σοβαρή απάντηση. FWIW, έχω σοβαρές αμφιβολίες
> > ότι πράγματι θες να κάνεις αυτό που περιγράφεις...
>
> Άτομα με local access θα μοιράζονται αρχεία(με scp), τα οποία θα
> μεταφέρουν με scp.
> Το πρώτο που λες μου φαίνεται βαρύ...

[xterm 1]
aggelos at erwin:~/tmp> find mysql-3.23.57 -print | wc -l
    2986
aggelos at erwin:~/tmp> time chmod -R 777 mysql-3.23.57/ 
0.000u 0.064s 0:00.08 75.0%     117+289k 0+0io 0pf+0w
aggelos at erwin:~/tmp> bash -c 'while true; do chmod -R 777 mysql-3.23.57; sleep 
1; done'

[xterm 2]
aggelos at erwin:~> ps aux | wc -l
     294
aggelos at erwin:~> ps auxr | grep -n bash | grep -v grep | cut -d':' -f1
288

[τα παραπάνω είναι σε freebsd - το r flag του ps είναι:

	-r      Sort by current cpu usage, instead of by process ID.
]

με άλλα λόγια, απλά σου τρώει λίγο χώρο στη μνήμη γιατί κρατάει συνέχεια 
cached τα metadata γιά το directory tree.

Τώρα, αυτή τη στιγμή δεν έχω linux γιά να το δοκιμάσω, αλλά το

dnotify -rC mydir -e 'chmod -R mymode mydir'

φαίνεται να κάνει αυτό που θες, με μηδενικό administration overhead (σε αφήνει 
ανοιχτό σε πολύ μικρά races, αλλά στον χρόνο που χρειάζεται να αντιγραφεί ένα 
αρχείο και να το δεί όποιος θέλει να το αντιγράψει (και να βεβαιωθεί ότι 
είναι ολόκληρο) αμφιβάλω αν θα το πετύχει ποτέ κανένας (εκτός αν είναι σε 
τοπικό δίκτυο και χρησιμοποιεί scriptάκια για να τραβάει τα νέα αρχεία (και 
ξέρει από πριν ποιά θα είναι τα νέα αρχεία)). Νομίζω. Δοκίμασε το και δες αν 
δουλεύει.

> Το δεύτερο με τρόμαξε μόνο που το
> είδα.
>
> Μόνο με CVS μπορώ να κάνω την δουλειά μου;

Αν δεν φοβάσαι τα remote vulnerabilities, υπάρχουν εκατοντάδες applications 
για file transfer, τουλάχιστον κάποια θα κάνει αυτό που θες (ή θα είναι 
αρκετά απλή για να την αλλάξεις μόνος σου). Seek and ye shall find.

Άγγελος




More information about the Linux-greek-users mailing list