Raspberry Pi | Στήνουμε τον πρώτο μας server για διαμοιρασμό αρχείων και backup με το Samba


Αφού είδαμε πώς το Raspberry Pi μπορεί να γίνει ένας υπέρ φθηνός υπολογιστής για κάθε σπίτι, ήρθε η ώρα να προσθέσουμε σε αυτό κι άλλες δυνατότητες, για να πιάσουν ακόμη περισσότερο τόπο τα 50 ευρώ που ξοδέψαμε. Ένα από τα πρώτα πράγματα που μπορούμε να κάνουμε, είναι να το μετατρέψουμε σε ασύρματο server διαμοιρασμού αρχείων, κάτι που γίνεται πανεύκολα με το Samba.

Με τον Samba server μπορούμε να δημιουργήσουμε έναν κοινόχρηστο φάκελο, στον οποίο μπορούν να έχουν πρόσβαση όλες οι συσκευές που έχουμε στο χώρο μας. Μας δίνει τη δυνατότητα να αφήσουμε εκεί αρχεία για να τα πάρει κάποιος άλλος χρήστης, ενώ μπορούμε να αντιγράψουμε ακόμη και ολόκληρη τη μνήμη της συσκευής, αν για παράδειγμα θέλουμε να κάνουμε backup στο smartphone μας και επαναφορά εργοστασιακών δεδομένων.

Πώς εγκαθιστούμε τον Samba server στο Raspberry Pi


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

Ανοίγουμε λοιπόν το τερματικό μας και εγκαθιστούμε το Samba στο Raspbian με την εντολή:

sudo apt install samba samba-common-bin

Στη συνέχεια δημιουργούμε έναν φάκελο με το όνομα "share" τον οποίο θα χρησιμοποιήσουμε ως κοινόχρηστο. Η εντολή είναι η εξής:

sudo mkdir -m 1777 /share

Σημαντική σημείωση:
Με την παράμετρο "1777" ρυθμίζουμε το φάκελο έτσι ώστε να μην μπορεί να διαγραφεί και να μπορούν όλοι οι χρήστες να διαβάσουν, εγγράψουν, εκτελέσουν αρχεία μέσα σε αυτόν.

Σημαντική σημείωση 2:
Μπορούμε να δώσουμε όποια ονομασία θέλουμε στο φάκελό μας, ενώ μπορούμε επίσης να χρησιμοποιήσουμε έναν ήδη υπάρχον φάκελο του Pi. Μπορούμε ακόμα να κάνουμε κοινόχρηστο ολόκληρο το σύστημα φακέλων του Raspberry Pi, αλλά συνήθως δεν το προτιμάμε για να μην μπορούν οι υπόλοιποι χρήστες να επέμβουν σε αυτούς.


Αφού δημιουρήσαμε το φάκελό μας, σειρά έχει τώρα να πούμε στο Samba να τον κάνει κοινόχρηστο. Ανοίγουμε λοιπόν το αρχείο "smb.config" με την εντολή:

sudo leafpad /etc/samba/smb.conf


Σημαντική σημείωση 3:
Χρησιμοποιούμε το Leafpad για να έχουμε μία γραφική απεικόνιση του αρχείου, για να καταλαβαίνουν οι αρχάριοι. Για όσους είναι εξοικειωμένοι με το τερματικό, μπορούν να δώσουν την εντολή "sudo nano /etc/samba/smb.conf" και να επεξεργαστούν απ' ευθείας το αρχείο από εκεί.

Στο παράθυρο που θα ανοίξει θα δούμε τα περιεχόμενα του αρχείου. Στο τέλος του αρχείου κάνουμε αντιγραφή και επικόλληση τα παρακάτω και αποθηκεύουμε και κλείνουμε το αρχείο:

[share]
Comment = Pi Server
Path = /share
Browseable = yes
Writeable = Yes
only guest = no
create mask = 0777
directory mask = 0777
Public = yes
Guest ok = no

Σημαντική σημείωση 4:
Με τα παραπάνω λέμε στην ουσία ότι ο κοινόχρηστος φάκελος θα εμφανίζεται στις άλλες συσκευές ως "Pi Server" (μπορούμε να βάλουμε όποιο όνομα θέλουμε εννοείται), δηλώνουμε τη διαδρομή του (Path), τον κάνουμε δημόσιο (Public) και δεν επιτρέπουμε σε χρήστες χωρίς password να έχουν πρόσβαση σε αυτόν (Guest ok).


Εφόσον απαγορεύσαμε την πρόσβαση σε χρήστες χωρίς κωδικό ασφαλείας, πρέπει να ορίσουμε ποιος χρήστης θα έχει πρόσβαση στο φάκελό μας και με ποιο password. Ο προεπιλεγμένος χρήστης στο Raspberry Pi λέγεται "pi" και μπορούμε να ορίσουμε έναν κωδικό για αυτόν με την εντολή:

