Android

So installieren und konfigurieren Sie Samba auf Centos 7

So erstellen Sie einen Ubuntu Active Directory-Domänencontroller mit Samba 4

So erstellen Sie einen Ubuntu Active Directory-Domänencontroller mit Samba 4

Inhaltsverzeichnis:

Anonim

Samba ist eine kostenlose und Open-Source-Neuimplementierung des SMB / CIFS-Netzwerk-File-Sharing-Protokolls, mit dem Endbenutzer auf Dateien, Drucker und andere freigegebene Ressourcen zugreifen können.

In diesem Tutorial wird gezeigt, wie Samba unter CentOS 7 installiert und als eigenständiger Server konfiguriert wird, um die gemeinsame Nutzung von Dateien auf verschiedenen Betriebssystemen über ein Netzwerk zu ermöglichen.

Wir werden die folgenden Samba-Freigaben und Benutzer erstellen.

Benutzer:

  • sadmin - Ein Administrator mit Lese- und Schreibzugriff auf alle Freigaben. josh - Ein regulärer Benutzer mit einer eigenen privaten Dateifreigabe.

Anteile:

  • Benutzer - Auf diese Freigabe können alle Benutzer mit Lese- / Schreibberechtigungen zugreifen. josh - Auf diese Freigabe können nur Benutzer josh und sadmin mit Lese- / Schreibrechten zugreifen.

Auf die Dateifreigaben kann von allen Geräten in Ihrem Netzwerk zugegriffen werden. Später im Tutorial werden wir auch detaillierte Anweisungen zum Herstellen einer Verbindung zum Samba-Server von Linux-, Windows- und macOS-Clients aus geben.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie als Benutzer mit sudo-Berechtigungen bei Ihrem CentOS 7-System angemeldet sind.

Installation von Samba unter CentOS

Samba ist in den Standard-CentOS-Repositorys verfügbar. Führen Sie den folgenden Befehl aus, um es auf Ihrem CentOS-System zu installieren:

sudo yum install samba samba-client

Starten Sie nach Abschluss der Installation die Samba-Dienste und aktivieren Sie sie für den automatischen Start beim Systemstart:

sudo systemctl start smb.service sudo systemctl start nmb.service

sudo systemctl enable smb.service sudo systemctl enable nmb.service

Der smbd Dienst bietet Dateifreigabe- und Druckdienste und nmbd TCP-Ports 139 und 445. Der nmbd Dienst stellt den Clients NetBIOS über IP- nmbd zur Verfügung und nmbd UDP-Port 137.

Firewall konfigurieren

Nachdem Samba auf Ihrem CentOS-Computer installiert ist und ausgeführt wird, müssen Sie Ihre Firewall konfigurieren und die erforderlichen Ports öffnen. Führen Sie dazu die folgenden Befehle aus:

firewall-cmd --permanent --zone=public --add-service=samba firewall-cmd --zone=public --add-service=samba

Samba-Benutzer und Verzeichnisstruktur erstellen

Um die Wartung und Flexibilität zu vereinfachen, anstatt die Standard-Home-Verzeichnisse ( /home/user ) zu verwenden, befinden sich alle Samba-Verzeichnisse und /samba Verzeichnis /samba .

Beginnen Sie, indem Sie das Verzeichnis /samba erstellen:

sudo mkdir /samba

Erstellen Sie eine neue Gruppe mit dem Namen sambashare . Später werden wir alle Samba-Benutzer zu dieser Gruppe hinzufügen.

sudo groupadd sambashare

Setzen Sie den Besitz der /samba Verzeichnisgruppe auf sambashare :

sudo chgrp sambashare /samba

Samba verwendet Linux-Benutzer und Gruppenberechtigungssysteme, verfügt jedoch über einen eigenen Authentifizierungsmechanismus, der sich von der Standard-Linux-Authentifizierung unterscheidet. Wir werden die Benutzer mit dem Standard-Linux-Tool useradd und dann das Benutzerkennwort mit dem Dienstprogramm smbpasswd .

