"link-copy" ενός directory με διαφορετικά δικαιώματα πρόσβασης

Christos Ricudis ricudis at itc.auth.gr
Mon Apr 12 15:16:43 EEST 2010


On 04/12/10 13:48, Nick Demou wrote:

> έχω ένα source-directory με πολλές εκατοντάδες subdirs/files
> θέλω να διατηρώ μόνιμα ένα hard-linked ή simlink αντίγραφό του στον
> φάκελο destination-dir (στο ίδιο filesystem) αλλά με ΔΙΑΦΟΡΕΤΙΚΑ
> δικαιώματα χρηστών (το surce-dir είναι προσβάσιμο μόνο από τον root ενώ
> το destination-dir θέλω να είναι accessible από έναν απλό χρήστη)
>
> δεν με πειράζει να βάλω στο cron κάτι που τρέχει κάθε ένα λεπτό αλλά δεν
> πρέπει να είναι κάτι τόσο κουτό ώστε να ξανα δημιουργεί τα υπάρχοντα
> links γιατί υπάρχουν τουλάχιστον χίλια αρχεία και directories
>
> υπάρχει κάτι έτοιμο?
>


Ως συνηθως, οταν κατι σου φαινεται πολυ δυσκολο, αμα πας ενα βημα 
παραπισω κι ενα layer παραπανω, θα βρεις το *πραγματικο* λαθος.

Ενας χρηστης η εχει προσβαση σε ενα αρχειο, η δεν εχει. Το hard link και 
το soft link ΔΕΝ ειναι αντιγραφα του αρχειου - ειναι διαφορετικα ειδη 
αναφορων στο ΙΔΙΟ αρχειο. Τι ειναι αυτο που σου κανει τη διαφορα στο 
*απο ποιο μερος* εχει την προσβαση στο αρχειο ο χρηστης;

Επιφανειακα αυτο που ζητας δειχνει να μπορει να γινει με τη χρηση hard 
links και προσεκτικα permissions στα *parent* directories. Παραδειγμα :

komodino:[root]/tmp# mkdir apo_pisw
komodino:[root]/tmp# mkdir apo_mprosta
komodino:[root]/tmp# ls -l
total 8
drwxr-xr-x 2 root root 4096 2010-04-12 15:07 apo_mprosta/
drwxr-xr-x 2 root root 4096 2010-04-12 15:06 apo_pisw/
komodino:[root]/tmp# echo lalala > apo_mprosta/test
komodino:[root]/tmp# ln apo_mprosta/test apo_pisw/test
komodino:[root]/tmp# chmod go-x apo_mprosta/
komodino:[root]/tmp# cat apo_mprosta/test
lalala
komodino:[root]/tmp# cat apo_pisw/test
lalala
komodino:[root]/tmp# exit
exit
komodino:[ricudis]/tmp$ cat apo_mprosta/test
cat: apo_mprosta/test: Permission denied
komodino:[ricudis]/tmp$ cat apo_pisw/test
lalala
komodino:[ricudis]/tmp$

οποτε απο πισω εχουμε προσβαση ενω απο μπροστα οχι.

Επισης, αν μιλαμε για linux, ριξε μια ματια στο --bind option της 
εντολης mount.




More information about the Linux-greek-users mailing list