Die gemeinsame Nutzung von Dateien ist ein wesentlicher Bestandteil der Serververwaltung. Es ermöglicht die gemeinsame Nutzung von Ressourcen im gesamten Netzwerk, die von Benutzern zur Ausführung ihrer Aufgaben benötigt werden. Der Samba-Server wird normalerweise auf einem zentralen Linux-Server installiert, auf dem Informationen auf verschiedenen Medien gespeichert werden und auf die über einen Windows-Client oder Linux mit einem Samba-Client zugegriffen wird.
In diesem Artikel erfahren Sie, wie Sie die Samba-Dateifreigabe auf Rocky Linux 8 installieren und konfigurieren. Dieses Handbuch funktioniert auch auf anderen RHEL 8-basierten Distributionen wie Alma Linux 8 und Oracle Linux 8.
Rocky Linux 8 wird als Samba-Server konfiguriert, dann können wir entweder mit Windows- oder Linux-Clients auf die Dateien zugreifen.
Verwandte Inhalte
- So installieren und konfigurieren Sie die Samba-Dateifreigabe unter Ubuntu 20.04
Inhaltsverzeichnis
- Sicherstellen, dass der Server auf dem neuesten Stand ist
- Samba-Pakete installieren
- Samba-Freigaben konfigurieren
- Samba-Dienst durch Firewall aktivieren
- Starten und aktivieren Sie den Samba-Dienst
- Zugriff auf Samba-Freigaben mit Linux-Client
- Zugriff auf Samba-Freigaben mit Windows-Client
- Sichere Samba-Freigabekonfiguration
1. Sicherstellen, dass der Server auf dem neuesten Stand ist
Bevor Sie fortfahren, stellen Sie sicher, dass unser Server auf dem neuesten Stand ist und alle Pakete die neueste Version sind. Verwenden Sie diese Befehle, um dies zu erreichen:
sudo dnf -y update
Wenn Pakete aktualisiert werden müssen, kann der obige Befehl einige Minuten dauern.
2. Samba-Pakete installieren
Die Samba-Pakete sind in den Standard-Repositorys von Rocky Linux verfügbar. Installieren Sie sie mit diesem Befehl:
sudo dnf install samba samba-common samba-client
Wenn Sie aufgefordert werden, den Installationsvorgang zu bestätigen, geben Sie y ein Geben Sie dann ein, um fortzufahren.
Bestätigen Sie das installierte Softwarepaket mit diesem Befehl:
$ rpm -qi samba
Name : samba
Epoch : 0
Version : 4.14.5
Release : 7.el8_5
Architecture: x86_64
Install Date: Sat Jan 15 08:12:25 2022
Group : Unspecified
Size : 2653757
License : GPLv3+ and LGPLv3+
Signature : RSA/SHA256, Mon Dec 13 17:12:06 2021, Key ID 15af5dac6d745a60
Source RPM : samba-4.14.5-7.el8_5.src.rpm
Build Date : Mon Dec 13 16:51:31 2021
Build Host : ord1-prod-x86build005.svc.aws.rockylinux.org
Relocations : (not relocatable)
Packager : [email protected]
Vendor : Rocky
URL : https://www.samba.org
Summary : Server and Client software to interoperate with Windows machines
Description :
Samba is the standard Windows interoperability suite of programs for Linux and
Unix.
3. Samba-Freigaben konfigurieren
Die Samba-Konfigurationsdatei befindet sich in diesem Pfad /etc/samba/smb.conf
. Lassen Sie uns vor jeder Änderung eine Sicherungskopie davon erstellen, damit wir eine Kopie haben, wenn wir durcheinander kommen. Verwenden Sie diesen Befehl im Terminal, um eine Sicherungsdatei zu erstellen:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bk
Als Nächstes erstellen wir ein Verzeichnis, das freigegeben werden soll.
sudo mkdir -p /home/sambashare
Lassen Sie uns die Verzeichnisberechtigungen aktualisieren, damit darauf zugegriffen werden kann. Weißt du, wir werden auch die SELinux-Berechtigungen aktualisieren:
sudo chmod -R 755 /home/sambashare
sudo chown -R nobody:nobody /home/sambashare
sudo chcon -t samba_share_t /home/sambashare
Lassen Sie uns nun die Samba-Konfiguration bearbeiten, um den Export für das von uns erstellte Verzeichnis zu definieren.
Öffnen Sie die Konfigurationsdatei:
sudo vim /etc/samba/smb.conf
Aktualisieren Sie die Konfiguration in der Datei, um Folgendes widerzuspiegeln:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = Citizix SmbSvr
security = user
map to guest = bad user
dns proxy = no
[Public]
path = /home/sambashare
browsable =yes
writable = yes
guest ok = yes
read only = no
Speichern und schließen Sie die Datei.
Überprüfen Sie die Konfiguration mit diesem Befehl:
sudo testparm
Sie sollten etwas Ähnliches sehen, wenn alles in Ordnung ist.
$ sudo testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
...
4. Aktivieren Sie den Samba-Dienst über die Firewall
Wenn Sie firewalld installiert und aktiviert haben, müssen Sie den Samba-Dienst über die Firewall aktivieren. Verwenden Sie diesen Befehl, um das zu erreichen:
sudo firewall-cmd --add-service=samba --zone=public --permanent
sudo firewall-cmd --reload
5. Starten und aktivieren Sie den Samba-Dienst
Der Dienst wird standardmäßig nicht gestartet. Starten Sie den Dienst mit diesem Befehl:
sudo systemctl start smb
Bestätigen Sie den Dienststatus mit:
$ sudo systemctl status smb
● smb.service - Samba SMB Daemon
Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2022-01-15 08:43:41 UTC; 25s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 62502 (smbd)
Status: "smbd: ready to serve connections..."
Tasks: 4 (limit: 23176)
Memory: 8.7M
CGroup: /system.slice/smb.service
├─62502 /usr/sbin/smbd --foreground --no-process-group
├─62504 /usr/sbin/smbd --foreground --no-process-group
├─62505 /usr/sbin/smbd --foreground --no-process-group
└─62506 /usr/sbin/smbd --foreground --no-process-group
Jan 15 08:43:41 dev-rockysrv1.inv.re systemd[1]: Starting Samba SMB Daemon...
Jan 15 08:43:41 dev-rockysrv1.inv.re smbd[62502]: [2022/01/15 08:43:41.212309, 0] ../../lib/util/become_daemon.c:136(daemon_ready)
Jan 15 08:43:41 dev-rockysrv1.inv.re systemd[1]: Started Samba SMB Daemon.
Jan 15 08:43:41 dev-rockysrv1.inv.re smbd[62502]: daemon_ready: daemon 'smbd' finished starting up and ready to serve connections
Die obige Ausgabe zeigt, dass der Dienst erfolgreich gestartet wurde. Um den Dienst beim Booten zu aktivieren, verwenden Sie diesen Befehl:
sudo systemctl enable smb
6. Greifen Sie mit dem Linux-Client auf die Samba-Freigaben zu
Um von einem Linux-Client aus auf das Dateisystem zugreifen zu können, muss die Samba-Client-Software installiert sein.
Installieren Sie die Software auf einem Rocky-Linux mit diesem Befehl:
sudo dnf install -y samba-client
Um auf die Freigabe zuzugreifen, ist dies das Format:
smbclient //server-IP/Public
In unserem Client:
$ smbclient //10.70.5.170/Public
Enter SAMBA\rocky's password:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Sat Jan 15 08:34:22 2022
.. D 0 Sat Jan 15 08:34:22 2022
52417516 blocks of size 1024. 48494420 blocks available
smb: \>
Da wir kein Passwort festgelegt haben, drücken Sie einfach die Eingabetaste, wenn Sie dazu aufgefordert werden.
7. Greifen Sie mit dem Windows-Client auf Samba-Freigaben zu
In Windows Launch Dialogfeld ausführen in Windows durch Drücken von Windows-Taste + R .
Geben Sie Hostname ein oder IP-Adresse des Servers und drücken Sie dann die Eingabetaste Schlüssel.
\\hostname
or
\\server-IP-address
In meinem Fall
\\35.180.123.111
Dadurch werden die Freigaben geöffnet. Sie können eine Datei oder ein Verzeichnis entweder vom Samba-Server oder vom Windows-Client-Rechner zum Repository hinzufügen.
8. Sichere Samba-Freigabekonfiguration
Samba erlaubt öffentlichen Zugriff ohne Überprüfung und auch private Freigaben, bei denen man sich authentifizieren muss, um auf freigegebene Ressourcen zugreifen zu können. In diesem Abschnitt werden wir ein privates Verzeichnis konfigurieren, das mit Samba geteilt wird und auf das mit Benutzername und Passwort zugegriffen wird.
Lassen Sie uns eine Samba-Benutzergruppe auf unserem Server erstellen.
sudo groupadd sambagrp
Erstellen Sie einen neuen Benutzer und fügen Sie ihn der gerade erstellten Samba-Gruppe hinzu.
sudo useradd -g sambagrp sambausr
Erstellen Sie einen sicheren Ordner und gewähren Sie ihm dann relative Berechtigungen und Eigentumsrechte .
sudo mkdir -p /home/sambaprivateshare
sudo chmod -R 770 /home/sambaprivateshare
sudo chcon -t samba_share_t /home/sambaprivateshare
sudo chown -R root:sambagrp /home/sambaprivateshare
Erstellen Sie ein Passwort für den gerade erstellten Samba-Benutzer, das für die Authentifizierung beim Zugriff auf das Verzeichnis verwendet wird.
sudo smbpasswd -a sambausr
Geben Sie das Kennwort ein und wiederholen Sie es:
$ sudo smbpasswd -a sambausr
New SMB password:
Retype new SMB password:
Added user sambausr.
Bearbeiten Sie die Samba-Konfigurationsdatei, um sichere Freigabekonfigurationen hinzuzufügen.
sudo vim /etc/samba/smb.conf
Fügen Sie Zeilen unter dem Befehl hinzu und bearbeiten Sie ihn entsprechend Ihrer Konfigurationen.
[Private]
path = /home/sambaprivateshare
valid users = @private
guest ok = no
writable = yes
browsable = yes
Samba-Dienste neu starten oder neu laden, um Konfigurationen zu übernehmen
sudo systemctl restart smb
Zugriff auf Samba Secure-Dateien mit Windows-Systemen
Drücken Sie die Windows-Taste + R , geben Sie den Hostnamen des Servers ein oder IP-Adresse um auf die freigegebenen Ordner zuzugreifen.
Wenn Sie eine private Ordner wird zur Eingabe von Benutzername und Passwort auffordern, um das Zugriffsrecht auf die Dateien zu gewähren.
Zugriff auf Samba Secure Directory mit Linux
Um auf den sicheren Ordner zuzugreifen, müssen Sie dem Befehl einen Benutzer in diesem Format bereitstellen:
smbclient //server-IP/Private -U user
Geben Sie das Samba-Benutzerkennwort ein, wenn Sie dazu aufgefordert werden.
$ smbclient //10.70.5.170/Private -U sambausr
Enter SAMBA\sambausr's password:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Sat Jan 15 09:02:33 2022
.. D 0 Sat Jan 15 09:02:33 2022
52417516 blocks of size 1024. 48489312 blocks available
smb: \>
Das ist es! Wir haben es geschafft, Samba für die anonyme und sichere Dateifreigabe zwischen unserem Rocky Linux-Betriebssystem und anderen Linux- oder Desktop-Windows-Clients zu installieren und einzurichten.