Wie in der Einführung erwähnt, erstellen wir einen regulären Benutzer, der Zugriff auf seine private Dateifreigabe und ein Administratorkonto mit Lese- und Schreibzugriff auf alle Freigaben auf dem Samba-Server hat.

Samba-Benutzer anlegen

Verwenden Sie den folgenden Befehl, um einen neuen Benutzer mit dem Namen josh zu erstellen:

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

Die useradd Optionen haben folgende Bedeutung:

  • -M -das Home-Verzeichnis des Benutzers wird nicht erstellt. Wir werden dieses Verzeichnis manuell erstellen. -d /samba/josh - -d /samba/josh das Home-Verzeichnis des Benutzers auf /samba/josh . -s /usr/sbin/nologin - Deaktiviert den Shell-Zugriff für diesen Benutzer. -G sambashare - -G sambashare den Benutzer der sambashare Gruppe hinzu.

Erstellen Sie das sambashare des Benutzers und setzen Sie das Verzeichnis auf Benutzer josh und group sambashare :

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

Der folgende Befehl fügt das setgid-Bit zum Verzeichnis /samba/josh sodass die neu erstellten Dateien in diesem Verzeichnis die Gruppe des übergeordneten Verzeichnisses erben. Auf diese Weise hat die Datei unabhängig davon, welcher Benutzer eine neue Datei erstellt, den Gruppeneigentümer von sambashare . Wenn Sie beispielsweise die Berechtigungen des Verzeichnisses nicht auf 2770 und der Benutzer sadmin eine neue Datei erstellt, kann der Benutzer josh nicht in diese Datei lesen / schreiben.

sudo chmod 2770 /samba/josh

Fügen Sie das josh Benutzerkonto zur Samba-Datenbank hinzu, indem Sie das Benutzerkennwort festlegen:

sudo smbpasswd -a josh

Sie werden aufgefordert, das Benutzerpasswort einzugeben und zu bestätigen.

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

Aktivieren Sie nach dem Festlegen des Kennworts das Samba-Konto, indem Sie Folgendes eingeben:

sudo smbpasswd -e josh

Enabled user josh.

Um einen weiteren Benutzer anzulegen, wiederholen Sie den gleichen Vorgang wie beim Anlegen des Benutzers josh .

Als nächstes erstellen wir einen Benutzer und eine Gruppe sadmin . Alle Mitglieder dieser Gruppe haben Administratorrechte. Wenn Sie später einem anderen Benutzer Administratorrechte erteilen möchten, fügen Sie diesen Benutzer einfach der sadmin Gruppe hinzu.

Erstellen Sie den Administrator, indem Sie Folgendes eingeben:

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

Der obige Befehl erstellt auch eine Gruppe sadmin und fügt den Benutzer sowohl zu sadmin als auch zu sambashare Gruppen hinzu.

Legen Sie ein Passwort fest und aktivieren Sie den Benutzer:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Erstellen Sie als Nächstes das Users :

sudo mkdir /samba/users

sadmin Sie den Verzeichnisbesitz auf Benutzer sadmin und Gruppe sambashare :

sudo chown sadmin:sambashare /samba/users

Auf dieses Verzeichnis können alle authentifizierten Benutzer zugreifen. Der folgende Befehl konfiguriert den Schreib- / Lesezugriff auf Mitglieder der sambashare Gruppe im Verzeichnis /samba/users :

sudo chmod 2770 /samba/users

Konfigurieren von Samba-Freigaben

Öffnen Sie die Samba-Konfigurationsdatei und hängen Sie die Abschnitte an:

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

