Διαχείριση σχολικού εργαστηρίου/Εξυπηρετητής αρχείων
Για ευκολότερη διαχείριση ενός εργαστηρίου που έχει αρκετούς χρήστες θα ήταν επιθυμητό:
- Η κεντρική διαχείριση λογαριασμών
- Δημιουργία/Διαγραφή/Ρύθμιση
- Η ύπαρξη εξυπηρετητή αρχείων στον οποίο θα βρίσκονται οι home κατάλογοι των χρηστών
- ποιό έυκολη λήψη αντιγράφων ασφαλείας
- Η ύπαρξη διαμοιραζόμενων καταλόγων για κοινά εγχειρήματα ή τοποθέτηση ασκήσεων για τους μαθητές.
Πιθανές υλοποιήσεις:
- sync + nfs
- Στην περίπτωση αυτή θα χρειαστούμε και εργαλεία αυτόματου mount για τους καταλόγους των χρηστών , πχ am-utils, autofs κτλ.
- nfs + nis
- nfs + LDAP
- samba + active directory
Χρήσιμα προγράμματα
επεξεργασίαΤο fusesmb μας επιτρέπει να ενσωματώσουμε με τη μια όλους του διαμοιραζόμενους πόρους άλλων ΗΥ σε ένα σημείο-κατάλογο της ιεραρχίας μας. Βασίζεται στο fuse.
To smbfsnet είναι ένα πρόγραμμα που προσφέρει λειτουργικότητα παρόμοια με το fusesmb.
Xubuntu + samba , text mode
επεξεργασίαΗ λειτουργικότητα που θέλουμε να πετύχουμε είναι ο κάθε μαθητής (student λογαριασμός) να έχει στην επιφάνεια εργασίας έναν σύνδεσμο 'Τάξη' που θα ανοίγει στον thunar τον διαμοιρασμένο πόρο-φάκελο (δ.π) students του εξυπηρετητή.
Θα χρειαστούμε :
[Εξυπηρετητής]
- samba
- fusesmb
- smbnetfs
[Πελάτες]
- smbclient
- fusesmb
- smbnetfs
Διαμοιρασμός πόρων στον εξυπηρετητή
επεξεργασίαΑν δεν υπάρχουν δημιουργούμε τους παρακάτω λογαριασμούς. Αν έχετε παρόμοιους προσαρμόστε ανάλογο τις εντολές που ακολουθούν.
$ sudo adduser student $ sudo adduser teacher
Προσθέστε τους χρήστες αυτούς στην ξεχωριστή βάση του εξυπηρετητή samba.
$ sudo smbpasswd -a teacher $ sudo smbpasswd -a student $ sudo smbpasswd -a labadmin $ cd ; mkdir students ; chmod 777 student $ sudo nano /etc/samba/smb.conf [global] netbios name = PCLABSERVER workgroup = PCLAB security = user [CLASS] comment = students files path = /home/labadmin/students read only = nο valid users = teacher , student ,labadmin
$ sudo service smbd restart
$ sudo service nmbd restart
Ελέγχουμε : Ποιούς πόρους διαμοιράζει ο samba εξυπηρετητής μας.Θα πρέπει να είμαστε συνδεδεμένοι σαν ένας από τους valid usere που ορίσαμε στο smb.conf. :
$ smbclient -L localhost
Ποιούς πόρους samba του τοπικού δικτύου βλέπει ο υπολογιστής μας.
$ smbtree
Πρόσβαση από τους πελάτες
επεξεργασίαΥποθέτουμε ότι σε κάθε πελάτη υπάρχουν τουλάχιστον οι λογαριασμοί:
- teacher
- student
Αν δεν υπάρχουν δημιουργούμε τους παρακάτω λογαριασμούς. Αν έχετε παρόμοιους προσαρμόστε ανάλογο τις εντολές που ακολουθούν.
$ sudo adduser student $ sudo adduser teacher
Για την ώρα θεωρούμε ότι συνδέθηκε ένας μαθητής (student).
Δημιουργούμε έναν φάκελο CLASS
$ cd $ mkdir .network $ chmod 777 .network
Ονομάσαμε τον φάκελο .network ώστε να γίνει κρυφός . Αυτό είναι ένα προσωρινό μέτρο ασφαλείας καθώς μπορεί να υπάρχουν διαμοιραζόμενοι πόροι από συναδέλφους που δεν έχουν αντιληφθεί πιθανού κινδύνους.
$ mkdir .smb $ cp /etc/smbnetfs.conf ~/.smb/smbnetfs.conf $ chmod 600 ~/.smb/smbnetfs.conf $ nano ~/.smb/smbnetfs.conf auth PCLABSERVER/CLASS student student $ cd $ smbnetfs ~/network
Δοκιμάζουμε να περιηγηθούμε τώρα με τον thunar. Ανοίγουμε τον πλοηγό του συστήματος αρχείων thunar και βρίσκουμε και ανοίγουμε τον φάκελο ~/network. Αν εκτελέστηκε σωστά το smbnetfs θα πρέπει να υπάρχει στο φάκελο αυτόν ένας "φάκελος" με το όνομα 'PCLAB' που είναι το όνομα της ομάδας δικτύου μας , που με τη σειρά του θα πρέπει να περιέχει τον "φάκελο" PCLABSERVER που αναπαριστά τον εξυπηρετητή μας και ανοίγωντας και αυτόν θα πρέπει να βρούμε φακέλους που αναπαριστούν διαμοιραζόμενους πόρους (δ.π) που στην περίπτωση μας ονομάζεται CLASS. Αυτό το όνομα είναι το όνομα του δ.π που προσδιαρίσαμε στο smb.conf και αυτός ο "φάκελος" πρέπει να περιέχει τα περιεχόμενα του φακέλου που προδιορίσαμε στην επιλογή path του δ.π [CLASS], δηλαδή του /home/labadmin/students.
Φυσικά θα ήταν κουραστικό και ανόητο για τους μαθητές να πρέπει να περιηγούνται σε 3 φακέλους για να δούν ή να αποθηκεύσουν τις εργασίες τους. Αυτό μπορεί να λυθεί ως εξής:
- Επιλέγουμε από τη γραμμή μενού του thunar Προβολή->Εικονίδια.
- Ανοίγουμε στον thunar τον κατάλογο network->PCLAB->PCLABSERVER
- Κάνουμε δεξί κλικ στο εικονίδιο PCLABSERVER Αποστολή προς επιφάνεια εργασίας (δημιουργία δεσμού).
- Μετονομάζουμε τον φάκελο αυτό στην επιφάνεια εργασίας σε Μαθητές. (Στην ουσία δημιουργήσαμε στην επιφάνεια εργασίας έναν σύνδεσμο προς /home/student/network/PCLAB/PCLABSERVER/CLASS )
Αυτοματοποίηση εκτέλεση smbnetfs
επεξεργασίαΤώρα μας μένει να αυτοματοποιηθεί η εκτέλεση του προγράμματος smbnetfs ώστε ο μαθητής να μπορεί από την επιφάνεια εργασία να έχει εύκολα πρόσβαση στους φακέλους της τάξης του.
nmbd pre-start process (1998) terminated with status 1
Μια λύση είναι : Εφαρμογές -> Ρυθμίσεις -> Διαχειριστής Ρυθμίσεων Xfce4 -> Συνεδρία και Εκκίνηση -> Αυτόματη εκκίνηση εφαρμογής->Προσθήκη και γράφουμε:
- Όνομα: smbnetfs
- Περιγραφή: Προσάρτηση smb πόρων
- Εντολή: smbnetfs network
και κάνουμε κλικ στο 'Εντάξει'
Πρόσβαση από windows
επεξεργασίαΣυνήθως στην επιφάνεια εργασίας των windows υπάρχει το εικονίδιο Network Places (Θέσεις δικτύου). Πρόκειται για ειδικό φάκελο που αν τον ανοίξουμε ανοίγουμε πρακτικά το πρόγραμμα περιήγησης στους διαμοιραζόμενους πόρους του τοπικού δικτύου. (Στα vista και έπειτα έχει μετονομαστεί απλά σε Δίκτυο). nmbd pre-start process (1998) terminated with status 1
Βρείτε τις επίσης τις 'τοποθεσίες' :
- Συνολικό δίκτυο (Entire Network).
- Microsoft Windows (Microsoft Windows Network).
Αποπροσάρτηση διαμοιραζόμενων πόρων
επεξεργασίαΜπορούμε να αποπροσαρτήσουμε τους δ.πόρους με την εντολή:
$ cd $ fusermount -u CLASS
Χubuntu + samba + GUI
επεξεργασίαΕναλλακτικά θα μπορούσαμε να ρυθμίσουμε τον thunar ώστε να διαμοιράζει αρχεία , και αντίστοιχα στους πελάτες ο thunar να μπορεί να ενεργεί σαν share browser και να βρίσκει τους δ.π.
Δηλαδή στην περίπτωση αυτή θα μπορούσαμε να υλοποιήσουμε την επιθυμητή λειτουργικότητα μέσα από τον thunar με GUI τρόπο που είναι ποιό προσιτός και ανάλογος του τρόπου που γίνεται διαμοιρασμός και πλοήγηση δ.π στα windows.
Θεωρητικά έχει υλοποιηθεί η λειτουργικότητα αυτή. Πρακτικά όμως συναντήσαμε κάποιες δυσκολίες, στο κομμάτι της πλοήγησης στους δ.π.
Εγκαθιστούμε τον samba εξυπηρετητή στον server μας , καθώς και το πρόσθετο του thunar thunar-shares-plugin . Με την samba εν λειτουργία και το πρόσθετο αυτό εγκατεστημένο μπορούμε να διαμοιράζουμε πόρους του εξυπηρετητή.
Από την πλευρά του πελάτη θα προσπαθήσουμε να έχουμε λειτουργικότητα samba browser. Ένας τρόπος που προσπαθεί να το πετύχει είναι ο How to: Xubuntu - Thunar Native Windows Network Browsing. Δυστυχώς, ενώ έβλεπα από τον thunar τους μοιραζόμενους φακέλους, όταν προσπαθούσα να δω τα περιεχόμενα τους παίρνω το μήνυμα λάθους 'connection time out'
Δοκιμάζουμε στον πελάτη με : smbclient -L <server ip>
Ubuntu + samba , textmode
επεξεργασίαUbuntu + samba , GUI mode
επεξεργασίαWindows 98 πελάτης
επεξεργασίαΣτην προσπάθεια πρόσβασης σε πόρο του samba από win98 πελάτη εμφανίστηκε πρόβλημα το οποίο περιγράφετε στον παρακάτω σύνδεσμο: http://www.troubleshooters.com/linux/win9x_samba.htm
Αρχικά για τη ρύθμιση του πελάτη win98 ακολούθησα τις οδηγίες στο [Using Samba 1st edition] που υπάρχει δωρεάν στο διαδίκτυο: http://oreilly.com/catalog/samba/chapter/book/ch03_01.html
Αρχικά παρατήρησα ότι η πρόσβαση επιτυγχάνεται σε έναν πόρο από win98 πελάτη μόνο όταν στο εξυπηρετητή έχουμε ενεργοποιημένη guest access στον πόρο αυτό ([data share] guest ok = yes )
Όταν όμως απενεργοποιήσουμε την guest access και η πρόσβαση επιτρέπεται μόνο σε μερικούς χρήστες ([data share] valid users = foo zoo moo) τότε δεν γίνει δυνατή η πρόσβαση.
Δημιούργησα χρήστη με το ίδιο όνομα και συνθηματικό που έχω ορίσει με το smbpasswd στον samba server αλλά δεν επιτρέπονταν η πρόσβαση.
Το πρόβλημα τελικά λύνεται με : 1) Την προσθήκη των παρακάτω ρυθμίσεων στο τμήμα [global] του smb.conf :
lanman auth = yes client lanman auth =yes client plaintext auth = Yes (για win 95)
2) Επανεκκίνηση του εξυπηρετητή
sudo service smbd restart sudo service smbd restart ή /etc/init.d/samba restart (debian)
3) Τη διαγραφή του χρήστη foo με
pdbedit -x student Και την επανασειγωγή του με pdbedit -a student
4) Αποσύνδεση και επανασύνδεση στον win98 πελάτη του χρήστή.
Σημαντικό είναι επίσης να ανήκει ο win98 πελάτης στην ίδια ομάδα εργασίας με τον samba εξυπηρετητή.
Η λογική πίσω από αυτή τη λύση περιγράφεται επίσης στον σύνδεσμο που δώσαμε στην αρχή: http://www.troubleshooters.com/linux/win9x_samba.htm