Android

Πώς να εγκαταστήσετε και να διαμορφώσετε το samba στο ubuntu 18.04

Πώς να διαμορφώσετε και να καθαρίσετε Εγκαταστήστε τα Windows 10 Tutorial

Πώς να διαμορφώσετε και να καθαρίσετε Εγκαταστήστε τα Windows 10 Tutorial

Πίνακας περιεχομένων:

Anonim

Η Samba είναι μια δωρεάν και ανοιχτού κώδικα εκ νέου υλοποίηση του πρωτοκόλλου ανταλλαγής αρχείων δικτύου SMB / CIFS που επιτρέπει στους τελικούς χρήστες να έχουν πρόσβαση σε αρχεία, εκτυπωτές και άλλους κοινόχρηστους πόρους.

Αυτό το σεμινάριο εξηγεί πώς να εγκαταστήσετε το Samba στο Ubuntu 18.04 και να το διαμορφώσετε ως αυτόνομο διακομιστή για την κοινή χρήση αρχείων σε διάφορα λειτουργικά συστήματα μέσω δικτύου.

Θα δημιουργήσουμε τις ακόλουθες μετοχές και χρήστες της Samba.

Χρήστες:

  • sadmin - Ένας διαχειριστής χρήστης με πρόσβαση ανάγνωσης και εγγραφής σε όλες τις μετοχές. josh - Ένας κανονικός χρήστης με το δικό του μερίδιο ιδιωτικού αρχείου.

Μερίδια:

  • χρήστες - Αυτό το κοινόχρηστο στοιχείο θα είναι προσβάσιμο με δικαιώματα ανάγνωσης / εγγραφής από όλους τους χρήστες. josh - Αυτό το κοινόχρηστο στοιχείο θα είναι προσβάσιμο με δικαιώματα ανάγνωσης / εγγραφής μόνο από τους χρήστες josh και sadmin.

Τα κοινόχρηστα αρχεία θα είναι προσβάσιμα από όλες τις συσκευές του δικτύου σας. Αργότερα σε αυτό το σεμινάριο, θα παρέχουμε επίσης λεπτομερείς οδηγίες σχετικά με τον τρόπο σύνδεσης με το διακομιστή Samba από πελάτες Linux, Windows και macOS.

Προϋποθέσεις

Πριν συνεχίσετε, βεβαιωθείτε ότι είστε συνδεδεμένοι στο σύστημα Ubuntu 18.04 ως χρήστης με δικαιώματα sudo.

Εγκατάσταση του Samba στο Ubuntu

Το Samba διατίθεται από τα επίσημα αποθετήρια του Ubuntu. Για να το εγκαταστήσετε στο σύστημα Ubuntu ακολουθήστε τα παρακάτω βήματα:

  1. Ξεκινήστε ενημερώνοντας τον ευρετήριο των πακέτων apt:

    sudo apt update

    Εγκαταστήστε το πακέτο Samba με την ακόλουθη εντολή:

    sudo apt install samba

    Μόλις ολοκληρωθεί η εγκατάσταση, η υπηρεσία Samba θα ξεκινήσει αυτόματα. Για να ελέγξετε αν ο διακομιστής Samba εκτελείται, πληκτρολογήστε:

    sudo systemctl status smbd

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

    ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 15142 (smbd) Status: "smbd: ready to serve connections…" Tasks: 4 (limit: 1152) CGroup: /system.slice/smbd.service…

Σε αυτό το σημείο, η Samba έχει εγκατασταθεί και είναι έτοιμη να διαμορφωθεί.

Ρύθμιση του τείχους προστασίας

Υποθέτοντας ότι χρησιμοποιείτε το UFW για τη διαχείριση του τείχους προστασίας, μπορείτε να ανοίξετε τις θύρες ενεργοποιώντας το προφίλ του Samba:

sudo ufw allow 'Samba'

Ρύθμιση παραμέτρων επιλογών παγκόσμιου Samba

Πριν κάνετε αλλαγές στο αρχείο ρυθμίσεων Samba, δημιουργήστε ένα αντίγραφο ασφαλείας για μελλοντικούς σκοπούς αναφοράς:

sudo cp /etc/samba/smb.conf{,.backup}

