Δημοφιλής ανάρτηση RTW4ever Δημοσ. 9 Απριλίου 2017 Δημοφιλής ανάρτηση Δημοσ. 9 Απριλίου 2017 [Ο οδηγός θα παρατίθεται διασπασμένος σε συνεχόμενα μηνύματα, λόγω περιορισμών της πλατφόρμας του forum σχετικά με το μέγεθος του κάθε μηνύματος] 1 Εισαγωγή Σκοπός του παρόντος οδηγού είναι να καταδείξει, ακόμα και σε αρχάριους, την διαδικασία δημιουργίας ενός Home/Small Business File Server, βασισμένου στο λειτουργικό σύστημα Ubuntu Server 16.04 64bit.Ο οδηγός αυτός θα είναι πολύ μακρύς και αναλυτικός, και δεν απευθύνεται σε αυτούς που ψάχνουν στα γρήγορα απάντηση σε κάτι. Αντιθέτως θα γίνεται προσπάθεια να εξηγούνται οι ενέργειες που κάνουμε και το υπόβαθρο πίσω από αυτές, ώστε ο αναγνώστης να καταλαβαίνει όχι μόνο πώς κάνουμε κάτι, αλλά και γιατί το κάνουμε. Αποφάσισα τη σύνταξη αυτού του οδηγού, διότι θέλησα να μοιραστώ τη γνώση που απέκτησα στην προσπάθειά μου να στήσω τον προσωπικό μου Home/Small Business Server. Δεν είμαι ούτε προγραμματιστής ούτε επαγγελματίας στους Η/Υ, και χρειάστηκε πολύ διάβασμα εκ μέρους μου, όπως και πειραματισμοί, ώστε να λύσω κάθε πτυχή των ζητημάτων που με απασχόλησαν. Στην προσπάθειά μου δε αυτή, αντιλήφθηκα ότι δεν υπήρχε ολοκληρωμένος οδηγός για το στήσιμο ενός τέτοιου server από ερασιτέχνη, όχι μόνο στην Ελληνική, αλλά ούτε καν στην Αγγλική γλώσσα. Έτσι, όταν πλέον ολοκληρώθηκε η δημιουργία του server μου, αποφάσισα πως θα έπρεπε να μοιραστώ τη γνώση αυτή, για όποιον θέλει να πραγματοποιήσει κάτι ανάλογο, ώστε να προσφέρω και εγώ το μικρό λιθαράκι μου στην open source κοινότητα. Όλα όσα θα εκτεθούν, αποτελούν γνώση που αποκτήθηκε από αγγλόφωνες σελίδες στο Διαδίκτυο, χωρίς τίποτα από αυτά να αποτελεί δική μου δημιουργία. Ο οδηγός αυτός αποτελεί συγκέντρωση και συρραφή της γνώσης αυτής και μόνο. Σε παρά πολλά σημεία θα χρησιμοποιούνται οι αγγλικοί όροι, ενώ και ο server θα στηθεί εξ ολοκλήρου στην Αγγλική γλώσσα. Αυτό διότι οι τεχνικοί όροι εξαρχής γεννώνται στην Αγγλική γλώσσα, οπότε αυτή είναι η μητρική γλώσσα της σχετικής τεχνολογίας, ενώ επιπρόσθετα πολλές φορές οι μεταφράσεις των τεχνικών όρων στην Ελληνική, είναι απλά τραγικές και δεν βγάζουν καν νόημα, τουλάχιστον κατά την άποψη του γράφοντος. Για τις ανάγκες του οδηγού, θα χρησιμοποιηθεί virtual pc σε virtual box, ενώ όπου κρίνεται απαραίτητο, θα υπάρχει screenshot. Ο οδηγός θα ολοκληρωθεί σε τμήματα. 1.1 Απαιτήσεις από τον ServerΟ server μας θα είναι μόνο File Server, με σκοπό να χρησιμοποιηθεί οικιακά ή σε μικρές επιχειρήσεις, που έχουν απαίτηση από πολλούς χρήστες ταυτόχρονα, να έχουν πρόσβαση σε αρχεία αποθηκευμένα κεντρικά. Κάθε χρήστης θα έχει πρόσβαση στο δικό του share (=διαμοιραζόμενο φάκελο), ενώ θα υπάρχουν και κοινόχρηστοι φάκελοι. Στον server θα υπάρχουν περισσότεροι από ένας φυσικοί σκληροί δίσκοι, όχι σε raid, αλλά σε απλή μορφή JBOD (just a bunch of disks). Φυσικά θα γίνεται διαχείριση του server από απόσταση (remote control), χωρίς σε αυτόν να είναι προσαρτημένα περιφερειακά ελέγχου (πληκτρολόγιο, ποντίκι, οθόνη).Οι απαιτήσεις του σε hardware είναι ελάχιστες. Ένας διπύρηνος επεξεργαστής και 2GB μνήμης είναι υπεραρκετά για το θαυμάσιο αυτό λειτουργικό. 2 Κεφάλαιο Α – Εγκατάσταση του ServerΞεκινάμε λοιπόν το μακρύ ταξίδι μας!Για την εγκατάσταση χρειαζόμαστε, πέραν του υπολογιστή μας, έναν οπτικό δίσκο ή USB Flash, στο οποίο θα περιέχεται η έκδοση του Ubuntu Server 16.04, την οποία μπορείτε να κατεβάσετε από εδώ: http://www.ubuntu.com/download/server .Φροντίζουμε ρυθμίζοντας το BIOS/UEFI του υπολογιστή μας, να ξεκινήσει ο υπολογιστής (boot) από τον οπτικό δίσκο ή το USB Flash. Επίσης φροντίζουμε ο υπολογιστής να έχει ήδη πρόσβαση στο διαδίκτυο, πριν ξεκινήσουμε την εγκατάσταση. Στο σημείο αυτό να τονίσουμε ότι η έκδοση Server του Ubuntu δεν είναι κάτι διαφορετικό από την κανονική έκδοση Ubuntu, αλλά απλά μια πιο «γδυμένη» έκδοση (stripped down) του λειτουργικού, προσαρμοσμένη στις ανάγκες ενός server. Με την προσθήκη των κατάλληλων πακέτων λογισμικού, μπορεί ανά πάσα στιγμή να μετατραπεί στην «κανονική» έκδοση, ενώ και το αντίθετο, η κανονική έκδοση μπορεί να μετατραπεί σε server. Προτιμούμε όμως την έκδοση server, καθώς είναι πιο ελαφριά, επειδή περιέχει και φορτώνει λιγότερα πακέτα και εξαρτήσεις. ΠΡΟΣΟΧΗ: Για την αποφυγή λαθών από αρχάριους, προτείνεται να αφήσετε στον υπολογιστή μόνο τον σκληρό δίσκο στον οποίο θα εγκατασταθεί το λειτουργικό, και να προσθέσετε τους υπόλοιπους δίσκους σας, ΜΕΤΑ την ολοκλήρωση της εγκατάστασης. Πάμε λοιπόν. Οι επιλογές κατά την εγκατάσταση γίνονται με το πλήκτρο Enter, ενώ η μετακίνηση με τα βελάκια του πληκτρολογίου και το πλήκτρο tab.Επιλέγουμε αρχικά γλώσσα επικοινωνίας: Η πρώτη επιλογή, είναι και αυτή που μας ενδιαφέρει, για την εγκατάστασή μας: Επιλέγουμε τη γλώσσα που θα χρησιμοποιηθεί κατά την εγκατάσταση: Επιλέγουμε την τοποθεσία μας, που είναι η Ελλάδα: Ενημερωνόμαστε ότι δεν υπάρχει locale αρχείο κατάλληλο για τον συνδυασμό Αγγλική γλώσσα – περιοχή Ελλάδα, οπότε διαλέγουμε ως default locale αυτό της Αμερικής, en_US.UTF-8: Αφήνουμε την default επιλογή να μην γίνει αυτόματη αναγνώριση του πληκτρολογίου μας, καθώς αυτό είναι κάτι που δεν χρειαζόμαστε για το στήσιμο του server: Αφήνουμε την default επιλογή για αμερικάνικο πληκτρολόγιο και layout: Στη συνέχεια εντοπίζεται το hardware μας και γίνεται η σύνδεση με το δίκτυο, οπότε ερωτώμαστε για το hostname, ή αλλιώς το όνομα που θα θέλουμε να έχει ο υπολογιστής, όταν θα φαίνεται στο δίκτυο. Για τις ανάγκες του οδηγού, διαλέγουμε το όνομα ubuserver, φυσικά μπορείτε να βάλετε όποιο όνομα θέλετε: Διαλέγουμε το πλήρες όνομα του πρώτου χρήστη – διαχειριστή – root user. Προσοχή, το πλήρες όνομα, όχι το username που θα χρησιμοποιήσουμε αργότερα. Μπορεί να έχει μικρά και κεφαλαία γράμματα. Εδώ διαλέξαμε το όνομα Admin Commander: Στη συνέχεια διαλέγουμε το username μας, αυτό που θα χρησιμοποιούμε κατά κόρον. Μπορεί να περιέχει μόνο μικρά γράμματα. Για τις ανάγκες του οδηγού και για να μην μπερδευόμαστε στο μέλλον, διαλέξαμε το username adminuser: Διαλέγουμε κωδικό ασφαλείας της αρεσκείας μας, που θα είναι και ο κωδικός του root χρήστη για τις εντολές sudo αργότερα. Το πεδίο “show password in clear” το επιλέγουμε αν θέλουμε, πρώτα πηγαίνοντας εκεί με το tab και στη συνέχεια με το πλήκτρο space: Τον κωδικό θα πρέπει να τον περάσουμε και δεύτερη φορά στην επόμενη καρτέλα, για λόγους ασφαλείας. Στη συνέχεια ερωτώμαστε αν θέλουμε να κρυπτογραφηθεί ο φάκελος home, που θα περιέχει τα home directories όλων των χρηστών που θα δημιουργήσουμε. Προσωπική επιλογή του γράφοντος αποτελεί πάντοτε το όχι σε αυτή την ερώτηση (είναι και το default), διότι έτσι ο δίσκος θα μπορεί να χρησιμοποιηθεί άμεσα σε άλλον υπολογιστή, αν ο παρών υπολογιστής εμφανίσει πρόβλημα μόνιμο ή προσωρινό και είναι αδύνατη η πρόσβαση σε αυτόν και στα αρχεία του. Η επιλογή είναι δική σας: Εντοπίζεται αυτόματα η ζώνη ώρας μας ως Europe/Athens, οπότε απαντάμε yes: Συνεχίζεται στο επόμενο μήνυμα... Και στη συνέχεια περνάμε στην διαμόρφωση του δίσκου/partitions!Η κουβέντα εδώ είναι μεγάλη για το αν πρέπει να έχουμε μόνο ένα partition για τα root file system και home directories. Άλλοι προτείνουν ενιαίο partition, διότι στην πράξη δεν προσφέρει τίποτα, το ξεχωριστό home partition, άλλοι υποστηρίζουν τον διαχωρισμό, διότι αν συμβεί κάτι στο root partition, το home partition με τα δεδομένα των χρηστών παραμένει ανέπαφο. Το μόνο σίγουρο είναι ότι πάντα χρειάζεται backup των δεδομένων, ωστόσο ο γράφων προτιμά το ξεχωριστό partition, ώστε να μην μπλέκουν τα δεδομένα συστήματος του λειτουργικού, με τα δεδομένα των χρηστών, να βρίσκονται δηλαδή αυτά τα τελευταία σε πιο «καθαρή» κατάσταση.Επιλέγουμε λοιπόν manual partitioning: Στη συνέχεια επιλέγουμε ξανά manual partitioning, διαλέγοντας τον δίσκο στον οποίο θα γίνουν οι κατατμήσεις, εδώ για τις ανάγκες του οδηγού είναι ο sda 27,7 GB Ata VBox Harddisk: Ενημερωνόμαστε ότι επιλέξαμε έναν ολόκληρο δίσκο για partitioning, και ότι θα διαγραφούν όλες οι προηγούμενες κατατμήσεις (partitions) (Ωστόσο είναι πάντα δυνατή η επιστροφή και αναίρεση των εντολών μας, μέχρι να δώσουμε την τελική εντολή για διαμόρφωση όλων των partitions του δίσκου). Επιλέγουμε yes, για να δημιουργήσουμε ένα νέο partition table: Και επιτέλους, ήλθε η ώρα να δημιουργήσουμε το πρώτο μας partition, επιλέγοντας το Free Space του δίσκου. Στο σημείο αυτό να αναφέρουμε, ότι αν ο δίσκος σας δεν είναι καινούριος και έχει ξαναχρησιμοποιηθεί, αυτή θα είναι η πρώτη οθόνη που θα συναντήσετε μετά την επιλογή της ζώνης ώρας, και προτείνεται να φτιάξετε εξαρχής ένα νέο partition table, όπως κάναμε προηγουμένως: Φυσικά επιλέγουμε χειροκίνητη δημιουργία νέου partition Εδώ διαλέγουμε πόση χωρητικότητα από τον όλο δίσκο θα έχει το πρώτο μας partition. Επειδή η πείρα μου μου έχει δείξει ότι ο server που θέλουμε να φτιάξουμε χρειάζεται πολύ λίγο χώρο (3-4 GB μόλις), για το root file system, τα 15 GB είναι υπεραρκετά, ώστε να αφήσουμε τον υπόλοιπο χώρο για χρήση ως αποθηκευτικού χώρου δεδομένων: Φυσικά επιλέγουμε primary για τον τύπο του partition: Και να αρχίζει το partition από την αρχή του ελεύθερου χώρου (Beginning): Στην επόμενη καρτέλα διαλέγουμε τα ιδιαίτερα χαρακτηριστικά του partition. Αφήνουμε όλα στο default (είναι κατά την άποψη του γράφοντος οι καλύτερες επιλογές), εκτός από την επιλογή Bootable flag, την οποία με το πλήκτρο enter αλλάζουμε σε on, ώστε να μπορεί να ξεκινήσει το νέο μας λειτουργικό μετά την εγκατάσταση. Όταν τελειώσουμε με τυχόν άλλες αλλαγές που θέλουμε να κάνουμε, επιλέγουμε “Done setting up the partition”: Στη συνέχεια επιλέγουμε πάλι τον ελεύθερο χώρο για την δημιουργία του επόμενου partition, που το δημιουργούμε ακριβώς με τον ίδιο τρόπο. Εδώ θα επιλέξουμε να προσαρτηθεί (mount point) το home directory, ενώ θα αφήσουμε κενό μόνο ένα μικρό μέρος του δίσκου για το swap partition που θα ακολουθήσει στο επόμενο βήμα: Συνεχίζεται στο επόμενο μήνυμα... Πάμε λοιπόν για τη δημιουργία του τρίτου και τελευταίου partition, που θα χρησιμοποιηθεί ως swap space (χώρος εικονικής μνήμης στο δίσκο). Κατά την άποψη του γράφοντος και για τις ανάγκες του συγκεκριμένου server τα 2 GB είναι υπεραρκετά. Επιλέγουμε για τρίτη φορά primary partition, και ως file system, αντί για Ext4, το swap: Έτοιμος επιτέλους ο δίσκος μας! Συνεχίζουμε με Finish partitioning and write changes to disks. Είναι το σημείο πλέον χωρίς επιστροφή, όπου θα γραφούν πραγματικά οι αλλαγές που μέχρι τώρα επιλέξαμε, στον δίσκο μας: Για τον λόγο αυτό για άλλη μια φορά ο installer μας προειδοποιεί για τις αλλαγές που θα γίνουν, ώστε να είμαστε σίγουροι για το τι κάνουμε, εμείς όμως είμαστε σίγουροι, οπότε επιλέγουμε yes: Και επιτέλους αρχίζει η πραγματική εγκατάσταση του λειτουργικού: Ερωτώμαστε αν χρησιμοποιούμε proxy. Στο πλείστο των περιπτώσεων δεν χρησιμοποιούμε (αλλιώς θα το ξέραμε), οπότε το αφήνουμε κενό και δίνουμε Continue: Ο installer κατεβάζει και εγκαθιστά αρχεία: Ερωτώμαστε αν θέλουμε αυτόματες ενημερώσεις. Αφήνουμε το default, για να επιλέγουμε εμείς πότε θα γίνονται οι ενημερώσεις: Ένα πολύ σημαντικό σημείο της εγκατάστασης. Εδώ επιλέγουμε ποια πακέτα θέλουμε να εγκατασταθούν, ανάλογα με τη χρήση που θέλουμε να έχει ο server μας. Εμείς, για File Server, εκτός από το default πακέτο των standard system utilities, επιλέγουμε επιπρόσθετα με το space τα Samba file server και OpenSSH server. Το Samba file server επειδή είναι αυτό ακριβώς που θέλουμε για διαμοιρασμό αρχείων με άλλους υπολογιστές (το όνομα samba προέρχεται από το SMB = Server Message Block, το πρωτόκολλο που χρησιμοποιήθηκε αρχικά από τα Microsoft Windows για επικοινωνία των υπολογιστών μέσω δικτύου), και OpenSSH server για απομακρυσμένο έλεγχο αργότερα του υπολογιστή μας, μέσω του ασφαλούς πρωτοκόλλου SSH (=Secure Shell): Η εγκατάσταση του συστήματος προχωρεί: Ερωτώμαστε αν θέλουμε να εγκατασταθεί ο Grub Boot Loader (εκκινητής συστήματος) στο Master Boot Record του δίσκου μας (ένας από τους λόγους να μην έχουν οι αρχάριοι χρήστες περισσότερους από έναν δίσκο στο σύστημα, κατά την εγκατάσταση, είναι και το σημείο αυτό, όπου μπορούν να γίνουν σοβαρά λάθη), φυσικά απαντάμε yes: Επιτέλους η εγκατάσταση ολοκληρώθηκε! Αφαιρούμε το μέσο εγκατάστασης (cd ή usb flash) και πατάμε continue: Πρώτη επανεκκίνηση: Δίνουμε διαδοχικά όνομα χρήστη και κωδικό πρόσβασης (αν είστε απολύτως αρχάριος στο linux, να σας πούμε ότι δίνοντας τον κωδικό το σύστημα δεν αντιδρά, ούτε καν αστεράκια δείχνει, όμως ο κωδικός περνάει κανονικά), και έχουμε το πρώτο μας login! Συνεχίζεται στο επόμενο μήνυμα... 3 Κεφάλαιο Β – Εγκατάσταση ελαφριού γραφικού περιβάλλοντος Ο Server μας είναι έτοιμος και θα μπορούσαμε αμέσως να τον χρησιμοποιήσουμε και να προχωρήσουμε στις επιμέρους ρυθμίσεις του, μέσω του περιβάλλοντος γραμμής εντολών. Όμως επειδή είμαστε αρχάριοι, θα προτιμούσαμε να δουλεύουμε με ένα γραφικό περιβάλλον, σωστά; Ελαφρύ μεν αφού το θέλουμε μόνο για χρήση server, αλλά πρακτικό και εύχρηστο, για να μας διευκολύνει στην διαχείριση και ρύθμιση του συστήματός μας, έτσι ώστε να παίζουμε τον server μας στα δάκτυλά μας. Με βάση τα παραπάνω κριτήρια λοιπόν, επιλέγουμε το γραφικό περιβάλλον του Lubuntu, το οποίο έχει όλα τα απαραίτητα που μας χρειάζονται, σε ένα ελαφρύ και όμορφο περιβάλλον (το LXDE), όχι όμως στην έκδοση Full Desktop, αλλά στην έκδοση Core, που εγκαθιστά μόλις τον πυρήνα του γραφικού περιβάλλοντος, χωρίς καμία επιπρόσθετη εφαρμογή, ώστε να διαλέξουμε μόνοι μας ακριβώς τις ελάχιστες εφαρμογές και utilities που χρειαζόμαστε για την διαχείριση του server μας.Πριν όμως οποιαδήποτε εγκατάσταση, πραγματοποιούμε ενημέρωση του λειτουργικού μας (update), με τις διαδοχικές εντολές (όταν ερωτηθούμε αν θέλουμε να συνεχίσουμε, δίνουμε y και enter): sudo apt-get update sudo apt-get upgrade Όπως βλέπετε υπήρχαν ενημερώσεις, τις οποίες εγκαταστήσαμε. Στη συνέχεια, δίνουμε την εντολή για εγκατάσταση του γραφικού περιβάλλοντος:sudo apt-get install lubuntu-core Ενημερωνόμαστε ότι θα κατέβουν 833 πακέτα αρχείων, μεγέθους 257 mb, που όταν εγκατασταθούν θα καταλαμβάνουν 1.072 mb στον σκληρό δίσκο. Δίνουμε y και enter: Μετά από λίγα λεπτά, ανάλογα την ταχύτητα της σύνδεσής μας, και την ισχύ του υπολογιστή μας, η εγκατάσταση είναι έτοιμη! Δίνουμε για την επανεκκίνησηsudo reboot και έχουμε έτοιμο το γραφικό περιβάλλον μας! Για τις ανάγκες του οδηγού ρυθμίζουμε την ανάλυση της οθόνης: Στην έκδοση Lubuntu Core που επιλέξαμε, δεν υπάρχει καμία εφαρμογή εγκατεστημένη, ούτε καν browser για την πλοήγησή μας στο διαδίκτυο (μην σας ξεγελά το εικονίδιο στο panel, αν το πατήσετε δίνει σφάλμα), ενώ υπάρχουν και μερικές ελλείψεις σε εξαρτήσεις. Όμως τα πάντα διορθώνονται αμέσως. Browser δεν θα εγκαταστήσουμε, διότι δεν χρειάζεται στον server μας και δεν χρειάζεται να τον επιβαρύνουμε με άχρηστες εφαρμογές. Είπαμε, λιτότητα! Πρώτα όμως κάνουμε τις απαραίτητες προσαρμογές που θέλουμε στην επιφάνεια εργασίας μας, στο panel και στον File Manager του Lubuntu, τον PCManFM. Προτείνουμε να θέσετε ως default view των φακέλων το detailed view, να προσθέσετε με δεξί κλικ στην περιοχή των στηλών να φαίνονται τα permissions και ο owner, ενέργεια που θα σας γλιτώσει από ΠΟΛΥ χρόνο και σώσει από πιθανά προβλήματα στο μέλλον, όταν θα καθορίζετε τα δικαιώματα πρόσβασης των χρηστών σε φακέλους και αρχεία, και να θέσετε ως default το view αυτό, από το μενού View > Preserve This Folder’s Settings: Συνεχίζεται σε επόμενο μήνυμα... Πρώτη έλλειψη λοιπόν που διορθώνουμε, είναι η εγκατάσταση ενός σωστού terminal, ώστε να λειτουργεί σωστά το Byobu Terminal, με το οποίο έρχεται εγκατεστημένο ο Ubuntu Server. Δίνουμε στο υποτυπώδες τερματικό, που βρίσκουμε στον φάκελο /usr/share/applications/Terminal emulator, την εντολή sudo apt-get install lxterminal και μετά την εγκατάσταση, έχουμε ένα σωστό terminal, το οποίο μετά τις προσαρμογές που θέλουμε σε χρώματα και γραμματοσειρά, έχει ως εξής: Δεύτερη άμεση εγκατάσταση που κάνουμε είναι το synaptic, ώστε να διευκολύνουμε περαιτέρω την εγκατάσταση πακέτων και εφαρμογών, με την εντολή:sudo apt-get install synaptic Πλέον η εγκατάσταση των λοιπών πακέτων μπορεί να γίνει από το γραφικό περιβάλλον: Εγκαθιστούμε λοιπόν ένα εργαλείο για να μας δίνει απαραίτητες πληροφορίες συστήματος, το System Profiler & Benchmark, που το πραγματικό όνομά του είναι hardinfo: Και έτσι έχουμε όλες τις πληροφορίες για το σύστημά μας, με αυτό που φυσικά μας ενδιαφέρει κυρίως, το File system και οι δίσκοι μας: Όπως βλέπουμε, το λειτουργικό μας καταλαμβάνει, στο root partition (dev/sda1) μόλις 3,4 GB, μέγεθος φανταστικό για server, σε σχέση με αντίστοιχο Windows (δεν μπορούσα να μην το σχολιάσω, με συγχωρείτε γι’ αυτό), ενώ και η μνήμη που καταλαμβάνει είναι ελαχιστότατη: Εγκαθιστούμε επίσης το εργαλείο Disks, που το πραγματικό του όνομα είναι gnome disk utility, το οποίο θα μας βοηθήσει εξαιρετικά στην προσθήκη και διαμόρφωση νέων δίσκων στον server μας: Και το πρόγραμμα Leafpad, που είναι ο γραφικός text editor του Lubuntu: Επίσης, προαιρετικά, μπορούμε να εγκαταστήσουμε και τον γραφικό updater manager του Lubuntu, ώστε να πραγματοποιούμε τις ενημερώσεις του συστήματος από γραφικό περιβάλλον: Αν τον εγκαταστήσουμε όμως, καλό είναι να απενεργοποιήσουμε τα αυτόματα updates. Αυτό διότι μπορεί να κυκλοφορήσουν updates σε βασικά πακέτα, τα οποία να προκαλέσουν προβλήματα στο μέλλον στην διαμόρφωση του server μας, γι’ αυτό προτείνεται στον server οι ενημερώσεις να γίνονται χειροκίνητα: Και με αυτό το βήμα ολοκληρώθηκε η εγκατάσταση του γραφικού περιβάλλοντος και των βασικών εργαλείων για τον server μας. Συνεχίζεται… 4 Κεφάλαιο Γ – Απομακρυσμένος έλεγχος του Server με SSH και VNC Ήλθε η ώρα πλέον να ενεργοποιήσουμε την δυνατότητα ελέγχου του server μας από άλλον υπολογιστή, ώστε να αποσυνδέσουμε από αυτόν οθόνη, πληκτρολόγιο και ποντίκι, και να τον τοποθετήσουμε στον μόνιμο χώρο διαμονής του. 4.1 Απόδοση σταθερής διεύθυνσης ip στον ServerΠρώτα όμως θα πρέπει να του αποδώσουμε σταθερή ip εντός του δικτύου μας, ώστε να ξέρουμε πάντα την διεύθυνσή του και να συνδεόμαστε εύκολα με αυτόν.Οι ρυθμίσεις διεύθυνσης δικτύου, πλέον στο Ubuntu βρίσκονται όλες μαζί σε ένα αρχείο, με όνομα interfaces στον φάκελο /etc/network: Όπως βλέπουμε, είναι αρχείο συστήματος, που ανήκει στον root χρήστη, συνεπώς για να το επεξεργαστούμε χρειαζόμαστε αυξημένα δικαιώματα. Το ανοίγουμε λοιπόν με την εντολή: sudo nano /etc/network/interfaces Ο nano είναι επεξεργαστής κειμένου του περιβάλλοντος γραμμής εντολών. Γιατί με τον nano και όχι με τον γραφικό text editor leafpad που είδαμε παραπάνω; Ο γράφων για μικρά αρχεία, όπως το εν λόγω interfaces, προτιμά τον nano, ενώ για μεγάλα αρχεία όπου ελλοχεύει ο κίνδυνος λαθών, προτιμά τον γραφικό text editor. Η επιλογή είναι δική σας, ανάλογα με τις συνήθειές σας, το αποτέλεσμα θα είναι το ίδιο. Όπως βλέπουμε λοιπόν, στην τελευταία γραμμή του αρχείου καθορίζεται ο τρόπος που ο server μας λαμβάνει ip διεύθυνση από τον router μας, εδώ αυτόματα με dhcp:iface enp3s2 inet dhcp Αλλάζουμε το dhcp με static και από κάτω, με χρήση του tab για να δημιουργηθεί κενός χώρος, προσθέτουμε την ip address που θέλουμε να έχει ο server μας, το net mask που στο 99% των περιπτώσεων θα είναι πάντα 255.255.255.0, ως gateway την ip του router μας, και τις διευθύνσεις dns του παρόχου μας Internet (π.χ της Fothnet ή της Otenet) που φροντίζουμε να τις γνωρίζουμε από πριν. Προσοχή: Στην ip που δίνουμε για τον server μας, φροντίζουμε τα τρία πρώτα πεδία να είναι ίδια με του router μας, και μόνο στο τελευταίο δίνουμε μια τιμή μεταξύ 2 και 254, εφόσον η διεύθυνση του router μας τελειώνει σε 1. Έτσι λοιπόν οι ρυθμίσεις μας θα δείχνουν κάπως έτσι:iface enp3s2 inet static address 192.168.0.25 netmask 255.255.255.0 gateway 192.168.0.1 dns-nameservers 194.219.227.2 dns-nameservers 193.192.150.3 Για να αποθηκευτούν οι αλλαγές μας, πατάμε τον συνδυασμό πλήκτρων Ctrl + O και μετά enter για επιβεβαίωση, ενώ για να βγούμε από τον nano editor, πατάμε Ctrl + X. 4.2 Ρύθμιση του SSH στον ServerΣχετικά τώρα με τον απομακρυσμένο έλεγχο, υπάρχουν δύο επιλογές. Η μία είναι να γίνεται απλά μέσω ενός προγράμματος VNC (=Virtual Network Computing) server που θα εγκαταστήσουμε στον server μας, και ενός προγράμματος VNC client που θα εγκαταστήσουμε στον υπολογιστή από όπου θα ελέγχουμε τον server, π.χ. στο laptop μας. Αυτό πιθανώς αρκεί για μια λύση Home Server, όπου δεν μας ενδιαφέρει και τόσο η υψηλή ασφάλεια, στην περίπτωση ας πούμε που το οικιακό μας δίκτυο βρίσκεται πίσω από router με ενεργοποιημένο το NAT και Firewall (το 99% των οικιακών ρούτερ είναι έτσι), οπότε το οικιακό μας δίκτυο δεν είναι προσβάσιμο από το διαδίκτυο και μόνο εμείς θα διαχειριζόμαστε τον server μας, μόνο μέσα από το οικιακό δίκτυο. Η δεύτερη περίπτωση, που είναι πολύ πιο ασφαλής, περιλαμβάνει ρύθμιση του πρωτοκόλλου επικοινωνίας SSH (=Secure Shell) στον server μας και στο client pc (π.χ. στο laptop που είπαμε παραπάνω), είσοδο στον server μας μέσα από το πρωτόκολλο αυτό, δημιουργία ασφαλούς SSH tunneling, και τέλος έλεγχο με VNC του server μέσω του tunnel που ανοίξαμε. Ο τρόπος αυτός επιβάλλεται να χρησιμοποιηθεί σε small business server, ενώ μπορεί να χρησιμοποιηθεί και για απομακρυσμένη πρόσβαση στον server μέσω διαδικτύου, δηλαδή από οπουδήποτε στον κόσμο. Τα βήματα για τη πρώτη λύση, σχετικά με την ρύθμιση του VNC, είναι σχεδόν ίδια με της δεύτερης λύσης, γι’ αυτό θα περιγραφεί μόνο η τελευταία, και όπου χρειαστεί θα τονιστεί η διαφοροποίηση. Όπως είδαμε ήδη κατά την εγκατάσταση του λειτουργικού στον server μας, έχουμε εγκαταστήσει και το πακέτο OpenSSH Server, οπότε το μόνο που μένει είναι η ρύθμισή του. Αυτή γίνεται στο αρχείο sshd_config που βρίσκεται στον φάκελο /etc/ssh: Προσοχή: Το αρχείο που μας ενδιαφέρει, είναι το αρχείο sshd_config, όχι το αρχείο ssh_config.Όπως βλέπουμε, είναι αρχείο συστήματος, που ανήκει στον root χρήστη, συνεπώς για να το επεξεργαστούμε χρειαζόμαστε αυξημένα δικαιώματα. Για να τα αποκτήσουμε, θα χρησιμοποιήσουμε την εντολή sudo ή την gksudo στο terminal, ανάλογα τί θέλουμε να κάνουμε. Στο σημείο αυτό κάνουμε μια παρένθεση για να εξηγήσουμε τη διαφορά μεταξύ sudo και gksudo. Η sudo μας δίνει το δικαίωμα να κάνουμε ό,τι θέλουμε στο σύστημά μας ως υπερχρήστης (root), και μπορούμε με αυτήν να ανοίξουμε και προγράμματα γραφικού περιβάλλοντος. Όμως για το τελευταίο χρησιμοποιούμε μόνο την εντολή gksudo. Αυτό διότι αν ανοίξουμε γραφικό πρόγραμμα με την εντολή sudo, το πρόγραμμα που θα ανοίξει δεν θα σεβαστεί την ιδιοκτησία των αρχείων μας στον home folder μας, και οποιαδήποτε αλλαγή γίνει οπουδήποτε, θα μετατρέψει τα όποια δικαιώματα του χρήστη μας στα αρχεία μας, σε δικαιώματα root, με αποτέλεσμα να συναντήσουμε ενδεχόμενα, απίθανα και άλυτα προβλήματα πρόσβασης ή σφάλματα συστήματος, μέχρι και να μην μπορούμε να χρησιμοποιήσουμε το σύστημά μας. Επαναλαμβάνουμε λοιπόν:Προγράμματα γραφικού περιβάλλοντος ανοίγουμε μόνο με την εντολή gksudo, ΠΟΤΕ με την εντολή sudo. Κλείνοντας την παρένθεση, ανοίγουμε το αρχείο sshd_config με την παρακάτω εντολήgksudo leafpad /etc/ssh/sshd_config Μας ζητείται ο κωδικός μας για να ανοίξουμε το πρόγραμμα με δικαιώματα υπερχρήστη: Αυτό είναι λοιπόν το αρχείο μας: Να εξηγήσουμε εδώ ότι σε όποια γραμμή υπάρχει στην αρχή της η δίεση ( # ), η γραμμή αυτή αποτελεί σχόλιο και δεν λαμβάνεται υπόψη από το σύστημα.Από όλες αυτές τις ρυθμίσεις, μας ενδιαφέρουν οι εξής γραμμές:1. Η γραμμή#PasswordAuthentication yesΤην οποία θα αλλάξουμε αργότερα. Εδώ ρυθμίζεται αν πρόσβαση στον server θα γίνεται με χρήση του κωδικού χρήστη μας, ή μόνο με κλειδιά ssh, που είναι απείρως πιο ασφαλής μέθοδος. Την αφήνουμε προς το παρόν όπως είναι, θα την αλλάξουμε αργότερα, μετά την πρώτη πρόσβασή μας στον server.2. Η γραμμήLoginGraceTime 120Η οποία καθορίζει σε πόσο χρόνο σε δευτερόλεπτα θα περιμένει ο server την επικύρωση ταυτότητας (authentication) από τον χρήστη που προσπαθεί να εισέλθει στο σύστημα. Μια πιο λογική τιμή είναι 60 ή ακόμα και 30 για τους πιο τολμηρούς.3. Η γραμμήStrictModes yesΗ οποία απλά σιγουρευόμαστε ότι είναι στο “yes”.4. Η γραμμή# MaxStartups 10:30:60Η οποία ορίζει ότι μεταξύ της 10ης και 60ης προσπάθειας εισόδου στον server, ο server θα αρχίσει να απορρίπτει το 30% των προσπαθειών, μέχρι να φθάσει στο 100% απόρριψης στην 60ή προσπάθεια. Οι αριθμοί αυτοί είναι πολύ ανεκτικοί, οπότε ο γράφων προτείνει να αφαιρέσουμε την δίεση, ώστε να τεθεί σε ισχύ η ρύθμιση, και να την αλλάξουμε ως εξής:MaxStartups 2:30:10Με αυτή τη ρύθμιση, μεταξύ της 2ης και 10ης προσπάθειας εισόδου στον server, ο server θα αρχίσει να απορρίπτει το 30% των προσπαθειών, μέχρι να φθάσει στο 100% απόρριψης στην 10η προσπάθεια. Με λίγα λόγια έχουμε μόνο δύο προσπάθειες εισόδου στον server, πριν αρχίσουν οι απορρίψεις.5. Τέλος, μπορούμε στο τέλος του αρχείου να προσθέσουμε ποιοι χρήστες και μόνο θα επιτρέπεται να εισέλθουν στον server μέσω ssh. Εμείς θέλουμε μόνο εμείς να εισερχόμαστε, οπότε γράφουμε:AllowUsers adminuser Αφού πραγματοποιήσουμε τις αλλαγές μας, αποθηκεύουμε και κλείνουμε το αρχείο. Στη συνέχεια επανεκκινούμε τον server μας, ώστε να ενεργοποιηθούν όλες οι αλλαγές που πραγματοποιήσαμε μέχρι τώρα. 4.3 Ρύθμιση του VNC Server στον ServerΣτη συνέχεια θα πρέπει να εγκαταστήσουμε και να ρυθμίσουμε έναν VNC Server στον Server μας, ώστε να τον ελέγχουμε εξ αποστάσεως με γραφικό περιβάλλον.Υπάρχουν πολλές επιλογές γι’ αυτό τον σκοπό, πολλά δηλαδή προγράμματα. Ο γράφων προτιμά τον x11vnc, γιατί επιτρέπει πλήρη παραμετροποίησή του, σε άπειρο βαθμό, και διότι αυτό που κάνει είναι να μεταφέρει επακριβώς το γραφικό session που τρέχει στον server, χωρίς να δημιουργεί νέο παράλληλο session, όπως κάνουν άλλα προγράμματα.Για να τον εγκαταστήσουμε, δίνουμε στο τερματικό την εντολήsudo apt-get install x11vnc Στη συνέχεια, δημιουργούμε έναν κωδικό για τον x11vnc, τον οποίο θα χρησιμοποιούμε κάθε φορά που θα θέλουμε να συνδεθούμε σε αυτόν, με την εντολήx11vnc -storepasswd και αφού δώσουμε τον κωδικό που θέλουμε, επιβεβαιώνουμε με y και enter στην σχετική ερώτηση. Αφού κάναμε τα παραπάνω, θέλουμε τώρα ο x11vnc να ξεκινάει αυτόματα με κάθε εκκίνηση του server μας, και με τις ρυθμίσεις που εμείς θέλουμε. Για τον σκοπό αυτό θα δημιουργήσουμε ένα νέο αρχείο με την εντολή:sudo nano /lib/systemd/system/x11vnc.service ώστε ο x11vnc να ξεκινάει ως service, και σε αυτό θα αντιγράψουμε το εξής περιεχόμενο[Unit] Description=Start x11vnc at startup. After=multi-user.target [Service] Type=simple ExecStart=/usr/bin/x11vnc -localhost -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/adminuser/.vnc/passwd -rfbport 5900 -shared [Install] WantedBy=multi-user.target Προσοχή τώρα στα εξής σημεία:1. Όπου adminuser βάζουμε το όνομα χρήστη που εμείς έχουμε.2. Η επιλογή -localhost σημαίνει ότι ο x11vnc θα συνδέεται μόνο από το τοπικό PC, δηλαδή από τον ίδιο τον server. Αυτό έχει νόημα μόνο εφόσον συνδεόμαστε στον server χρησιμοποιώντας το πρωτόκολλο SSH. Αν δεν το χρησιμοποιούμε αλλά συνδεόμαστε απευθείας με VNC μόνο, αφαιρούμε τον διακόπτη -localhost. Αποθηκεύουμε το αρχείο μας με Ctrl + O και enter, και στη συνέχεια βγαίνουμε με Ctrl + X.Στη συνέχεια δίνουμε τις εξής εντολές, για να ξεκινήσει η νέα υπηρεσία μαςsudo systemctl daemon-reload sudo systemctl enable x11vnc.service Επανεκκινούμε τον server, για να τεθούν σε ισχύ οι ρυθμίσεις που κάναμε και να τις δοκιμάσουμε. Συνεχίζεται στο επόμενο μήνυμα 4.4 Σύνδεση στον Server απομακρυσμένα Και τώρα ήλθε η ώρα να συνδεθούμε από άλλο υπολογιστή στον server μας και να ολοκληρώσουμε τις ρυθμίσεις απομακρυσμένης πρόσβασης.Ας υποθέσουμε ότι έχουμε ένα laptop με Linux Mint Mate σε αυτό. Ανοίγουμε τερματικό και δίνουμε την εντολή: ssh [email protected] Όπως καταλάβατε, δίνουμε το όνομα χρήστη του server μας και την διεύθυνση ip του server μας. Δεν έχει σημασία το όνομα χρήστη που χρησιμοποιούμε στο laptop, δηλαδή στο client PC.Στη συνέχεια απαντάμε yes στην ερώτηση που μας δίνεται, αν εμπιστευόμαστε τον server στον οποίο προσπαθούμε να συνδεθούμε, και μετά δίνουμε τον κωδικό του adminuser: και ορίστε, είμαστε πλέον συνδεδεμένοι με ασφαλή σύνδεση στον server μας, σε περιβάλλον γραμμής εντολών! Από εδώ όπως καταλαβαίνετε, μπορούμε να κάνουμε τα πάντα στον server μας. Αυτό που θα κάνουμε όμως πρώτα είναι να ολοκληρώσουμε τη διαδικασία θέσπισης μέτρων ασφάλειας κατά την απομακρυσμένη πρόσβαση στον server μας. Για να το κάνουμε αυτό, θα χρησιμοποιήσουμε τα κλειδιά πρόσβασης SSH. Αυτό με λίγα λόγια δουλεύει ως εξής: δημιουργούμε ένα private key και ένα public key στο client PC. Το private key το φυλάσσουμε στο client PC, ενώ το public key το στέλνουμε ή το εγκαθιστούμε χειροκίνητα στον server. Στη συνέχεια απενεργοποιούμε την δυνατότητα εισόδου στον server με χρήση user password, και η είσοδός μας σε αυτόν γίνεται μόνο με τη χρήση του private key μας. Η διαδικασία αυτή εισόδου είναι απείρως ασφαλέστερη από την είσοδο με κωδικό χρήστη. Όμως ας τα δούμε στην πράξη, ώστε να σας λυθούν και οι όποιες απορίες.Τερματίζουμε πρώτα την σύνδεσή μας με τον server, με την εντολή exit, και από το client PC σε terminal δίνουμε την εντολήssh-keygen -t rsa -b 4096Με την εντολή αυτή δημιουργούμε ένα κλειδί με κρυπτογράφηση RSA και εύρος 4096 bit, από τους πιο ασφαλείς αλγορίθμους που υπάρχουν σήμερα: Στην επόμενη ερώτηση για το που θα τοποθετηθούν τα κλειδιά αφήνουμε το default, απλά πατώντας enter: Εάν θέλουμε, μπορούμε να προστατεύσουμε ακόμα και το private key μας που δημιουργούμε, με κρυπτογραφημένο κωδικό πρόσβασης (passphrase), τον οποίο δίνουμε στην επόμενη οθόνη, ενώ αν δεν θέλουμε κωδικό, απλά πατάμε enter: Τα κλειδιά μας έχουν δημιουργηθεί και είναι τοποθετημένα στον φάκελο /home/username/.ssh. Στο σημείο αυτό να ενημερώσουμε όσους δεν γνωρίζουν, ότι στο Linux όταν σε ένα όνομα αρχείου ή φακέλου προηγείται η τελεία (.), το αρχείο ή φάκελος είναι κρυφό και για να το δούμε, θα πρέπει στον file manager μας να ενεργοποιήσουμε την προβολή κρυφών αρχείων. Στη συνέχεια στέλνουμε το public key στον server μας με την εντολή:ssh-copy-id [email protected]Όταν μας ζητηθεί δίνουμε τον κωδικό του adminuser του server, όχι του χρήστη μας στο client PC: Με αυτό τον τρόπο έχουμε εγκαθιδρύσει δυνατότητα σύνδεσης στον server μας με κρυπτογραφημένα κλειδιά. Συνδεόμαστε ξανά στον server μας με την εντολή:ssh [email protected]όπου πλέον παρατηρούμε ότι δεν μας ζητείται κωδικός πρόσβασης, αλλά η είσοδός μας γίνεται αμέσως.Την ίδια διαδικασία μπορούμε να κάνουμε από οποιοδήποτε άλλο PC μας, από το οποίο θέλουμε να έχουμε απομακρυσμένη πρόσβαση στον server μας.Τέλος, απενεργοποιούμε εντελώς την δυνατότητα σύνδεσης με κωδικό στον server μας, ως εξής:Δια της απομακρυσμένης σύνδεσης που έχουμε ήδη, ανοίγουμε το αρχείο sshd_config με την εντολή:sudo nano /etc/ssh/sshd_config Βρίσκουμε τη γραμμή#PasswordAuthentication yes και την αλλάζουμε σεPasswordAuthentication no Αποθηκεύουμε με Ctrl + O και enter, κλείνουμε τον nano με Ctrl + X και είμαστε έτοιμοι! Πλέον η είσοδος στον server μας είναι δυνατή μόνο με τα κρυπτογραφημένα κλειδιά. Να αναφέρουμε εδώ ότι στον server τα δημόσια κλειδιά αποθηκεύονται στο αρχείο ~/.ssh/authorized_keys (το σύμβολο ~ αντιπροσωπεύει τον home folder του χρήστη), που όπως όλα σχεδόν τα αρχεία στο linux, είναι αρχείο κειμένου με κάθε κλειδί να καταλαμβάνει μια γραμμή. Απλά για να προσθέσουμε δεύτερο PC, προσθέτουμε σε επόμενη γραμμή το κείμενο του αρχείου id_rsa.pub που δημιουργείται στον φάκελο ~/.ssh του χρήστη του Client PC μας, κατά τη διαδικασία δημιουργίας κλειδιών που περιγράψαμε πιο πάνω. ΠΡΟΣΟΧΗ: Για να δουλέψει το σύστημα εισαγωγής με κλειδιά, απαιτείται όλα τα αρχεία που περιέχουν τα κλειδιά να έχουν δικαιώματα ανάγνωσης και εγγραφής μόνο από τον owner, δηλαδή rw------- ή αλλιώς 600. Αν κάνετε κάποια χειροκίνητη τροποποίηση και αλλάξουν τα δικαιώματα αυτά, η είσοδός σας θα αποτυγχάνει. Τα δικαιώματα χρηστών θα εξηγηθούν αναλυτικότατα σε επόμενο κεφάλαιο. Όμως είπαμε ότι εμείς θέλουμε γραφικό περιβάλλον σύνδεσης στον server. Για τον σκοπό αυτό, αφού τερματίσουμε την σύνδεση με την εντολή exit, δίνουμε την εξής εντολή στο τερματικό:ssh -L 15555:localhost:5900 [email protected] Με αυτή την εντολή λέμε το εξής: Το ssh να προωθήσει το localport 5900 του server μας (ο διακόπτης -L) στο localport 15555 του client PC μας, συνδεόμενοι ταυτόχρονα ως adminuser. Το port 5900 το δώσαμε πριν ως port που θα χρησιμοποιεί ο x11vnc, όταν φτιάχναμε το αρχείο x11vnc.service: Συνδεθήκαμε λοιπόν στον server μας, ενώ έχουμε φτιάξει και tunneling με τα ports όπως είπαμε παραπάνω. Το μόνο που κάνουμε τώρα, αφήνοντας ανοικτό το τερματικό, είναι να συνδεθούμε με τον VNC client μας, του Client PC μας, του laptop μας δηλαδή, στο localport 15555 και να δώσουμε τον κωδικό του x11vnc που είχαμε δώσει πιο πριν, όταν τον ρυθμίζαμε. Αν έχουμε περιβάλλον gnome, mate, cinnamon, προτείνεται ο Remmina, ενώ αν έχουμε KDE ο KRDC. Στις παραμέτρους σύνδεσης δίνουμε:localhost:15555 Εάν δεν χρησιμοποιούμε το πρωτόκολλο SSH, θα δώσουμε απλά την διεύθυνση και το port του server μας, δηλαδή για το παράδειγμά μας:192.168.0.25:5900 Και ιδού πλέον ο απόλυτος έλεγχος του server μας απομακρυσμένα, με γραφικό περιβάλλον! Συνεχίζεται… 5 Κεφάλαιο Δ – Προσθήκη χρηστών και σκληρών δίσκων5.1 Προσθήκη χρηστών και διαχείρισή τους Αφού λοιπόν έχουμε πλέον ολοκληρώσει τη διαδικασία απομακρυσμένου ελέγχου του server μας, καιρός να προχωρήσουμε στην κυρίως διαμόρφωσή του, με την άνεση που έχουμε καθήμενοι στο κύριο PC μας. Το πρώτο που πρέπει να κάνουμε είναι να προσθέσουμε τους χρήστες που θα έχουν πρόσβαση στα δεδομένα του server μας. Να τονίσουμε εξαρχής ότι για να έχουν πρόσβαση οι χρήστες απομακρυσμένα μέσω samba, θα πρέπει να έχουν και τοπικό λογαριασμό στον server μας, unix λογαριασμό όπως λέγεται. Το username τους θα πρέπει να είναι το ίδιο, ενώ ο κωδικός μπορεί να είναι διαφορετικός, κάτι όμως που δεν προτείνεται, για να αποφευχθούν στο μέλλον επιπλοκές και απορίες του στυλ «μα γιατί επιτέλους δεν έχω πρόσβαση στα δεδομένα μου στον server;». Με άλλα λόγια, οι χρήστες θα πρέπει να έχουν το ίδιο username, τόσο στους λογαριασμούς τους σε υπολογιστή με Windows, όσο και στον server μας. Για την προσθήκη χρηστών στον server μας, θα χρησιμοποιήσουμε φυσικά το terminal. Η προσθήκη μπορεί να γίνει με δύο εντολές. Η πρώτη είναι το useradd, που είναι η πρωταρχική, low level εντολή, ενώ η δεύτερη είναι η adduser, που είναι και αυτή που θα χρησιμοποιήσουμε. Η adduser είναι στην ουσία ένα script, προσαρμοσμένο στις απαιτήσεις των νέων ισχυουσών πολιτικών του Debian/Ubuntu (αν δεν το γνωρίζετε, το Ubuntu βασίζεται στο Debian), που τρέχει στο υπόβαθρο την εντολή useradd, αλλά είναι πιο φιλική στο χρήστη, φροντίζοντας αυτόματα να κάνει όλα όσα πρέπει για να έχουμε προσθήκη χρηστών σύμφωνα με τα νεότερα πρότυπα του Debian. Τα παραπάνω αναφέρονται και στην επίσημη τεκμηρίωση της εντολής (man page): adduser and addgroup add users and groups to the system according to command line options and configuration information in /etc/adduser.conf. They are friendlier front ends to the low level tools like useradd, groupadd and usermod programs, by default choosing Debian policy conformant UID and GID values, creating a home directory with skeletal configuration, running a custom script, and other features. Μερικές από τις πιο χρήσιμες λειτουργίες της εντολής adduser, είναι ότι δημιουργεί αυτόματα home folder για τον χρήστη που προσθέτουμε, και group με το ίδιο όνομα με του χρήστη, το οποίο ορίζει ως πρωταρχικό, γεγονός σημαντικό για πολλές λειτουργίες του λειτουργικού συστήματος σχετικά με τα δικαιώματα πρόσβασης.Η εισαγωγή λοιπόν νέων χρηστών γίνεται με την εντολήsudo adduser usernameκαι στη συνέχεια ερωτώμαστε για κωδικό πρόσβασης, πραγματικό ονοματεπώνυμο και άλλα στοιχεία που τυχόν θέλουμε να προσθέσουμε για τον χρήστη. Με την εντολή αυτή εμείς δημιουργήσαμε για τις ανάγκες του οδηγού τρεις χρήστες, τους user1, user2 και user3: Αφού προσθέσαμε τους χρήστες μας, υπάρχει περίπτωση να έχουμε κάνει κάποιο λάθος ή να άλλαξε κάτι, ή να θέλουμε να εντάξουμε κάποιους χρήστες σε νέο group κλπ.Η βασική διαχείριση των χρηστών και των groups γίνεται ως εξής:1. Για να δούμε όλους τους χρήστες του λειτουργικού, ώστε να εξετάσουμε μήπως ξεχάσαμε κάποιον (η παρακάτω εντολή δείχνει και «χρήστες» που δημιουργεί το σύστημα για τις ανάγκες λειτουργίας του, εμείς ασχολούμαστε μόνο με τους χρήστες μας, οι οποίοι συνήθως εμφανίζονται στο τέλος της λίστας):compgen -u 2. Για να δούμε όλα τα groups:compgen -g 3. Για να δούμε όλα τα μέλη ενός group:getent group groupname 4. Για να δούμε την αναλυτική ταυτότητα ενός χρήστη, σε ποια group ανήκει κλπ. (αν δεν δώσουμε username, η εντολή μας επιστρέφει τα δικά μας στοιχεία):id username 5. Για να δούμε σε ποια group ανήκει ένας χρήστης (αν δεν δώσουμε username, η εντολή μας επιστρέφει τα δικά μας στοιχεία):groups username 6. Για να προσθέσουμε ένα νέο group στο σύστημαaddgroup groupname 7. Για να προσθέσουμε υπάρχοντα χρήστη σε υπάρχον group:adduser username groupname Για περισσότερες πληροφορίες σχετικά με την διαχείριση χρηστών και groups, θα πρέπει να ανατρέξετε στις σελίδες τεκμηρίωσης (man pages) των εντολών adduser, deluser, usermod, καθώς οι δυνατότητες είναι πάρα πολλές και ξεφεύγουν από τα πλαίσια αυτού του οδηγού. 5.2 Προσθήκη και διαμόρφωση σκληρών δίσκων Ένας server φυσικά δεν θα έχει μόνο ένα σκληρό δίσκο, αλλά συνήθως πολύ περισσότερους. Αφού έχουμε ολοκληρώσει την εγκατάσταση των δίσκων μας στο κουτί του υπολογιστή μας, η προσθήκη στο λειτουργικό σύστημα γίνεται απλούστατα, με την χρήση του εργαλείου Disks, που εγκαταστήσαμε στην αρχή αυτού του οδηγού. Φυσικά θα μπορούσε να γίνει και χειροκίνητα μέσω τερματικού, εμείς όμως προτιμούμε την ευκολία της γραφικής εφαρμογής.Επιλέγουμε τον νέο δίσκο μας: Από το μενού πάνω δεξιά επιλέγουμε Format Disk… Η εντολή αυτή κατά την άποψη του γράφοντος έχει ανακριβές όνομα στην συγκεκριμένη εφαρμογή. Αυτό που κάνει δεν είναι format file system, δηλαδή διαμόρφωση συστήματος αρχείων, όπως εννοούμε όταν λέμε format, αλλά δημιουργεί ένα νέο partition table στον δίσκο (θυμάστε τον όρο όταν τον συναντήσαμε κατά την εγκατάσταση του λειτουργικού συστήματός μας, δηλαδή διαγράφει όλα τα partitions του δίσκου (εμφανίζει βέβαια άλλη μια προειδοποίηση στη συνέχεια), και δημιουργεί νέο partition table, χωρίς να διαμορφώνει αρχείο συστήματος (file system). Εμείς όμως ούτως ή άλλως αυτό θέλουμε, οπότε προχωράμε. Στην παράθυρο που αναδύεται, διαλέγουμε ως εξής: Αν ο νέος δίσκος μας είναι ίσος ή μεγαλύτερος από 2 TB, διαλέγουμε την default επιλογή, “Compatible with modern systems and hard disks > 2ΤΒ (GPT)”: ενώ αν είναι μικρότερος από 2TB, όπως εδώ για τις ανάγκες του οδηγού, διαλέγουμε τη επιλογή “Compatible with all systems and devices (MBR/DOS): Την άλλη επιλογή για το Erase, την αφήνουμε ως έχει. Ξαναδιαλέγουμε Format στο επόμενο παράθυρο, δίνουμε και τον κωδικό root και το νέο μας partition table είναι έτοιμο: Κατόπιν, πρέπει να δημιουργήσουμε partitions και file systems (να κάνουμε δηλαδή το πραγματικό format), οπότε πατάμε το [ + ] που βρίσκεται στο μέσον του παραθύρου, κάτω από τη μπλε γραμμή που δείχνει τον χώρο του δίσκου μας: Στο επόμενο παράθυρο διαλέγουμε χωρητικότητα και File system. Για τις ανάγκες του server μας οι default επιλογές είναι μια χαρά. Δίνουμε μόνο ένα όνομα στο partition, ώστε αν έχουμε πολλά, να μπορούμε να τα ξεχωρίσουμε, π.χ. DATA ή FILMS κλπ.: Αφού δώσουμε και τον κωδικό root όταν μας ζητηθεί, πλέον ο δίσκος μας είναι έτοιμος και διαμορφωμένος. Στον γράφοντα μερικές φορές εμφανίστηκε σφάλμα κατά την διαδικασία αυτή, αν εμφανιστεί και σε εσάς, απλά επαναλαμβάνετε τη διαδικασία και όλα θα είναι μια χαρά. Το μόνο που μένει τώρα είναι να προσαρτήσουμε (mount) τον δίσκο μας σε κάποιο σημείο του file system, ώστε να είναι ορατός και να μπορούμε να δουλέψουμε με αυτόν.Για το σημείο προσάρτησης προτείνονται διάφορα στο διαδίκτυο, ο γράφων προτιμά να δημιουργήσει έναν φάκελο “disks” στο root file system και οι προσαρτήσεις όλων των δίσκων να γίνονται σε υποφακέλους σε αυτόν, στη διαδρομή /disks/disk1data, /disks/disk2films κλπ. Δεν υπάρχει κανόνας σε αυτό, φροντίστε μόνο να έχετε απλές λύσεις, για να αποφύγετε πιθανά μελλοντικά λάθη και περιπλοκές.Δίνουμε λοιπόν σε τερματικό διαδοχικά τις εξής εντολέςsudo mkdir /disks sudo mkdir /disks/disk1data Και οι φάκελοί μας είναι έτοιμοι, με owner τον root όπως βλέπουμε: Επιστρέφοντας στην εφαρμογή Disks, με κλικ στο εικονίδιο με το γρανάζι (Additional partition options) επιλέγουμε Edit Mount Options: Απενεργοποιούμε το Automatic Mount Options, θέτοντάς το στο OFF, και το μόνο που αλλάζουμε στο παράθυρο είναι η διαδρομή του Mount Point, βάζοντας την διαδρομή που φτιάξαμε παραπάνω, δηλαδή/disks/disk1data Δίνουμε και τον κωδικό root όταν μας ζητηθεί, και στη συνέχεια πατάμε το κουμπί με το σήμα Play – Mount selected partition: Και πλέον ο νέος δίσκος μας είναι έτοιμος προς χρήση, ενώ η προσάρτησή του θα γίνεται αυτόματα σε κάθε εκκίνηση του συστήματος: Στο σημείο αυτό να τονίσουμε ότι καλό είναι να ολοκληρωθεί η παραπάνω διαδικασία, και μετά να πειράξετε owner, group και δικαιώματα χρήσης στον φάκελο προσάρτησης disk1data. Ο γράφων τα έκανε ανάποδα και ταλαιπωρήθηκε αφάνταστα, μέχρι να καταλάβει τι συμβαίνει, καθώς η διαδικασία πρώτης προσάρτησης κάνει reset στον ιδιοκτήτη και τα δικαιώματα του σημείου προσάρτησης… Συνεχίζεται... 6 Κεφάλαιο Ε – Χορεύοντας με ρυθμούς Samba! Όλα όσα προηγήθηκαν, αποτελούσαν στην ουσία το πρόγευμα αυτού που θέλουμε να φτιάξουμε, που δεν είναι άλλο από έναν κοινόχρηστο File Server. Ήλθε η ώρα λοιπόν να περάσουμε στο κυρίως γεύμα! 6.1 Δικαιώματα χρηστών στο LinuxΠριν όμως προχωρήσουμε στις ρυθμίσεις του Samba Server, πρέπει να κολυμπήσουμε στα άδυτα των δικαιωμάτων πρόσβασης στα αρχεία του Linux.Αυτό διότι για να έχει ένας χρήστης πρόσβαση στα αρχεία του server μας μέσω του πρωτοκόλλου Samba, πρέπει να έχει πρώτα πρόσβαση σε αυτά ως χρήστης του server μας, πρέπει δηλαδή να έχει και δικαιώματα Unix, όπως λέγεται.Τα δικαιώματα χρήστη, επί φακέλων ή αρχείων, χωρίζονται σε τρεις κατηγορίες:1. Δικαιώματα ιδιοκτήτη (owner)2. Δικαιώματα ομάδας ιδιοκτήτη (group)3. Δικαιώματα κάθε άλλου τρίτου (others) Κάθε ένα από τα παραπάνω δικαιώματα χωρίζεται επίσης σε τρία μέρη:1. Δικαίωμα ανάγνωσης (read)2. Δικαίωμα εγγραφής (write)3. Δικαίωμα εκτέλεσης (execute) Τα παραπάνω δικαιώματα αναπαρίστανται με 3 τριάδες συμβόλων, η πρώτη για τον ιδιοκτήτη, η δεύτερη για την ομάδα και η τρίτη για τους τρίτους, ως εξής:owner (u) - group (g) - others (o)r w x - r w x - r w xΤο r σημαίνει readableTo w σημαίνει writableΤο x σημαίνει executable Όπου το δικαίωμα δεν υπάρχει, αναπαρίσταται με απλή παύλα: -To δικαίωμα executable στα αρχεία σημαίνει ότι μπορεί ο χρήστης να το εκτελέσει (απλό, έτσι; ), στους φακέλους όμως σημαίνει ότι μπορεί ο χρήστης να τους ανοίξει (πρόσβαση). Συνεπώς για να μπορεί κάποιος να διαβάσει το περιεχόμενο ενός φακέλου, θα πρέπει να έχει δικαιώματα read και execute. Τα δικαιώματα αυτά μπορούμε να τα δούμε σε τερματικό με την εντολή ls –l όπου στο παραπάνω παράδειγμα βλέπουμε το home directory μας, και για παράδειγμα ο φάκελος Documents έχει τα εξής δικαιώματα:drwxr-xr-x adminuser adminuser Το παραπάνω σημαίνει ότι ο owner [adminuser] έχει πλήρη δικαιώματα ανάγνωσης και εγγραφής στο φάκελο, το group owner [adminuser] έχει δικαιώματα μόνο πρόσβασης και ανάγνωσης, ενώ και οι τρίτοι έχουν επίσης δικαιώματα πρόσβασης και ανάγνωσης. Το πρώτο γράμμα [d] σημαίνει directory και το συναντάμε μόνο όταν εξετάζουμε δικαιώματα σε φακέλους. Τώρα, τα δικαιώματα αυτά μπορούν να αναπαρασταθούν και με αριθμητικό σύστημα, το οκταδικό. Με το σύστημα αυτό τα δικαιώματα αναπαρίστανται ως εξής:4 = Read2 = Write1 = Execute με το σύνολο να κυμαίνεται από το μηδέν (0) μέχρι το (7). Αν κάνετε τις μαθηματικές πράξεις, θα δείτε ότι κάθε αριθμός από το 0 έως το 7 δίνει μοναδικό συνδυασμό πρόσθεσης των ανωτέρω τριών ( 1 - 2 - 4 ), συνεπώς μόνο από το άθροισμα καταλαβαίνουμε τα δικαιώματα. Για παράδειγμα:3 σημαίνει write & execute6 σημαίνει read & write7 σημαίνει read, write & execute0 σημαίνει κανένα δικαίωμα. Για την τριάδα μας λοιπόν δικαιωμάτων owner, group και others, μας αρκεί ένας μόνο τριψήφιος αριθμός, με ψηφία από το 0 έως το 7, ένα ψηφίο για κάθε μία κατηγορία χρήστη. Για παράδειγμα ο αριθμός640σημαίνει ότι ο owner έχει δικαιώματα ανάγνωσης και εγγραφής (το 6), το group owner έχει δικαιώματα μόνο ανάγνωσης (το 4), ενώ οι others (κάθε άλλος τρίτος) (το 0), δεν έχει καθόλου δικαιώματα πρόσβασης. Να τονίσουμε εδώ ότι κανονικά τα ψηφία αριθμητικής αναπαράστασης δικαιωμάτων είναι τέσσερα, με το πρώτο από τα τέσσερα να αναπαριστά ειδικά δικαιώματα, τα οποία προς το παρόν δεν θα αναλυθούν εδώ. Αρκεί να γνωρίζουμε ότι όταν λείπει το πρώτο ψηφίο, όταν δηλαδή βλέπουμε ή δίνουμε σε εντολή τρία ψηφία, το πρώτο αυτό ψηφίο λογίζεται (θεωρείται) ως 0, δηλαδή κανένα ειδικό δικαίωμα. Τα καταφέραμε μέχρι εδώ; Έχει και άλλα! Τα δικαιώματα χρήσης σε αρχεία που δημιουργούνται, δηλαδή σε νέα αρχεία, καθορίζονται από την ρύθμιση umask, που είναι ενιαία για όλο το λειτουργικό. Ποια ρύθμιση έχει στο δικό μας λειτουργικό, μπορούμε να την δούμε, πληκτρολογώντας απλά στο τερματικό:umask Όπου βλέπουμε ότι το umask στον server μας είναι 0002. Θυμάστε τι είπαμε μόλις παραπάνω για τα τέσσερα ψηφία; Το πρώτο μηδενικό λοιπόν δεν το υπολογίζουμε προς το παρόν, και αντιλαμβανόμαστε ότι η umask μας είναι 002. Τι σημαίνει αυτό; Σημαίνει ότι σε κάθε νέο αρχείο ή φάκελο που δημιουργείται, το λειτουργικό θα αφαιρεί από το σύνολο δικαιωμάτων των τρίτων χρηστών (others), δηλαδή από το 7, το 2. Με απλά ελληνικά, σημαίνει ότι σε κάθε νέο αρχείο ή φάκελο που δημιουργείται, θα αφαιρείται από το λειτουργικό αυτόματα το δικαίωμα εγγραφής για τους τρίτους (others).Κάθε ψηφίο λοιπόν από τα τρία της umask, χρησιμοποιείται σαν κάλυπτρο (μάσκα), για να καλύψει (αφαιρέσει) από το σύνολο δικαιωμάτων της αντίστοιχης κατηγορίας (owner, group & others), που είναι το 7, τον αντίστοιχο αριθμό, εδώ το 2. Προσοχή, το umask δεν αφαιρεί από το ήδη υφιστάμενο δικαίωμα που εμείς ενδεχομένως με κάποια εντολή δίνουμε, αλλά από το σύνολο, από το 7. Η λειτουργία της μοιάζει πολύ με τις μάσκες που χρησιμοποιούμε στα layers σε προγράμματα επεξεργασίας φωτογραφίας, για όσους γνωρίζουν. Καλύπτουν, δεν αφαιρούν. Τώρα, νομίζετε ότι πράγματι στο παραπάνω παράδειγμά μας, το umask είναι 002; Όχι!! Την πραγματική ρύθμιση της umask την βλέπουμε στο αρχείο/etc/login.defs όπου βλέπουμε μεγαλοπρεπώς η ρύθμιση να είναι 022!Με αυτή τη ρύθμιση το group owner χάνει το δικαίωμα εγγραφής σε όλα τα νέα αρχεία και φακέλους που δημιουργούνται, γεγονός σημαντικότατο όταν στον samba server μας θέλουμε να έχουμε κοινόχρηστους φακέλους όπου ένα group θα έχει δικαιώματα και εγγραφής! Τότε γιατί η εντολή umask που τρέξαμε παραπάνω μας έδειξε 002;Γιατί στο παραπάνω αρχείο login.defs εξηγεί ότι:If USERGROUPS_ENAB is set to "yes", that will modify this UMASK default value for private user groups, i. e. the uid is the same as gid, and username is the same as the primary group name: for these, the user permissions will be used as group permissions, e. g. 022 will become 002.Δηλαδή, αν η ρύθμιση USERGROUPS_ENAB στο ίδιο αρχείο είναι σε “yes”, τότε οι χρήστες, των οποίων το username είναι το ίδιο με το primary groupname (όπως εδώ στο παράδειγμά μας είναι adminuser adminuser), θα έχουν άλλη umask, και αυτή θα εξισώνει τα δικαιώματα του owner με τα δικαιώματα του group owner, και σε default ρύθμιση η umask από 022 θα γίνει 002! Και φυσικά, στο ίδιο αρχείο πιο κάτω η ρύθμιση USERGROUPS_ENAB είναι πράγματι “yes”! Θυμάστε τώρα τι λέγαμε όταν εξηγούσαμε γιατί χρησιμοποιήσαμε την εντολή adduser, αντί της εντολής useradd; Αυτός ήταν ο κύριος λόγος! Γιατί τώρα αναφέραμε όλα τα παραπάνω, θα αναρωτιέστε σίγουρα. Μα γιατί η Samba, ό,τι ρύθμιση και να της περάσεις, δεν ξεπερνά με τίποτα την umask του λειτουργικού, κατά την απομακρυσμένη δημιουργία νέων αρχείων ή φακέλων από το χρήστη στον Server! Η συνέχεια στο επόμενο επεισόδιο… 6.2 Προσθήκη Χρηστών Samba Είπαμε και νωρίτερα, κατά την προσθήκη χρηστών στον server μας (Κεφάλαιο Δ), ότι ένας χρήστης του πρωτοκόλλου Samba θα πρέπει πρωτίστως να έχει τοπικό λογαριασμό στον server μας, ώστε στη συνέχεια να μπορεί να έχει πρόσβαση σε αυτόν μέσω Samba. Αφού λοιπόν δημιουργήσαμε όπως παραπάνω είπαμε, τους χρήστες μας στον server, τώρα θα πρέπει να τους προσθέσουμε και ως χρήστες samba, ως χρήστες δηλαδή που θα έχουν δικαίωμα απομακρυσμένης πρόσβασης στον server μέσω samba.Η προσθήκη αυτή γίνεται φυσικά από το τερματικό, με την εντολή sudo smbpasswd -a username Επισημαίνονται τα εξής:1) Ο χρήστης μας θα πρέπει να έχει το ίδιο username τόσο στην samba, όσο και στον απομακρυσμένο υπολογιστή από τον οποίο θα έχει πρόσβαση, π.χ. από υπολογιστή Windows.2) Υπάρχουν όπως καταλάβατε, τρεις (3) λογαριασμοί για κάθε χρήστη, τους οποίους θα πρέπει να έχουμε υπόψη μας: Ο λογαριασμός Unix στον server, ο λογαριασμός Samba στον server και ο λογαριασμός στον απομακρυσμένο υπολογιστή Windows. Για αποφυγή οποιασδήποτε απροσδόκητης δυσκολίας, το username πρέπει να είναι το ίδιο και στους τρεις λογαριασμούς. Ο κωδικός Unix δεν είναι απαραίτητο να είναι ίδιος με τους άλλους δύο, ωστόσο ο γράφων προτείνει να είναι ο ίδιος, προς αποφυγή δυσκολιών στο μέλλον.3) Ενώ οι λογαριασμοί Unix είναι case sensitive, δηλαδή τα κεφαλαία γράμματα λογίζονται ως διαφορετικά από τα μικρά και επιτρέπονται μόνο μικρά, δεν συμβαίνει το ίδιο κατά την αντιστοίχιση λογαριασμού samba με λογαριασμού Windows. Επειδή στα Windows οι λογαριασμοί είναι case insensitive, η samba ακολουθεί το ίδιο μοτίβο και επομένως δεν έχει σημασία αν ο λογαριασμός χρήστη στα Windows έχει και κεφαλαία γράμματα, ενώ ο λογαριασμός samba δεν έχει. Με την παραπάνω εντολή λοιπόν και για τις ανάγκες του οδηγού, προσθέσαμε τους χρήστες μας user1, user2 και user3 στην samba: Για να ελέγξουμε ποιους χρήστες έχουμε προσθέσει, χρησιμοποιούμε την εξής εντολή:sudo pdbedit -L ενώ αν προσθέσουμε και τον διακόπτη -v (verbose) μας δίνει πολύ περισσότερες πληροφορίες:sudo pdbedit -Lv Τέλος, για να διαγράψουμε κάποιο χρήστη από την samba, χρησιμοποιούμε την εντολήsudo smbpasswd -x username Σημείωση: Φυσικά, αν θέλουμε και ο διαχειριστής να έχει πρόσβαση σε shares, πρέπει να προστεθεί και αυτός ως χρήστης samba, με την εντολή:sudo smbpasswd -a adminuser 6.3 Προσθήκη Samba Shares 6.3.1 ΠροετοιμασίαΚαι φθάνουμε επιτέλους και ουσιαστικά στην καρδιά αυτού του οδηγού, αφού τα samba shares (διαμοιραζόμενοι φάκελοι) ήταν ο πρωταρχικός σκοπός μας εξ αρχής, όταν αποφασίσαμε να φτιάξουμε έναν File Server! Όλες οι ρυθμίσεις για τα Samba Shares βρίσκονται σε ένα και μόνο αρχείο, το smb.conf το οποίο βρίσκεται στη διαδρομή /etc/samba/smb.conf: Εάν ανοίξουμε αυτό το αρχείο, θα δούμε ότι είναι γεμάτο με σχόλια, έρχεται δηλαδή εξ αρχής έτσι, με την εγκατάσταση του λειτουργικού. Τα σχόλια αυτά έχουν σκοπό να βοηθήσουν τον χρήστη στη ρύθμισή του: Επειδή όμως εμείς θα έχουμε μελετήσει τον παρόντα οδηγό , τα σχόλια αυτά περισσότερο περιπλέκουν τα πράγματα, παρά βοηθούν, αφού μας εμποδίζουν να έχουμε μια καθαρή εικόνα για τις ρυθμίσεις μας. Έτσι, είναι προτιμότερο αφενός μεν να πάρουμε ένα backup του αρχείου smb.conf, αφετέρου δε να έχουμε ένα καθαρό αρχείο, χωρίς σχόλια.Τα παραπάνω θα τα πετύχουμε εκτελώντας διαδοχικά τις εξής εντολές:sudo -i cd /etc/samba mv smb.conf smb.conf.master touch smb.conf testparm -s smb.conf.master > smb.conf Με τις παραπάνω εντολές μεταβήκαμε στο φάκελο samba, μετονομάσαμε το αρχείο smb.conf σε smb.conf.master και στη συνέχεια φτιάξαμε ένα νέο αρχείο smb.conf χωρίς σχόλια: Πολύ καλύτερα, δεν νομίζετε; Tip: η παραπάνω εντολή testparm -s ενδεχομένως να μην δουλεύει με το πρόθεμα sudo μπροστά. Γι’ αυτό αναχθήκαμε εξ ολοκλήρου σε χρήστη root, με την εντολή sudo -i. 6.3.2 Η δομή του αρχείου smb.conf Πριν προσθέσουμε τα πρώτα shares μας, θα πρέπει να πούμε δυο λόγια για τη δομή του αρχείου smb.conf:1) Το αρχείο χωρίζεται σε sections (τομείς), οι οποίοι διακρίνονται με την ένταξή τους σε αγκύλες [ ], όπως μπορείτε να δείτε στο παραπάνω screenshot. Το πρώτο section, με όνομα [global], περιέχει γενικές ρυθμίσεις, οι οποίες αφενός μεν περιέχουν γενικές ρυθμίσεις για τον samba server, αφετέρου εφαρμόζονται σε όλα τα shares.2) Κάθε share έχει το δικό του section. Το όνομα μέσα στις αγκύλες [ ], είναι και αυτό που θα βλέπουμε ως όνομα share από τον απομακρυσμένο υπολογιστή, από τον οποίο θα έχουμε πρόσβαση στον server.3) Οι ρυθμίσεις δίνονται πάντα με την μορφή «Ρύθμιση = προτίμηση», δηλαδή μετά το όνομα της ρύθμισης ακολουθεί κενό, το σύμβολο =, μετά κενό και μετά η προτίμησή μας. Προσοχή διότι αν δεν τεθεί ακριβώς αυτή η μορφή, η ρύθμιση δεν θα ληφθεί υπόψιν.4) Για διευκόλυνσή μας, πριν από κάθε ρύθμιση πατάμε το tab, ώστε οι ρυθμίσεις να είναι ευθυγραμμισμένες και να ξεχωρίζουν εύκολα τα share sections.5) Το ελάχιστο προαπαιτούμενο για κάθε share είναι το όνομά του και η διαδρομή του συστήματος αρχείων στην οποία θα βρίσκεται (δηλαδή θα αντιστοιχεί). Σε όλες σχεδόν τις ρυθμίσεις υπάρχουν defaults επιλογές, οι οποίες χρησιμοποιούνται από τον samba server, αν εμείς δεν τις διευκρινίσουμε. Καλό είναι όμως κάποιες βασικές να τις περιλαμβάνουμε, όπως θα δούμε παρακάτω.6) Τα ονόματα των groups τα οποία θέλουμε να περιλάβουμε σε κάποια ρύθμιση, τίθενται με το σύμβολο @ μπροστά, δηλαδή @groupname. 6.3.3 Βασικές και χρήσιμες επιλογές (ρυθμίσεις) στο αρχείο smb.conf [Το σύμβολο | σημαίνει διάζευξη, δηλαδή μόνο μία ρύθμιση τίθεται πάντοτε] 6.3.3.1 GLOBAL SECTIONworkgroup = WORKGPOUPNAMEΚαθορίζει το Workgroup στο οποίο θα ανήκει ο samba server. Διευκολύνει φυσικά να είναι το ίδιο με όλους τους υπολογιστές Windows. security = user | shareΚαθορίζει τον τρόπο που ο samba server θα ενεργεί την πιστοποίηση των απομακρυσμένων χρηστών. Για τις ανάγκες του server μας, η σωστή ρύθμιση είναι η user. usershare allow guests = yes | noΚαθορίζει αν χρήστες στους οποίους θα έχουμε επιτρέψει να δημιουργούν shares, θα μπορούν να επιτρέπουν σε αυτά τα shares, πρόσβαση από τρίτους που δεν έχουν λογαριασμό samba user. 6.3.3.2 SHARES SECTIONcomment = (όποιο σχόλιο θέλουμε)Εμφανίζει μια περιγραφή του share όταν ο απομακρυσμένος χρήστης φέρνει το ποντίκι (hover) πάνω από το share. path = /some/directoryΗ διαδρομή στο file system του server όπου βρίσκεται το share. browsable = yes | noΚαθορίζει αν το share θα φαίνεται στον απομακρυσμένο υπολογιστή, ανεξαρτήτως αν ο απομακρυσμένος χρήστης έχει ή όχι δικαίωμα πρόσβασης στο share. Default: browsable = yes. read only = yes | noΚαθορίζει αν το share θα είναι μόνο για ανάγνωση ή θα επιτρέπεται και η εγγραφή. Η ίδια ακριβώς ρύθμιση επιτυγχάνεται και με την επόμενη, αλλά από την αντίθετη σκοπιά. Default: read only = yes. writable = yes | noΚαθορίζει αν το share θα είναι εγγράψιμο ή μόνο για ανάγνωση. Το ίδιο με την αμέσως παραπάνω ρύθμιση, αλλά από την αντίθετη σκοπιά. Default: writeable = no. guest ok = yes | noΚαθορίζει αν τρίτοι, χωρίς να έχουν λογαριασμό samba user, θα έχουν πρόσβαση στο share. Default: guest ok = no. valid users = username, @groupnameΚαθορίζει ποιοι χρήστες ή ομάδες χρηστών (groups) και μόνο, θα έχουν πρόσβαση στο share. invalid users = username, @groupnameΚαθορίζει σε ποιους χρήστες ή groups ονομαστικά, θα απαγορεύεται η πρόσβαση. read list = username, @groupnameΚαθορίζει χρήστες ή groups ονομαστικά, οι οποίοι θα έχουν μόνο δικαίωμα ανάγνωσης, ακόμα και αν το share είναι εγγράψιμο (writable). write list = username, @groupnameΚαθορίζει χρήστες ή groups ονομαστικά, οι οποίοι θα έχουν δικαίωμα εγγραφής, ακόμα και αν το share είναι μόνο για ανάγνωση (read only). create mask = 664Καθορίζει τα δικαιώματα με τα οποία θα δημιουργείται ένα νέο αρχείο από τον απομακρυσμένο χρήστη. Ανατρέξτε στο κεφάλαιο 6.1 του παρόντος οδηγού για περισσότερες πληροφορίες. Default: create mask = 0744.Προσοχή: Η ρύθμιση που θα θέσουμε εδώ, δεν υπερκεράζει (ξεπερνά) την ρύθμιση unix που έχει ο server μας στον φάκελο του συγκεκριμένου share. Δηλαδή αν από την unix πλευρά τα δικαιώματα είναι πιο περιορισμένα από την ρύθμιση που θέτουμε ή και την default, θα ισχύσουν τα περιορισμένα unix δικαιώματα. directory mask = 775Καθορίζει τα δικαιώματα με τα οποία θα δημιουργείται ένας νέος φάκελος (directory) από τον απομακρυσμένο χρήστη. Ανατρέξτε στο κεφάλαιο 6.1 του παρόντος οδηγού για περισσότερες πληροφορίες. Default: directory mask = 0755.Προσοχή: Η ρύθμιση που θα θέσουμε εδώ, δεν υπερκεράζει (ξεπερνά) την ρύθμιση unix που έχει ο server μας στον φάκελο του συγκεκριμένου share. Δηλαδή αν από την unix πλευρά τα δικαιώματα είναι πιο περιορισμένα από την ρύθμιση που θέτουμε ή και την default, θα ισχύσουν τα περιορισμένα unix δικαιώματα. force user = usernameΟρίζει ότι οποιοσδήποτε χρήστης και αν συνδέεται στο share, θα θεωρείται ότι συνδέεται σε αυτό ο χρήστης που τίθεται στη ρύθμιση. Έτσι όλοι όσοι συνδέονται στο share, θα έχουν τα δικαιώματα πρόσβασης του χρήστη που τίθεται στη ρύθμιση. force group = groupnameΟρίζει ότι σε οποιοδήποτε πρωταρχικό (primary) group και αν ανήκει ο χρήστης που συνδέεται στο share, θα θεωρείται ότι ανήκει στο primary group που τίθεται στη ρύθμιση. Έτσι όλοι όσοι συνδέονται στο share, θα έχουν τα δικαιώματα πρόσβασης του primary group που τίθεται στη ρύθμιση. Πολύ χρήσιμη ρύθμιση σε περιπτώσεις ομαδικών shares. Εννοείται ότι ο χρήστης θα πρέπει πράγματι να ανήκει και στο συγκεκριμένο group, από την πλευρά των unix groups. Για περισσότερες πληροφορίες σχετικά με τις ατελείωτες πραγματικά ρυθμίσεις του smb.conf, μπορείτε να ανατρέξετε στην επίσημη τεκμηρίωση. Το ίδιο αρχείο υπάρχει και στο λειτουργικό μας, στο οποίο έχουμε πρόσβαση με την εντολήman smb.conf 6.3.4 Δημιουργία shares Ας δημιουργήσουμε λοιπόν μερικά shares στον server μας! Πρώτα αποφασίζουμε σε ποιο φάκελο θα βρίσκεται το share μας. Δημιουργούμε στον φάκελο disk1data του server μας (βλέπετε κεφάλαιο 5.2 του οδηγού) ένα νέο φάκελο με την ονομασία Share1Docs: Παρατηρούμε ότι τα δικαιώματα του φακέλου είναι rwxrwxr-x, δηλαδή οι τρίτοι πλην του owner του φακέλου (αφού και το primary group είναι το ίδιο με του owner), δεν θα έχουν δικαίωμα εγγραφής στο φάκελο, όπως ακριβώς θα έπρεπε να είναι, με βάση την ρύθμιση umask που εξετάσαμε παραπάνω (κεφάλαιο 6.1): Προς το παρόν όμως θέλουμε, στο share που θα δημιουργήσουμε, να έχουμε πρόσβαση μόνο εμείς. Έτσι δεν αλλάζουμε κάτι, αλλά προχωρούμε στη δημιουργία του share.Ανοίγουμε το αρχείο smb.conf με δικαιώματα root με την εντολή:gksudo leafpad /etc/samba/smb.conf Προσθέτουμε στις global ρυθμίσειςworkgroup = WORKGPOUP security = user Δημιουργούμε ένα share με τις εξής ρυθμίσεις[Documents Admin] comment = Admin’s Documents path = /disks/disk1data/Share1Docs browsable = yes read only = no guest ok = no valid users = adminuser Αφού αποθηκεύσουμε και κλείσουμε το αρχείο, ελέγχουμε με την εντολή testparm αν υπάρχει σφάλμα:cd /etc/samba testparm Αν μας πει ότι “Loaded services file OK”, τότε όλα είναι εντάξει με τις ρυθμίσεις μας, τουλάχιστον από τυπικής πλευράς.Επανεκκινούμε την υπηρεσία samba με την παρακάτω εντολή, ώστε να σιγουρευτούμε ότι ενσωματώθηκαν οι ρυθμίσεις που θέσαμε προηγουμένως:sudo systemctl restart smbd.service nmbd.service Και στη συνέχεια βλέπουμε ότι υπάρχει ελεύθερη πλέον η πρόσβαση από τον χρήστη adminuser, από υπολογιστή Windows. Ο χρήστης AdminUser έχει δημιουργήσει το αρχείο Test.txt: Το οποίο όπως βλέπουμε, έχει δημιουργηθεί με δικαιώματα 744, όπως θα έπρεπε, ακολουθώντας την default ρύθμιση της samba για την create mask που εξετάσαμε παραπάνω: Υπενθυμίζουμε για άλλη μια φορά ότι πιο πριν, έχουμε προσθέσει και τον adminuser στους samba users. 6.3.5 Το Homes Share Με παρόμοιο τρόπο με τον παραπάνω μπορούμε να δημιουργήσουμε και άλλα shares. Όμως στον samba server υπάρχει και το ειδικό share [homes], το οποίο αν το θέσουμε σε λειτουργία, δημιουργεί αυτόματα ένα share για κάθε χρήστη, το οποίο είναι ο home folder του στον server. Με αυτό τον απλό τρόπο και με μια απλή ρύθμιση, κάθε χρήστης τον οποίο έχουμε προσθέσει όπως παραπάνω, αποκτά το δικό του share και έτσι δεν χρειάζεται να φτιάχνουμε ατομικά shares, εφόσον ο home folder στον server μας έχει επαρκή χωρητικότητα για τους χρήστες μας και τη χρήση που προβλέπουμε ότι θα γίνει. Το ειδικό αυτό share ενεργοποιείται θέτοντας στο smb.conf τις εξής ρυθμίσεις:[homes] comment = Home of %S valid users = %S read only = no browsable = no Η παράμετρος %S παίρνει το όνομα του εκάστοτε χρήστη που ζητεί πρόσβαση στον server, και έτσι με την επιλογή valid users ο κάθε χρήστης έχει πρόσβαση μόνο στο δικό του home share. Επίσης θέτουμε no στην browsable, ώστε ο κάθε χρήστης να βλέπει μόνο το δικό του share.Έτσι βλέπουμε ότι ο AdminUser αμέσως απέκτησε και το δικό του home share: Στο επόμενο επεισόδιο, θα δούμε με ποιο τρόπο δημιουργούμε κοινόχρηστα shares μεταξύ χρηστών, οπότε και πιθανότατα θα ολοκληρωθεί ο οδηγός αυτός…6.3.6 Κοινόχρηστα Shares Όπως ήδη θα καταλάβατε, είναι πολύ εύκολο να δημιουργήσουμε κοινόχρηστα shares, όπου περισσότεροι του ενός χρήστες θα έχουν πρόσβαση σε αυτό και δικαιώματα ανάγνωσης. Για την ακρίβεια, η default ρύθμιση της samba είναι να φτιάχνει shares με δικαιώματα ανάγνωσης για όλους τους samba users.Έτσι, αν στο share που περιγράψαμε παραπάνω, με τις εξής ρυθμίσεις:[Documents Admin] comment = Admin’s Documents path = /disks/disk1data/Share1Docs browsable = yes read only = no guest ok = no valid users = adminuser αφαιρέσουμε τη ρύθμιση valid users, στο share θα έχουν πρόσβαση ανάγνωσης όλοι οι χρήστες τους οποίους έχουμε προσθέσει ως samba users (βλέπετε κεφάλαιο 6.2).Το να δημιουργήσουμε όμως share στο οποίο θα έχουν δικαίωμα εγγραφής και τροποποίησης περισσότεροι χρήστες, δηλαδή share συνεργασίας όπου κάθε χρήστης θα μπορεί να τροποποιεί το περιεχόμενο του share, δεν είναι το ίδιο εύκολο. Αυτό διότι όπως αναφέραμε σε προηγούμενο σημείο, η samba δεν μπορεί να ξεπεράσει τις ρυθμίσεις και απαγορεύσεις των unix δικαιωμάτων, όποια ρύθμιση και να βάλουμε σε αυτή (βλέπετε κεφάλαιο 6.1).Ακόμα δηλαδή και αν βάλουμε στο share τις εξής ρυθμίσεις:create mask = 666 directory mask = 777δηλώνοντας ότι επιθυμούμε όλοι ανεξαιρέτως οι χρήστες να έχουν δικαιώματα ανάγνωσης και εγγραφής, αυτό επηρεάζει μόνο τις απαγορεύσεις και περιορισμούς που θέτει ή δεν θέτει η samba, και όχι τις ρυθμίσεις των Unix δικαιωμάτων του λειτουργικού. Αυτές καθορίζονται όπως προαναφέραμε από την Umask, η οποία στην default ρύθμισή της, στο Ubuntu, είναι 022, και στην συνηθισμένη εξαίρεσή της που στην πράξη γίνεται κανόνας, 002 (βλέπετε κεφάλαιο 6.1). Οπότε στο εν λόγω share μας, τα αρχεία θα δημιουργούνται με δικαιώματα 664 και οι φάκελοι με δικαιώματα 775. Αυτό σημαίνει ότι όταν ένας χρήστης δημιουργεί ένα αρχείο ή φάκελο, ένας άλλος χρήστης που οι ρυθμίσεις samba θα του δίνουν δικαίωμα πρόσβασης και εγγραφής, στην πραγματικότητα δεν θα έχει δικαίωμα εγγραφής και τροποποίησης. Δεν θα πρέπει να ξεχνάμε ότι στην default ρύθμιση το primary group ενός χρήστη είναι το ίδιο με το όνομά του (owner = primary group, π.χ. adminuser adminuser), οπότε το group δεν προσφέρει ή αλλάζει τίποτα σε σχέση με τα δικαιώματα εγγραφής στο αρχείο ή τον φάκελο. Και πως ξεπερνάμε το εμπόδιο αυτό; Υπάρχουν διάφοροι στρατηγικοί τρόποι προσέγγισης, με τρεις να είναι οι πιο συχνά αναφερόμενοι:1) Αλλάζουμε την umask σε 000. Δεν προτείνεται διότι επηρεάζει όλο το λειτουργικό και όχι μόνο τα samba shares και κρίνεται ως (πολύ) επικίνδυνη για την ασφάλεια του υπολογιστή μας.2) Αλλάζουμε τις ρυθμίσεις του share ώστε κάθε unix χρήστης να έχει δικαίωμα ανάγνωσης και εγγραφής, θέτουμε ως στόχο δηλαδή το 777.3) Αλλάζουμε τις ρυθμίσεις του share με βάση ένα group και δίνουμε απεριόριστη πρόσβαση σε αυτό το group, διατηρώντας την απαγόρευση σε τρίτους, θέτουμε ως στόχο δηλαδή το 775. Ο γράφων προτείνει την τρίτη λύση και αυτή θα παρουσιάσουμε αναλυτικά.Ας το δούμε λοιπόν στην πράξη.Δημιουργούμε τον φάκελο του κοινόχρηστου Share, με το όνομα CommonShare: Παρατηρούμε ότι owner και group owner είναι ο adminuser και ότι ο φάκελος έχει δικαιώματα rwxrwxr-x, δηλαδή μόνο ο adminuser έχει δικαιώματα εγγραφής: Αλλάζουμε τα δικαιώματα σε rwxrwxrwx με την εντολήchmod 777 /disks/disk1data/CommonShare Με τον τρόπο που πλέον γνωρίζουμε, προσθέτουμε το Share με το όνομα Collaboration στο smb.conf:[Collaboration] comment = Common Folder path = /disks/disk1data/CommonShare browsable = yes read only = no guest ok = no create mask = 664 directory mask = 775 Από υπολογιστή Windows, ο χρήστης User1 δημιουργεί το αρχείο Test.txt και τον φάκελο TestFolder1: Όπως βλέπουμε, δικαίωμα ανάγνωσης και εγγραφής έχουν ο owner και το group owner, δηλαδή οι user1 user1, στην πράξη ο χρήστης που έφτιαξε τον φάκελο και το αρχείο. Όπως θα έχετε καταλάβει, όπως είναι οι ρυθμίσεις μέχρι τώρα, κάθε χρήστης από τους samba users του server μας, δηλαδή τους user1, user2 και user3, θα μπορεί να δημιουργεί τους δικούς του φακέλους και αρχεία μέσα στο ίδιο share, αλλά κανείς δεν θα μπορεί να τροποποιεί τα αρχεία του άλλου ή να γράφει μέσα στους φακέλους του. Για να το πετύχουμε αυτό, θα χρησιμοποιήσουμε ένα από τα ειδικά δικαιώματα στους φακέλους, που υπάρχουν στο Unix και που αναφέραμε αμυδρά στο κεφάλαιο 6.1. Θα χρησιμοποιήσουμε το bit setgid όπως λέγεται (set group id), το οποίο συμβολίζεται με το γράμμα s και έχει την εξής λειτουργία: Όταν δημιουργείται ένα αρχείο ή φάκελος μέσα στον φάκελο στον οποίο έχει τεθεί το setgid, τότε στο δημιουργούμενο αυτό αρχείο ή φάκελο, αντί να τεθεί ως group owner το primary group του χρήστη που το δημιουργεί (που είναι το ίδιο με το όνομά του στην default ρύθμιση, όπως έχουμε δει), κληρονομείται το group owner του φακέλου στον οποίο έχουμε θέσει το setgid. Έτσι αν βάλουμε τους χρήστες που θέλουμε σε ένα group, το ορίσουμε ως group owner του φακέλου που περιέχει το share μας, θέσουμε το setgid στον φάκελο αυτόν και θέσουμε την ρύθμιση force group στο smb.conf, όλοι οι χρήστες μας στο εν λόγω share θα μπορούν να κάνουν κυριολεκτικά ό,τι θέλουν! Πάμε να το δούμε στην πράξη:Προσθέτουμε στον server μας το group office και ορίζουμε ως μέλη του τους χρήστες user1, user2 και adminuser (για να έχει και ο διαχειριστής μας πλήρη δικαιώματα), εκτελώντας διαδοχικά τις εξής εντολές:sudo addgroup office sudo adduser user1 office sudo adduser user2 office sudo adduser adminuser office Αλλάζουμε το group owner του φακέλου που περιέχει το share μας (CommonShare) με την εντολή:sudo chown :office /disks/disk1data/CommonShare Θέτουμε σε αυτόν τον φάκελο το bit setgid με την εντολήsudo chmod g+s /disks/disk1data/CommonShare Παρατηρούμε πλέον ότι τα δικαιώματα στον εν λόγω φάκελο είναιrwxrwsrwx Αυτό σημαίνει ότι οτιδήποτε δημιουργείται μέσα στον φάκελο αυτόν από οποιονδήποτε unix χρήστη, θα έχει πλέον ως group owner το group office. Θέτουμε και στο share μας στο αρχείο smb.conf την ρύθμισηforce group = office Και πλέον και από την πλευρά της samba οποιοσδήποτε χρήσης συνδέεται στο share, θα υποδεικνύεται ότι έχει ως primary group το office. Πλέον, όταν σε υπολογιστή Windows ο χρήστης User2 δημιουργήσει τον φάκελο TestFolder2 και μέσα σε αυτόν, τον φάκελο TestFolder3 και το αρχείο Test2.txt: βλέπουμε ότι όλοι αυτοί οι φάκελοι έχουν με τη σειρά τους το bit setgid τεθειμένο, και επομένως όλα τα μέλη του group office μπορούν να κάνουν ότι θέλουν στο share μας! Και εδώ πλέον ολοκληρώθηκε η μεγάλη αυτή πραγματικά διαδρομή, στην προσπάθειά μας για δημιουργία ενός κοινόχρηστου File Server με μόνα όπλα μας την όρεξη για μάθηση και το ανοιχτό δωρεάν λογισμικό, αυτό το υπέροχο λειτουργικό που ακούει στο όνομα Linux. Ελπίζουμε να συνταξιδέψατε μαζί μας και να απολαύσατε τη διαδρομή της γνώσης, όπως έκανε και ο γράφων! Αν έχετε οποιοδήποτε σχόλιο, παρατήρηση, προσθήκη ή ό,τι άλλο, είμαστε στη διάθεσή σας. Ευχαριστούμε που δείξατε την υπομονή να μείνετε μαζί μας μέχρι το τέλος!Δημήτρης. 29 3
Επισκέπτης Δημοσ. 9 Απριλίου 2017 Δημοσ. 9 Απριλίου 2017 Respect. Συγχαρητήρια για τον οδηγό. Εμείς ευχαριστούμε για την αναλυτικότατη παρουσίαση. Stick it.
jim_p Δημοσ. 9 Απριλίου 2017 Δημοσ. 9 Απριλίου 2017 Ενα μπραβο και απο εμενα, με μερικες παρατηρησεις - αποριες: - στην αρχη, περιγραφεις πως θα μπει το lxterminal και λες για το byobu. Απ' οτι καταλαβα, το byobu ειναι ενα utility για το τερματικο που βοηθαει στο υπολοιπο του howto. Αλλα δεν ειδα κατι που να απαιτει το byobu συγκεκριμενα... - το gnome-disk-utility μπορει να αντικατασταθει με το πολυ καλυτερο gparted. - γιατι τα mount points των δισκων τα βαζεις στο /disks και οχι στο /mnt που ειναι για αυτη τη δουλεια? - τελος, αν υπαρχει καποια ρυθμιση στο smb.conf για να μην χρειαζεται ονομα χρηστη και κωδικο στα shares, να ειναι εντελως public δηλαδη, θα ηθελα να την ξερω. Ετσι ειχα το δικο μου μεχρι τη στιγμη που περασα σε samba 4 και το testparm μου εβγαλε deprecated το "securoity = κατι" που ειχα και το αλλαξα σε "security = user" και απο τοτε αναγκαζομαι να βαζω ονομα χρηστη και κωδικο για να συνδεθω.
RTW4ever Δημοσ. 9 Απριλίου 2017 Μέλος Δημοσ. 9 Απριλίου 2017 Ενα μπραβο και απο εμενα, με μερικες παρατηρησεις - αποριες: - στην αρχη, περιγραφεις πως θα μπει το lxterminal και λες για το byobu. Απ' οτι καταλαβα, το byobu ειναι ενα utility για το τερματικο που βοηθαει στο υπολοιπο του howto. Αλλα δεν ειδα κατι που να απαιτει το byobu συγκεκριμενα... - το gnome-disk-utility μπορει να αντικατασταθει με το πολυ καλυτερο gparted. - γιατι τα mount points των δισκων τα βαζεις στο /disks και οχι στο /mnt που ειναι για αυτη τη δουλεια? - τελος, αν υπαρχει καποια ρυθμιση στο smb.conf για να μην χρειαζεται ονομα χρηστη και κωδικο στα shares, να ειναι εντελως public δηλαδη, θα ηθελα να την ξερω. Ετσι ειχα το δικο μου μεχρι τη στιγμη που περασα σε samba 4 και το testparm μου εβγαλε deprecated το "securoity = κατι" που ειχα και το αλλαξα σε "security = user" και απο τοτε αναγκαζομαι να βαζω ονομα χρηστη και κωδικο για να συνδεθω. Ευχαριστώ για τα καλά σας λόγια! Απαντήσεις, όσο μπορώ: -To Byobu είναι ένα front end του LXterminal που δείχνει ταυτόχρονα και στοιχεία ποσοστών χρήσης του υπολογιστή, π.χ. μνήμη, επεξεργαστή, ενώ προσφέρει και αυτόματα χρώματα σε αποτελέσματα ορισμένων εντολών, επομένως είναι λίγο πιο εύχρηστο. Ουσιαστικά τα ίδια μπορείς να κάνεις και με το LXterminal, προφανώς. - Κάνεις λάθος σε αυτό, το gnome disk utility είναι πολύ πιο εύχρηστο στο θέμα των ρυθμίσεων του mount, θυμάμαι όταν πειραματιζόμουν, ότι κάποια πράγματα δεν μπορούσα να τα κάνω με το gparted. Άλλη δουλειά κάνει το ένα, άλλη το άλλο, με κάποιες λειτουργίες να επικαλύπτονται. - Εξηγώ ήδη στον οδηγό, ότι απλά με διευκολύνει εμένα προσωπικά το /disks, και ότι ο καθένας μπορεί να βάλει όποιο σημείο mount point θέλει, φυσικά συμπεριλαμβανομένου και του /mnt. - Θέλεις μόνο ανάγνωση από τον καθένα, ή και εγγραφή; Αν μόνο ανάγνωση, πανεύκολο, βάζεις την επιλογή guest ok = yes και καθάρισες. Αν και εγγραφή, είναι λίγο πιο περίπλοκο και θα στο απαντήσω άλλη μέρα, που θα είμαι στο "εργαστήριό" μου. Μιλάμε για έναν ή πολλούς χρήστες; Πάντως αν ακολουθήσεις πιστά τον οδηγό, ΔΕΝ σου ζητάει ποτέ username και pass όταν συνδέεσαι από WIn, ενώ από Linux σου ζητάει μόνο ΜΙΑ φορά.
jonyli Δημοσ. 29 Απριλίου 2017 Δημοσ. 29 Απριλίου 2017 Σε ευχαριστω πολυ για τον αψογο οδηγο.Πιστευω οτι ειναι οτι καλυτερο υπαρχει για το θεμα αυτο.Και παλι ευχαριστω για το κοπο σου και το μερακι σου. 1
in2dark Δημοσ. 2 Μαΐου 2017 Δημοσ. 2 Μαΐου 2017 Ναι πραγματικα ειναι με διαφορα οτι πιο χρησιμο εχω διαβασει. Να ριξω ιδεα; Αν κουμπωνε με τοσο τελειες οδηγιες στο ιδιο μηχανημα ενα Torrent σερβερακι με χρηση απο το κινητο Και Owncloud για προσωπικο cloud Λεω αν.... Και μετα να του βαζαμε και κανα vm τηλεφωνικο κεντρο που ειναι ευκολακι με ετοιμες λυσεις Και ολα αυτα να δουλευουν απο ενα μηχανακι... Τι καλα???? 1
jim_p Δημοσ. 10 Ιουνίου 2017 Δημοσ. 10 Ιουνίου 2017 Δεν μπορω να συνδεθω στα samba shares μου (samba 4.5.8 σε debian unstable) απο ενα λαπτοπ με xp (το οποιο θα παραμεινει με xp ). Που μπορω να κοιταξω για καποιο log? Το ιδιο συμβαινει και σε ενα vm με xp που εκανα μολις τωρα. Απο τα windows 7 μου μπαινει κανονικα..
billys7 Δημοσ. 29 Οκτωβρίου 2019 Δημοσ. 29 Οκτωβρίου 2019 Καλημέρα, Με ενδιαφέρει η ανάγνωση των παραπάνω οδηγιών, όμως πλέον δε φαίνονται οι εικόνες και δεν μπορώ να την ακολουθήσω. Υπάρχει μήπως με κάποια άλλη μορφή, όπως pdf ? Είναι κρίμα να χαθεί γι΄αυτό το λόγο.
RTW4ever Δημοσ. 8 Νοεμβρίου 2019 Μέλος Δημοσ. 8 Νοεμβρίου 2019 Στις 29/10/2019 στις 1:02 ΜΜ, billys7 είπε Καλημέρα, Με ενδιαφέρει η ανάγνωση των παραπάνω οδηγιών, όμως πλέον δε φαίνονται οι εικόνες και δεν μπορώ να την ακολουθήσω. Υπάρχει μήπως με κάποια άλλη μορφή, όπως pdf ? Είναι κρίμα να χαθεί γι΄αυτό το λόγο. Οι εικόνες ήταν ανεβασμένες στο Photobucket, το οποίο αργότερα έπαψε να είναι δωρεάν, οπότε μου έσβησαν όλες τις εικόνες. Δεν υπάρχουν πλέον. Για την έκδοση Ubuntu Server 18.04 οι οδηγίες χρειάζονται επικαιροποίηση, σχετικά με τον network manager και την απόδοση σταθερής IP address. Για την 16.04 ο οδηγός ισχύει με απόλυτη επιτυχία.
billys7 Δημοσ. 8 Νοεμβρίου 2019 Δημοσ. 8 Νοεμβρίου 2019 Καλησπέρα και σε ευχαριστώ για την απάντηση. Μήπως τις έχεις πουθενά, και θα βρεθεί ο τρόπος να μου τις στείλεις. Θα προσπαθήσω να τις κάνω σε pdf
RTW4ever Δημοσ. 8 Νοεμβρίου 2019 Μέλος Δημοσ. 8 Νοεμβρίου 2019 Όχι, δεν τις έχω. Ελάχιστη γνώση Linux να έχεις, δεν χρειάζονται. Μόνο αν δεν έχεις ξαναπιάσει Linux στη ζωή σου, θα σου ήταν απαραίτητες. Ο οδηγός απευθύνεται ακριβώς σε τέτοιους ανθρώπους, αλλά μπορεί να χρησιμοποιηθεί και από πολύ προχωρημένους. Να πω επίσης πως σκέφτομαι να τον ξαναγράψω επικαιροποιημένο για την έκδοση 20.04 αφού κυκλοφορήσει, καθώς τότε και εγώ θα αναβαθμίσω τον Server μου από την 16.04 που έχει τώρα. Οπότε αν έχεις υπομονή, κάποια στιγμή το επόμενο καλοκαίρι...
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα