So erstellen Sie einen Ubuntu Active Directory-Domänencontroller mit Samba 4
Inhaltsverzeichnis:
- Voraussetzungen
- Installation von Samba unter CentOS
- Firewall konfigurieren
- Samba-Benutzer und Verzeichnisstruktur erstellen
- Samba-Benutzer anlegen
- Konfigurieren von Samba-Freigaben
- Herstellen einer Verbindung zu einer Samba-Freigabe unter Linux
- Verwendung des smbclient-Clients
- Mounten der Samba-Freigabe
- GUI verwenden
- Fazit
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 dersambashare
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
:
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:
-
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 dervalid users
Benutzer angegebenenvalid 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.
- Ö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 CentosSo installieren und konfigurieren Sie redmine auf centos 7
Redmine ist eines der beliebtesten Tools für Open Source-Projektmanagement und Issue-Tracking. Dieses Tutorial behandelt die Schritte, die zur Installation und Konfiguration von Redmine unter CentOS 7 erforderlich sind.
So installieren und konfigurieren Sie vnc auf centos 7
In diesem Tutorial werden wir Sie durch die Schritte zur Installation und Konfiguration eines VNC-Servers auf einem CentOS 7-System führen. Wir zeigen Ihnen auch, wie Sie eine sichere Verbindung zum VNC-Server über einen SSH-Tunnel herstellen.
So installieren und konfigurieren Sie Samba unter Ubuntu 18.04
In diesem Tutorial wird erklärt, wie Sie Samba unter Ubuntu 18.04 installieren und als eigenständigen Server konfigurieren, um die gemeinsame Nutzung von Dateien auf verschiedenen Betriebssystemen über ein Netzwerk zu ermöglichen. Wir werden auch detaillierte Anweisungen zum Herstellen einer Verbindung zum Samba-Server von Linux-, Windows- und macOS-Clients aus bereitstellen.