Το προεπιλεγμένο αρχείο ρυθμίσεων που παραδίδεται με το πακέτο Samba έχει ρυθμιστεί για αυτόνομο διακομιστή Samba. Ανοίξτε το αρχείο και βεβαιωθείτε ότι ο server role έχει οριστεί σε standalone server

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

… # Most people will want "standalone sever" or "member server". # Running as "active directory domain controller" will require first # running "samba-tool domain provision" to wipe databases and create a # new domain. server role = standalone server…

Από προεπιλογή, η Samba ακούει σε όλες τις διεπαφές. Εάν θέλετε να περιορίσετε την πρόσβαση στο διακομιστή Samba μόνο από το εσωτερικό σας δίκτυο, κάντε αποσύνδεση των ακόλουθων δύο γραμμών και καθορίστε τις διεπαφές για να συνδέσετε:

/etc/samba/smb.conf

… # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes…

Μόλις εκτελέσετε το βοηθητικό πρόγραμμα testparm για να ελέγξετε το αρχείο διαμόρφωσης Samba για σφάλματα. Αν δεν υπάρχουν σφάλματα σύνταξης, θα δείτε το Loaded services file OK.

Τέλος, επανεκκινήστε τις υπηρεσίες Samba με:

sudo systemctl restart smbd sudo systemctl restart nmbd

Δημιουργία χρηστών Samba και δομής καταλόγου

Για ευκολότερη συντήρηση και ευελιξία αντί να χρησιμοποιείτε τους τυπικούς οικιακούς καταλόγους ( /home/user ), όλοι οι κατάλογοι Samba και τα δεδομένα θα βρίσκονται στον κατάλογο /samba .

Για να δημιουργήσετε τον τύπο καταλόγου /samba :

sudo mkdir /samba

Ορίστε την ιδιοκτησία ομάδας στο sambashare . Αυτή η ομάδα δημιουργείται κατά τη διάρκεια της εγκατάστασης Samba, αργότερα θα προσθέσουμε όλους τους χρήστες της Samba σε αυτήν την ομάδα.

sudo chgrp sambashare /samba

Η Samba χρησιμοποιεί το σύστημα χρηστών του Linux και το σύστημα δικαιωμάτων ομάδας, αλλά έχει δικό του μηχανισμό ελέγχου ταυτότητας ξεχωριστά από τον τυπικό έλεγχο ταυτότητας Linux. Θα δημιουργήσουμε τους χρήστες χρησιμοποιώντας το τυπικό εργαλείο useradd Linux και στη συνέχεια θα ορίσουμε τον κωδικό χρήστη με το βοηθητικό πρόγραμμα smbpasswd .

Όπως αναφέρθηκε στην εισαγωγή, θα δημιουργήσουμε έναν κανονικό χρήστη που θα έχει πρόσβαση στο κοινόχρηστο αρχείο του και έναν διαχειριστικό λογαριασμό με πρόσβαση ανάγνωσης και εγγραφής σε όλες τις μετοχές του διακομιστή Samba.

Δημιουργία χρηστών Samba

Για να δημιουργήσετε ένα νέο χρήστη που ονομάζεται josh χρησιμοποιήστε την ακόλουθη εντολή:

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

Οι επιλογές useradd έχουν τις ακόλουθες έννοιες:

  • -M -Δεν δημιουργεί τον οικείο κατάλογο του χρήστη. Θα δημιουργήσουμε με μη αυτόματο τρόπο αυτόν τον κατάλογο. -d /samba/josh - ορίστε τον αρχικό κατάλογο του χρήστη στο /samba/josh . -s /usr/sbin/nologin - απενεργοποιήστε την πρόσβαση κελύφους για αυτόν τον χρήστη. -G sambashare - προσθέστε τον χρήστη στην ομάδα sambashare .

Δημιουργήστε τον αρχικό κατάλογο του χρήστη και ορίστε την ιδιοκτησία του καταλόγου στον χρήστη sambashare και group sambashare :

sudo mkdir /samba/josh sudo chown josh:sambashare /samba/josh

Η ακόλουθη εντολή θα προσθέσει το bit setgid στον κατάλογο /samba/josh , έτσι ώστε τα πρόσφατα δημιουργημένα αρχεία σε αυτόν τον κατάλογο να κληρονομήσουν την ομάδα του γονικού καταλόγου. Με αυτόν τον τρόπο, ανεξάρτητα από το ποιος χρήστης δημιουργεί ένα νέο αρχείο, το αρχείο θα έχει ιδιοκτήτη ομάδας του sambashare . Για παράδειγμα, εάν δεν ρυθμίσετε τα δικαιώματα του καταλόγου σε 2770 και ο χρήστης sadmin δημιουργεί ένα νέο αρχείο, ο χρήστης josh δεν θα μπορεί να διαβάζει / γράφει σε αυτό το αρχείο.

sudo chmod 2770 /samba/josh

Προσθέστε τον λογαριασμό χρήστη josh στη βάση δεδομένων Samba ορίζοντας τον κωδικό πρόσβασης χρήστη:

sudo smbpasswd -a josh

Θα σας ζητηθεί να εισαγάγετε και να επιβεβαιώσετε τον κωδικό πρόσβασης χρήστη.

New SMB password: Retype new SMB password: Added user josh.

Μόλις ο κωδικός πρόσβασης οριστεί για να ενεργοποιήσετε την εκτέλεση του λογαριασμού Samba:

sudo smbpasswd -e josh

Enabled user josh.

Για να δημιουργήσετε έναν άλλο χρήστη, επαναλάβετε την ίδια διαδικασία με τη δημιουργία του χρήστη josh .

Στη συνέχεια, ας δημιουργήσουμε ένα χρήστη και ομάδα sadmin . Όλα τα μέλη αυτής της ομάδας θα έχουν δικαιώματα διαχειριστή. Αργότερα, εάν θέλετε να χορηγήσετε δικαιώματα διαχειριστή σε άλλο χρήστη, απλώς προσθέστε αυτόν τον χρήστη στην ομάδα sadmin .

Δημιουργήστε το χρήστη διαχειριστή πληκτρολογώντας:

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

Η παραπάνω εντολή θα δημιουργήσει μια ομάδα sadmin και θα προσθέσει τον χρήστη στις ομάδες sadmin και sambashare .

Ορίστε έναν κωδικό πρόσβασης και ενεργοποιήστε τον χρήστη:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Στη συνέχεια, δημιουργήστε τον κατάλογο κοινόχρηστων Users :

sudo mkdir /samba/users

Ρυθμίστε την ιδιοκτησία καταλόγου στον χρήστη sadmin και group sambashare :

sudo chown sadmin:sambashare /samba/users

Αυτός ο κατάλογος θα είναι προσβάσιμος από όλους τους χρήστες που έχουν πιστοποιηθεί. Η ακόλουθη εντολή chmod δίνει πρόσβαση εγγραφής / ανάγνωσης στα μέλη της ομάδας sambashare στον κατάλογο /samba/users :

sudo chmod 2770 /samba/users

Διαμόρφωση των μετοχών της Samba

Ανοίξτε το αρχείο διαμόρφωσης Samba και προσθέστε τις ενότητες:

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin

Οι επιλογές έχουν τις ακόλουθες έννοιες:

  • και - Τα ονόματα των μετοχών που θα χρησιμοποιήσετε κατά την είσοδο στη path . - Η διαδρομή προς το κοινόχρηστο στοιχείο. browseable - Αν το κοινόχρηστο στοιχείο πρέπει να αναφέρεται στη λίστα των διαθέσιμων μετοχών. Με τη ρύθμιση σε no άλλο χρήστη δεν θα είναι δυνατή η προβολή του μεριδίου. read only - Εάν οι χρήστες που προσδιορίζονται στη λίστα valid users είναι σε θέση να γράψουν σε αυτό το κοινόχρηστο στοιχείο. force create mode - Ρυθμίζει τα δικαιώματα για τα πρόσφατα δημιουργημένα αρχεία σε αυτό το κοινόχρηστο στοιχείο. force directory mode - Ρυθμίζει τα δικαιώματα για τους νεοδημιουργημένους καταλόγους σε αυτό το κοινόχρηστο στοιχείο. valid users - Λίστα χρηστών και ομάδων που επιτρέπεται να έχουν πρόσβαση στην κοινή χρήση. Οι ομάδες έχουν πρόθεμα με το σύμβολο @ .

