Κοινόχρηστοι κατάλογοι¶
Για την εύκολη μεταφορά/ανταλλαγή αρχείων μεταξύ των χρηστών του ίδιου
τμήματος, τα sch-scripts δημιουργούν κοινόχρηστους καταλόγους. Στην επιφάνεια
εργασίας κάθε χρήστη δημιουργείται μια συντόμευση με όνομα Δημόσια
η οποία
δείχνει στον κατάλογο /home/username/Δημόσια
. Μέσα σε αυτόν τον κατάλογο
δημιουργούνται υποκατάλογοι ανάλογα με το τμήμα στο οποίο ανήκουν και το ρόλο
που κατέχουν (καθηγητής, μαθητής) οι χρήστες.
Πιο συγκεκριμένα, σε ένα χρήστη που έχει ρόλο Καθηγητή
, στην επιφάνεια
εργασίας του, μέσα στον κατάλογο Δημόσια
δημιουργούνται τόσοι κατάλογοι όσοι
και τα τμήματα που διδάσκει με ονομασία την ονομασία των τμημάτων. Επίσης
δημιουργούνται κατάλογοι με ονομασία την ονομασία των τμημάτων στα οποία
διδάσκει και κατάληξη - Κοινόχρηστα
και ένας κατάλογος με ονομασία
teachers - Κοινόχρηστα
. Δηλαδή για κάθε τμήμα που διδάσκει, του
δημιουργούνται 2 κατάλογοι, ένας με όνομα τμήμα
και ένας με όνομα
τμήμα - Κοινόχρηστα
.
Αντίστοιχα, σε έναν χρήστη που έχει ρόλο Μαθητή
, στην επιφάνεια εργασίας του,
μέσα στον κατάλογο Δημόσια
δημιουργούνται τόσοι κατάλογοι όσοι και οι
καθηγητές που διδάσκουν στο τμήμα/τμήματα που ανήκει με ονομασία την ονομασία
των τμημάτων και κατάληξη το πραγματικό όνομα του καθηγητή. Επίσης
δημιουργούνται κατάλογοι με ονομασία την ονομασία των τμημάτων στα οποία ανήκει
και κατάληξη - Κοινόχρηστα
.
Στους καταλόγους που έχουν κατάληξη Κοινόχρηστα
έχουν όλοι δικαιώματα
εγγραφής και διαγραφής ανεξαρτήτως ρόλων καθηγητής
, μαθητής
, ενώ στους
καταλόγους που έχουν κατάληξη το πραγματικό όνομα ενός καθηγητή, όλοι έχουν
δικαιώματα ανάγνωσης αλλά δικαιώματα εγγραφής έχει μόνο ο χρήστης καθηγητής
που έχει πραγματικό όνομα ίδιο με αυτό του καταλόγου. Εξαίρεση αποτελεί ο
κατάλογος teachers - Κοινόχρηστα
ο οποίος εμφανίζεται μόνο στους χρήστες με
ρόλο Καθηγητή
και όλοι έχουν δικαιώματα ανάγνωσης και εγγραφής.
Για την καλύτερη κατανόηση θα δώσουμε ένα απλό παράδειγμα:
Έστω ότι στο σύστημα έχουμε δύο ομάδες a1
και a2
και υπάρχουν οι χρήστες
teacher
, administrator
, user01
και user02
. Οι χρήστες teacher
και
user01
ανήκουν στο τμήμα a1
ενώ οι χρήστες administrator
και user02
ανήκουν στον τμήμα a2
.
Για τους χρήστες ισχύουν:
Ρόλοι χρηστών¶
Όνομα χρήστη | Πραγματικό όνομα | Ρόλος | Τμήμα |
---|---|---|---|
administrator | Υπεύθυνος ΣΕΠΕΗΥ | Διαχειριστής | a2 |
user02 | Χρήστης 02 | Μαθητής | a2 |
teacher | Καθηγητής 01 | Καθηγητής | a1 |
user01 | Χρήστης 01 | Μαθητής | a1 |
Τα sch-scripts θα δημιουργήσουν τους παρακάτω κοινόχρηστους καταλόγους μέσα
στον κατάλογο Δημόσια
του κάθε χρήστη:
Κοινόχρηστοι κατάλογοι¶
Όνομα χρήστη | Τμήμα | Κατάλογοι |
---|---|---|
teacher | a1 | a1 |
〃 | 〃 | a1 - Κοινόχρηστα |
〃 | 〃 | teachers - Κοινόχρηστα |
user01 | a1 | a1 - Κοινόχρηστα |
〃 | 〃 | a1 - Καθηγητής 01 |
administrator | a2 | a2 |
〃 | 〃 | a2 - Κοινόχρηστα |
〃 | 〃 | teachers - Κοινόχρηστα |
user02 | a2 | a2 - Κοινόχρηστα |
〃 | 〃 | a2 - Υπεύθυνος ΣΕΠΕΗΥ |
Οι αντιστοιχίσεις των καταλόγων είναι:
Αντιστοιχίσεις καταλόγων¶
Κατάλογος Καθηγητή | Κατάλογος Μαθητή |
---|---|
a1 | a1 - Καθηγητής 01 |
a1 - Κοινόχρηστα | a1 - Κοινόχρηστα |
a2 | a2 - Υπεύθυνος ΣΕΠΕΗΥ |
a1 - Κοινόχρηστα | a1 - Κοινόχρηστα |
Σημείωση
Στο παραπάνω πίνακα δεν εμφανίζεται ο κατάλογος teachers - Κοινόχρηστα
γιατί δεν είναι ορατός στους χρήστες με ρόλο Μαθητή
. Είναι ορατός μόνο
στους χρήστες με ρόλο Καθηγητή
και χρησιμεύει στη μεταφορά αρχείων μεταξύ
των καθηγητών ενός σχολείου.
Τώρα, εάν υποθέσουμε ότι όλοι οι χρήστες ανήκουν σε όλα τα τμήματα τότε ο πίνακας των κοινόχρηστων καταλόγων γίνεται ως εξής:
Κοινόχρηστοι κατάλογοι¶
Όνομα χρήστη | Τμήμα | Κατάλογοι |
---|---|---|
teacher | a1 | a1 |
〃 | 〃 | a1 - Κοινόχρηστα |
〃 | 〃 | a2 |
〃 | 〃 | a2 - Κοινόχρηστα |
〃 | 〃 | teachers - Κοινόχρηστα |
user01 | a1 | a1 - Κοινόχρηστα |
〃 | 〃 | a1 - Καθηγητής 01 |
〃 | 〃 | a2 - Κοινόχρηστα |
〃 | 〃 | a2 - Υπεύθυνος ΣΕΠΕΗΥ |
administrator | a2 | a2 |
〃 | 〃 | a2 - Κοινόχρηστα |
〃 | 〃 | a1 |
〃 | 〃 | a1 - Κοινόχρηστα |
〃 | 〃 | teachers - Κοινόχρηστα |
user02 | a2 | a2 - Κοινόχρηστα |
〃 | 〃 | a2 - Υπεύθυνος ΣΕΠΕΗΥ |
〃 | 〃 | a1 - Κοινόχρηστα |
〃 | 〃 | a1 - Καθηγητής 01 |
Δημιουργία κοινόχρηστων καταλόγων¶
Για να δημιουργήσετε τους κοινόχρηστους καταλόγους σε μια ομάδα:
- Επιλέξτε την ομάδα που επιθυμείτε από την λίστα που βρίσκεται στα αριστερά της αρχικής οθόνης της εφαρμογής,
- Επιλέξτε το μενού Ομάδες ▸ Επεξεργασίας ομάδας.
- Επιλέξτε Δημιουργία κοινοχρήστων καταλόγων για αυτήν την ομάδα.
- Τέλος, πατήστε Εφαρμογή.
Συμβουλή
Εάν οι χρήστες του τμήματος είναι ήδη συνδεδεμένοι στο σύστημα, δεν θα δουν κατευθείαν τους καταλόγους. Θα πρέπει να κάνουν αποσύνδεση και σύνδεση εκ νέου.
Κατάργηση κοινόχρηστων καταλόγων¶
Για να καταργήσετε του κοινόχρηστους φακέλους σε μια ομάδα:
- Επιλέξτε την ομάδα που επιθυμείτε από την λίστα που βρίσκεται στα αριστερά της αρχικής οθόνης της εφαρμογής,
- Επιλέξτε το μενού Ομάδες ▸ Επεξεργασίας ομάδας.
- Από-επιλέξτε Δημιουργία κοινοχρήστων καταλόγων για αυτήν την ομάδα.
- Τέλος, πατήστε Εφαρμογή.
Πληροφορία
Κατά την κατάργηση των κοινόχρηστων καταλόγων τα αρχεία παραμένουν στο
φάκελο /home/Shared/groupX
με σκοπό την αποφυγή απώλειας σημαντικών
αρχείων. Η οριστική τους διαγραφή μπορεί να επιτευχθεί μόνο από τον
administrator μέσω του διαχειριστή αρχείων.
Τεχνικό υπόβαθρο¶
Τα sch-scripts υλοποιούν την παρακάτω δομή για κοινόχρηστους φακέλους:
Φάκελος | Ιδιοκτήτης | Ομάδα | Δικαιώματα |
---|---|---|---|
/home/Shared | administrator | administrator | rwx--x--x (711) |
/home/Shared/a1 | administrator | a1 | rwxrwx--- (770) |
/home/Shared/a2 | administrator | a2 | rwxrwx--- (770) |
/home/teachers | administrator | teachers | rwxrwx--- (770) |
/home/teacherX/Δημόσια/a1 | teacherX | a1 | rwxr-x--- (750) |
/home/teacherX/Δημόσια/a2 | teacherX | a2 | rwxr-x--- (750) |
- Ο administrator είναι ο χρήστης που εγκατέστησε το Ubuntu (με UID=1000) και
είναι ο ιδιοκτήτης όλων των φακέλων και των αρχείων κάτω από το
/home/Shared
, ώστε να μπορεί να μετακινεί ή να διαγράφει φακέλους και αρχεία κατευθείαν από το Ναυτίλο χωρίς να χρειάζεται να εκτελέσει την εντολήsudo
. - Οι κατάλογοι
/home/Shared/groupX
έχουν δικαιώματα ανάγνωσης και εγγραφής από οποιονδήποτε ανήκει στο τμήμαgroupX
, είτε μαθητές είτε καθηγητές. Αυτοί αποτελούν το χώρο συνεργασίας των μαθητών, για ανταλλαγή αρχείων, για τα projects κτλ. Στην επιφάνεια εργασίας, μέσα στον φάκελοΔημόσια
εμφανίζονται ωςgroupX - Κοινόχρηστα
. - Οι κατάλογοι
/home/Shared/teachers
έχουν δικαιώματα ανάγνωσης και εγγραφής μόνο από τους καθηγητές. Αυτοί αποτελούν το χώρο συνεργασίας των καθηγητών, για ανταλλαγή αρχείων κτλ. Στην επιφάνεια εργασίας, μέσα στον φάκελοΔημόσια
εμφανίζονται ωςteachers - Κοινόχρηστα
. - Οι κατάλογοι
/home/teacherX/Δημόσια/groupX
έχουν δικαιώματα ανάγνωσης από όλους τους χρήστες του τμήματοςgroupX
αλλά έχουν δικαιώματα εγγραφής μόνο από το χρήστηteacherX
. Στην επιφάνεια εργασίας, μέσα στον φάκελοΔημόσια
τουteacherX
εμφανίζονται ωςgroupX
αλλά στην επιφάνεια εργασίας, μέσα στον φάκελοΔημόσια
των μαθητών τουgroupX
εμφανίζονται ωςgroupX - (πραγματικό όνομα)teacherX
.
Κατά τη σύνδεση οποιουδήποτε χρήστη στο σύστημα, είτε μαθητή είτε καθηγητή, δημιουργούνται συντομεύσεις για τους κοινόχρηστους φακέλους των τμημάτων που ανήκει, όπως περιγράφεται παραπάνω. Συνοπτικά,
Χρήστης | Ομάδες | Ονομασία καταλόγου | Συντόμευση | Προορισμός συντόμευσης |
---|---|---|---|---|
user1 | a1 | a1 - Κοινόχρηστα | /home/Shared/a1 | |
user1 | a1 | a1 - Πραγματικό όνομα του teacher1 | /home/Shared/.symlinks/a1 - teacher1 → /home/teacher1/Δημόσια/a1 | |
user2 | a2 | a2 - Κοινόχρηστα | /home/Shared/a2 | |
user2 | a2 | a2 - Πραγματικό όνομα του teacher2 | /home/Shared/.symlinks/a2 - teacher2 → /home/teacher2/Δημόσια/a2 | |
teacher1 | a1 | a1 | ||
teacher1 | a1 | a1 - Κοινόχρηστα | /home/Shared/a1 | |
teacher1 | a1 | teachers - Κοινόχρηστα | /home/Shared/teachers | |
teacher2 | a2 | a2 | ||
teacher2 | a2 | a2 - Κοινόχρηστα | /home/Shared/a2 | |
teacher2 | a2 | teachers - Κοινόχρηστα | /home/Shared/teachers |
Τεχνικά, η υλοποίηση γίνεται με τον εξής τρόπο:
- Τα sch-scripts εγκαθιστούν το βοήθημα bindfs, το οποίο δίνει τη δυνατότητα προσάρτησης ενός φακέλου και των περιεχομένων του με συγκεκριμένα δικαιώματα, παρακάμπτοντας το κλασσικό σύστημα δικαιωμάτων του Linux, το οποίο δεν βολεύει για κοινόχρηστους φακέλους.
- Επίσης, εγκαθιστούν την υπηρεσία
shared-folders
, η οποία εκτελείται κατά την εκκίνηση του υπολογιστή, αλλά και επανεκκινείται κάθε φορά που γίνεται ενεργοποίηση κοινόχρηστων φακέλων μέσα από τα sch-scripts. Η υπηρεσία αυτή ελέγχει ποιοι κοινόχρηστοι φάκελοι υπάρχουν και τους προσαρτά με το bindfs. - Τέλος, το πρόγραμμα
/etc/xdg/autostart/shared-folders.desktop
εκτελείται κατά τη σύνδεση κάθε χρήστη, και δημιουργεί συντομεύσεις για τους κοινόχρηστους φακέλους για όσα group ανήκει, ενώ ταυτόχρονα διαγράφει τυχόν συντομεύσεις για group που δεν ανήκει πια. - Ένα ακόμα σημείο είναι ότι στους fat πελάτες ο φάκελος
/home/Shared
προσαρτάται από το server μέσω NFS.