sudo smbpasswd -a pi

Σημαντική σημείωση 5:
Αν έχουμε δημιουργήσει άλλους χρήστες στο Raspberry, μπορούμε να κάνουμε το ίδιο και για αυτούς αν θέλουμε να έχουν πρόσβαση. Για παράδειγμα αν έχω το χρήστη "chris" στη συσκευή μου θα πρέπει να δώσω την εντολή "sudo smbpasswd -a chris".

Το μόνο που μας μένει τώρα είναι να κάνουμε επανεκκίνηση στη Samba για να ξεκινήσει να μοιράζει το φάκελό μας. Η εντολή είναι η εξής:

sudo /etc/init.d/samba restart

Πώς μπαίνουμε στον κοινόχρηστο φάκελο από άλλες συσκευές;


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

  • Ανοίγουμε την "Εξερεύνηση αρχείων" και επιλέγουμε "Αυτός ο υπολογιστής".
  • Στη συνέχεια κάνουμε δεξί κλικ και επιλέγουμε "Προσθήκη μιας θέσης δικτύου".


  • Στο παράθυρο "Πού θέλετε να δημιουργήσετε τη θέση δικτύου;" επιλέγουμε "Επιλέξτε μια προσαρμοσμένη...".
  • Τώρα θα πρέπει να δώσουμε τη διεύθυνση IP του φακέλου μας, για να ξέρει ο υπολογιστής μας πού βρίσκεται. Εφόσον έχουμε ρυθμίσει παλιότερα μια σταθερή IP για το Pi στο οικιακό μας δίκτυο, γνωρίζουμε ποια είναι. Η IP μας λοιπόν θα έχει αυτή τη μορφή:

\\192.168.1.200\share


Ολοκληρώνουμε τη διαδικασία δίνοντας μια ονομασία και ο φάκελός μας είναι έτοιμος. Μπορούμε στη συνέχεια να δημιουργήσουμε μία συντόμευση του φακέλου στην επιφάνεια εργασίας μας, για να τον βρίσκουμε ευκολότερα.

Για να μπούμε τέλος στο φάκελο που δημιουργήσαμε, κάνουμε διπλό κλικ στη συντόμευση και δίνουμε το username και το password που έχουμε δημιουργήσει νωρίτερα.


Ένας πρόχειρος φάκελος για τα πάντα


Όπως είπαμε και στην αρχή, το να έχεις στο οικιακό / εταιρικό σου δίκτυο ένα δικτυακό φάκελο είναι τρομερά εξυπηρετικό. Μπορείς χωρίς καλώδια να μοιραστείς ένα αρχείο με κάποιον άλλο, να αφήσεις κάτι προσωρινά για να το πάρεις αργότερα και να κάνεις ολόκληρα backup της συσκευής σου.

Σύντομα θα δούμε πώς μπορούμε να έχουμε έναν τέτοιου είδους φάκελο, διαθέσιμο και εκτός οικιακού / εταιρικού δικτύου. Θα δημιουργήσουμε δηλαδή το δικό μας Dropbox / Google Drive, με απεριόριστο χώρο, στο οποίο θα μπορούμε να έχουμε πρόσβαση από παντού!

9 Likes

Αυτό το σχόλιο δεν είναι λίγο αστείο σε ένα φόρουμ που λέγεται linux-user;

Το άρθρο απευθύνεται και σε αρχάριους, οι οποίοι είναι πιθανότερο να γνωρίζουν καλύτερα το Android πάρα το Linux. Δεν το βρίσκω λοιπόν αστείο.

1 Like

Ένας αρχάριος μπορεί να ντρέπεται να ρωτήσει και τέτοιες διατυπώσεις δε τον βοηθούν να νιώσει άνετα. Ας είμαστε λίγο επιεικείς γιατί κάποτε και εμείς υπήρξαμε αρχάριοι.

3 Likes

Το καταλαβαίνω αυτό που γράφει ο @lucinos, απλά προτιμώ να γράψω κάτι τέτοιο που θα κάνει τον αρχάριο να νιώσει πιο άνετα με το Linux ή ακόμη καλύτερα να το συνδέσει στο μυαλό του με το Android και να μπει στο νόημα των δύο λειτουργικών, παρά να δώσω ξερά τις εντολές για να τις χρησιμοποιήσει.

Αν το user base του linux-user.gr πρέπει και θέλουμε να είναι μόνο προχωρημένοι χρήστες πάω πάσο. Προσωπικά πιστεύω ότι πρέπει να βοηθήσουμε τους νεότερους και για αυτό τα άρθρα μου είναι και θα είναι τέτοιου τύπου.

8 Likes

Τι θες να πείς με αυτό;