Για περισσότερες πληροφορίες σχετικά με τις διαθέσιμες επιλογές, ανατρέξτε στη σελίδα τεκμηρίωσης του αρχείου ρυθμίσεων Samba.

Μόλις ολοκληρωθεί, επανεκκινήστε τις υπηρεσίες Samba με:

sudo systemctl restart smbd sudo systemctl restart nmbd

Στις επόμενες ενότητες θα σας δείξουμε πώς να συνδεθείτε με ένα κοινόχρηστο στοιχείο Samba από πελάτες Linux, macOS και Windows.

Σύνδεση με ένα Samba Share από το Linux

Οι χρήστες του Linux μπορούν να έχουν πρόσβαση στο share samba από τη γραμμή εντολών, χρησιμοποιώντας το διαχειριστή αρχείων ή να τοποθετήσουν το κοινόχρηστο στοιχείο Samba.

Χρησιμοποιώντας τον πελάτη smbclient

smbclient είναι ένα εργαλείο που σας επιτρέπει να έχετε πρόσβαση στη Samba από τη γραμμή εντολών. Το πακέτο smbclient δεν είναι προεγκατεστημένο στις περισσότερες διανομές Linux, επομένως θα πρέπει να το εγκαταστήσετε με το διαχειριστή πακέτων διανομής.

Για να εγκαταστήσετε το smbclient στο Ubuntu και στο Debian τρέξτε:

sudo apt install smbclient

Για να εγκαταστήσετε το smbclient σε CentOS και Fedora εκτελέστε:

sudo yum install samba-client

Η σύνταξη για πρόσβαση σε μια μετοχή της Samba έχει ως εξής:

mbclient //samba_hostname_or_server_ip/share_name -U username

Για παράδειγμα, για να συνδεθείτε σε ένα κοινόχρηστο στοιχείο που ονομάζεται josh σε ένα διακομιστή Samba με διεύθυνση IP 192.168.121.118 ως χρήστης josh θα εκτελέσετε:

smbclient //192.168.121.118/josh -U josh

Θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασης χρήστη.

Enter WORKGROUP\josh's password:

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

Try "help" to get a list of possible commands. smb: \>

Τοποθέτηση του μεριδίου Samba

Για να εγκαταστήσετε μια μετοχή Samba στο Linux πρώτα, πρέπει να εγκαταστήσετε το cifs-utils .

Στο Ubuntu και στο Debian τρέχει:

sudo apt install cifs-utils

Στο CentOS και το Fedora τρέχει:

sudo yum install cifs-utils

Στη συνέχεια, δημιουργήστε ένα σημείο προσάρτησης:

sudo mkdir /mnt/smbmount

Τοποθετήστε το κοινόχρηστο στοιχείο χρησιμοποιώντας την ακόλουθη εντολή:

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

Για παράδειγμα, για να τοποθετήσετε ένα κοινόχρηστο στοιχείο που ονομάζεται josh σε ένα διακομιστή Samba με διεύθυνση IP 192.168.121.118 ως χρήστη /mnt/smbmount σημείο mount /mnt/smbmount που θα εκτελέσετε:

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

Θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασης χρήστη.

Password for josh@//192.168.121.118/josh: ********

Χρησιμοποιώντας το GUI

Αρχεία, ο προεπιλεγμένος διαχειριστής αρχείων στο Gnome διαθέτει ενσωματωμένη επιλογή για πρόσβαση σε μετοχές της Samba.

  1. Ανοίξτε τα αρχεία και κάντε κλικ στο "Άλλες τοποθεσίες" στην πλαϊνή γραμμή.Στο "Σύνδεση με το διακομιστή", πληκτρολογήστε τη διεύθυνση του μεριδίου Samba με την ακόλουθη μορφή smb://samba_hostname_or_server_ip/sharename Κάντε κλικ στο "Connect" και θα εμφανιστεί η ακόλουθη οθόνη:

συμπέρασμα

Σε αυτό το σεμινάριο, έχετε μάθει πώς να εγκαταστήσετε το διακομιστή Samba στο Ubuntu 18.04 και να δημιουργήσετε διαφορετικούς τύπους κοινόχρηστων και χρηστών. Έχουμε σας δείξει επίσης πώς να συνδεθείτε με τον διακομιστή Samba από Linux, macOS και συσκευές Windows.

samba ubuntu