Die Optionen haben folgende Bedeutung:

  • und - Die Namen der Freigaben, die Sie beim Anmelden verwenden. path - Der Pfad zur Freigabe. browseable - browseable ob die Freigabe in der Liste der verfügbaren Freigaben aufgeführt werden soll. Wenn Sie diese Option auf " no andere Benutzer die Freigabe nicht sehen. read only - Gibt an, ob die in der Liste der valid users Benutzer angegebenen valid users auf diese Freigabe schreiben können. force create mode - Legt die Berechtigungen für die neu erstellten Dateien in dieser Freigabe fest. force directory mode - Legt die Berechtigungen für die neu erstellten Verzeichnisse in dieser Freigabe fest. valid users - Eine Liste der Benutzer und Gruppen, die auf die Freigabe zugreifen dürfen. Gruppen wird das @ -Symbol vorangestellt.

Weitere Informationen zu den verfügbaren Optionen finden Sie auf der Dokumentationsseite der Samba-Konfigurationsdatei.

Starten Sie danach die Samba-Dienste neu mit:

sudo systemctl restart smb.service sudo systemctl restart nmb.service

In den folgenden Abschnitten zeigen wir Ihnen, wie Sie von Linux-, MacOS- und Windows-Clients aus eine Verbindung zu einer Samba-Freigabe herstellen.

Herstellen einer Verbindung zu einer Samba-Freigabe unter Linux

Linux-Benutzer können über die Befehlszeile mit dem Dateimanager auf die Samba-Freigabe zugreifen oder die Samba-Freigabe mounten.

Verwendung des smbclient-Clients

smbclient ist ein Tool, mit dem Sie über die Befehlszeile auf Samba zugreifen können. Das smbclient Paket ist auf den meisten Linux-Distributionen nicht vorinstalliert, daher müssen Sie es mit Ihrem Distributionspaket-Manager installieren.

So installieren Sie smbclient unter Ubuntu und Debian:

sudo apt install smbclient

So installieren Sie smbclient unter CentOS und Fedora:

sudo yum install samba-client

Die Syntax für den Zugriff auf eine Samba-Freigabe lautet wie folgt:

mbclient //samba_hostname_or_server_ip/share_name -U username

Um beispielsweise eine Verbindung zu einer Freigabe mit dem Namen josh auf einem Samba-Server mit der IP-Adresse 192.168.121.118 als Benutzer josh , würden Sie josh ausführen:

smbclient //192.168.121.118/josh -U josh

Sie werden aufgefordert, das Benutzerpasswort einzugeben.

Enter WORKGROUP\josh's password:

Sobald Sie das Kennwort eingegeben haben, werden Sie an der Samba-Befehlszeilenschnittstelle angemeldet.

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

Mounten der Samba-Freigabe

Um eine Samba-Freigabe unter Linux cifs-utils müssen Sie zuerst das cifs-utils Paket installieren.

Auf Ubuntu und Debian laufen:

sudo apt install cifs-utils

Auf CentOS und Fedora laufen:

sudo yum install cifs-utils

Erstellen Sie als Nächstes einen Einhängepunkt:

sudo mkdir /mnt/smbmount

Hängen Sie die Freigabe mit dem folgenden Befehl ein:

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

Um beispielsweise eine Freigabe mit dem Namen josh auf einem Samba-Server mit der IP-Adresse 192.168.121.118 als Benutzer josh an den Mount-Punkt /mnt/smbmount mounten, würden Sie /mnt/smbmount ausführen:

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

Sie werden aufgefordert, das Benutzerpasswort einzugeben.

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

GUI verwenden

Dateien, der Standard-Dateimanager in Gnome hat eine eingebaute Option, um auf Samba-Freigaben zuzugreifen.

  1. Öffnen Sie Dateien und klicken Sie in der Seitenleiste auf "Other Locations". Geben Sie unter "Connect to Server" die Adresse der Samba-Freigabe im folgenden Format smb://samba_hostname_or_server_ip/sharename Klicken Sie auf "Connect". Der folgende Bildschirm erscheint:

Fazit

In diesem Tutorial haben Sie gelernt, wie Sie einen Samba-Server unter CentOS 7 installieren und verschiedene Arten von Freigaben und Benutzern erstellen. Wir haben Ihnen auch gezeigt, wie Sie von Linux-, MacOS- und Windows-Geräten aus eine Verbindung zum Samba-Server herstellen.

Samba Centos