Linux/sch-scripts/Κοινόχρηστοι κατάλογοι
Για την εύκολη μεταφορά/ανταλλαγή αρχείων μεταξύ των χρηστών του ίδιου τμήματος, τα 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 - Κοινόχρηστα |
Τώρα, εάν υποθέσουμε ότι όλοι οι χρήστες ανήκουν σε όλα τα τμήματα τότε ο πίνακας των κοινόχρηστων καταλόγων γίνεται ως εξής:
Κοινόχρηστοι κατάλογοι | ||
---|---|---|
Όνομα χρήστη | Τμήμα | Κατάλογοι |
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 |
Δημιουργία κοινόχρηστων καταλόγων
Για να δημιουργήσετε τους κοινόχρηστους καταλόγους σε μια ομάδα:
- Επιλέξτε την ομάδα που επιθυμείτε από την λίστα που βρίσκεται στα αριστερά της αρχικής οθόνης της εφαρμογής,
- Επιλέξτε το μενού Ομάδες ▸ Επεξεργασίας ομάδας .
- Επιλέξτε
Δημιουργία κοινοχρήστων καταλόγων για αυτήν την ομάδα.
- Τέλος, πατήστε Εφαρμογή.
![]() | Εάν οι χρήστες του τμήματος είναι ήδη συνδεδεμένοι στο σύστημα, δεν θα δουν κατευθείαν τους καταλόγους. Θα πρέπει να κάνουν αποσύνδεση και σύνδεση εκ νέου. |
Κατάργηση κοινόχρηστων καταλόγων
Για να καταργήσετε του κοινόχρηστους φακέλους σε μια ομάδα:
- Επιλέξτε την ομάδα που επιθυμείτε από την λίστα που βρίσκεται στα αριστερά της αρχικής οθόνης της εφαρμογής,
- Επιλέξτε το μενού Ομάδες ▸ Επεξεργασίας ομάδας .
- Από-επιλέξτε
Δημιουργία κοινοχρήστων καταλόγων για αυτήν την ομάδα.
- Τέλος, πατήστε Εφαρμογή.
Τεχνικό υπόβαθρο
Τα 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, το οποίο δεν βολεύει για κοινόχρηστους φακέλους.
- Επίσης, εγκαθιστούν την υπηρεσία /etc/init/sch-scripts, η οποία εκτελείται κατά την εκκίνηση του υπολογιστή, αλλά και επανεκκινείται κάθε φορά που γίνεται ενεργοποίηση κοινόχρηστων φακέλων μέσα από τα sch-scripts. Η υπηρεσία αυτή ελέγχει ποιοι κοινόχρηστοι φάκελοι υπάρχουν και τους προσαρτά με το bindfs.
- Τέλος, το πρόγραμμα /etc/xdg/autostart/sch-scripts.desktop εκτελείται κατά τη σύνδεση κάθε χρήστη, και δημιουργεί συντομεύσεις για τους κοινόχρηστους φακέλους για όσα group ανήκει, ενώ ταυτόχρονα διαγράφει τυχόν συντομεύσεις για group που δεν ανήκει πια.
- Ένα ακόμα σημείο είναι ότι στους fat πελάτες ο φάκελος /home/Shared προσαρτάται από το server με την εντολή LOCALAPPS_EXTRA_MOUNTS=/home/Shared του lts.conf.
Μπορείτε να ρυθμίσετε τα ονόματα των φακέλων από το αρχείο /etc/default/sch-scripts, το οποίο και μπορείτε να επεξεργαστείτε από το μενού Εξυπηρετητής ▸ Αρχεία ρυθμίσεων ▸ Ρυθμίσεις sch-scripts των sch-scripts.