Μετάβαση στο περιεχόμενο

Κοινόχρηστοι κατάλογοι

Για την εύκολη μεταφορά/ανταλλαγή αρχείων μεταξύ των χρηστών του ίδιου τμήματος, τα 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

Δημιουργία κοινόχρηστων καταλόγων

Για να δημιουργήσετε τους κοινόχρηστους καταλόγους σε μια ομάδα:

  1. Επιλέξτε την ομάδα που επιθυμείτε από την λίστα που βρίσκεται στα αριστερά της αρχικής οθόνης της εφαρμογής,
  2. Επιλέξτε το μενού ΟμάδεςΕπεξεργασίας ομάδας.
  3. Επιλέξτε Δημιουργία κοινοχρήστων καταλόγων για αυτήν την ομάδα.
  4. Τέλος, πατήστε Εφαρμογή.

Συμβουλή

Εάν οι χρήστες του τμήματος είναι ήδη συνδεδεμένοι στο σύστημα, δεν θα δουν κατευθείαν τους καταλόγους. Θα πρέπει να κάνουν αποσύνδεση και σύνδεση εκ νέου.

Κατάργηση κοινόχρηστων καταλόγων

Για να καταργήσετε του κοινόχρηστους φακέλους σε μια ομάδα:

  1. Επιλέξτε την ομάδα που επιθυμείτε από την λίστα που βρίσκεται στα αριστερά της αρχικής οθόνης της εφαρμογής,
  2. Επιλέξτε το μενού ΟμάδεςΕπεξεργασίας ομάδας.
  3. Από-επιλέξτε Δημιουργία κοινοχρήστων καταλόγων για αυτήν την ομάδα.
  4. Τέλος, πατήστε Εφαρμογή.

Πληροφορία

Κατά την κατάργηση των κοινόχρηστων καταλόγων τα αρχεία παραμένουν στο φάκελο /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.