Samba ist eine Open Source-Lösung, mit der Benutzer schnelle und sichere Datei- und Druckfreigaben einrichten können. In diesem Artikel werde ich beschreiben, wie Sie Samba mit Vultrs Blockspeicher unter Debian 9 einrichten. Dies beinhaltet optionale Kontingente, Authentifizierung und Anweisungen für den Zugriff über Ihre Heimverbindung.
Dieser Artikel funktioniert auf jeder Ebene der Instanzzeile von Vultr.
Teil 1: Vorbereiten Ihres Servers
Es ist wichtig, dass wir zuerst die Abhängigkeiten von Samba installieren und den Blockspeicher zum Laufen bringen. Wenn Sie nicht wissen, was der Blockspeicher von Vultr ist, handelt es sich um eine hochverfügbare, SSD-basierte skalierbare Speicherlösung, die auf einem Vultr VPS installiert wird. Weitere Informationen zum Blockspeicher finden Sie in diesem Dokument .
Als erstes müssen Sie sich über SSH bei Ihrem Vultr VPS oder über KVM anmelden. Die Verwendung von SSH wird empfohlen, da Sie mit PuTTY oder einer Befehlszeilenversion von SSH Befehle kopieren und einfügen können.
Wenn Sie nach dem Anmelden den Root-Benutzer nicht verwenden, eskalieren Sie zu root.
su -
Wenn Ihr Blockspeicher bereits bereitgestellt und vorbereitet ist, fahren Sie mit Abschnitt B fort.
Bitte beachten Sie: Der aktuelle Blockspeicherartikel von Vultr behandelt keine Einschaltquoten. Wenn Sie dies tun möchten, fahren Sie mit Abschnitt A.1 fort.
Abschnitt A: Vorbereiten Ihres Blockspeichers
Nun bereiten wir Ihren Blockspeicher vor. In diesem Artikel werden nur grundlegende Anweisungen zum Einrichten bereitgestellt. Wenn Sie also zusätzliche Details wünschen, verwenden Sie bitte den zuvor in Teil 1 beschriebenen Link.
Zuerst erstellen wir die erforderlichen Partitionen mit fdisk.
fdisk /dev/vdb
Geben Sie innerhalb fdiskein:
n (enter)
p (enter)
1 (enter)
(enter)
(enter)
w (enter)
q (enter)
Formatieren Sie es jetzt als EXT4:
mkfs.ext4 /dev/vdb1
Unser Laufwerk kann jetzt montiert werden. Erstellen Sie im folgenden Schritt ein Verzeichnis am Speicherort Ihrer Wahl. In diesem Artikel wird das Beispielverzeichnis verwendet /var/blockstorage, Sie können diesen Speicherort jedoch ändern.
mkdir -p /var/blockstorage
mount /dev/vdb1 /var/blockstorage
Bevor wir die Zeile hinzufügen /etc/fstab, führen Sie bitte den folgenden Befehl aus:
cat /etc/fstab | grep "UUID="
Wenn sich der Laufwerksname jemals ändert (z. B. /dev/vdbumbenannt in /dev/sdb), stellt die UUID sicher, dass das richtige Laufwerk bereitgestellt wird.
Kopieren Sie das Teil nach dem =in das Feld vor dem Schrägstrich. Es sollte wie folgt aussehen: 8db639c7-d77d-49a3-a4b0-c9d2916ba873.
Listen Sie dann Ihre Laufwerke nach UUID auf und speichern Sie sie für später in einer Variablen:
CURRENT_UUID='UUID_YOU_COPIED'
NEW_UUID=`ls /dev/disks/by-uuid/ | grep -v "$CURRENT_UUID"`
Fügen wir abschließend den Eintrag hinzu, /etc/fstabum sicherzustellen, dass er auch nach dem Aus- und Einschalten erhalten bleibt.
echo "UUID=$NEW_UUID /var/blockstorage ext4 defaults,usrquota,grpquota,noatime 0 0" >> /etc/fstab
Das war's für das Blockspeicher-Setup! Gehe zu Teil 2.
Abschnitt A.1: Kontingente für zuvor konfigurierten Blockspeicher aktivieren
Dies ist relativ einfach, öffnen Sie also Ihren bevorzugten Texteditor für /etc/fstab. Es sollte so aussehen:

Gehen Sie zur Zeile mit /dev/vdb1und fügen Sie usrquota,grpquotadanach hinzu defaults,. Ihre Datei sollte jetzt folgendermaßen aussehen:

Speichern und schließen. Um Ihre Änderungen zu übernehmen, müssen wir das Laufwerk erneut bereitstellen.
mount -o remount /dev/vdb1
Fahren wir nun mit Abschnitt B fort.
Abschnitt B: Samba installieren
Als erstes möchten Sie Ihre Paketquellen aktualisieren.
apt-get update -y
Nehmen Sie sich einen Moment Zeit und fahren Sie mit dem nächsten Befehl fort. Lassen Sie uns nun Samba und alle Abhängigkeiten installieren.
apt-get install samba quota firewalld -y
Das war's für die Installation von Samba. Gute Arbeit bisher, du machst das großartig! Gehen wir zu Teil 2 über, wo wir Samba gemäß Ihren Anforderungen konfigurieren.
Teil 2: Samba konfigurieren
Dies ist wahrscheinlich der schwierigste Schritt, also hängen Sie fest! Derzeit unterstützt dieser Artikel drei verschiedene Konfigurationsoptionen. Sie lauten wie folgt: eine öffentliche Freigabe, auf die jeder Benutzer zugreifen kann (A.1); eine private Freigabe mit Benutzerberechtigungen (A.2); eine private Freigabe mit Benutzerberechtigungen und Kontingenten (A.3).
Bevor Sie zum entsprechenden Abschnitt springen, müssen wir einige Dinge ändern /etc/samba/smb.conf, die sich auf jeden Abschnitt beziehen.
Öffnen Sie Ihren bevorzugten Texteditor und suchen Sie die Zeile mit # wins support = no. Kommentieren Sie die Zeile aus (entfernen Sie das #Symbol) und ändern Sie "Nein" in "Ja". Speicher die Datei.
An dieser Stelle können Sie zum entsprechenden Abschnitt übergehen.
Abschnitt A.1: Öffentliche Samba-Aktie
In diesem Unterabschnitt wird erläutert, wie eine öffentliche Samba-Freigabe eingerichtet wird. Dies ist relativ einfach, da wir keine speziellen Berechtigungen oder Konfigurationsoptionen anwenden müssen.
Fügen Sie Ihrer /etc/samba/smb.confKonfigurationsdatei Folgendes hinzu :
[Public Share]
comment = Publicly accessible share that allows ANY user to access it
path = /var/blockstorage
read only = no
guest ok = yes
Bitte beachten Sie: Auf diese Freigabe kann JEDER zugreifen, der eine Verbindung zu Ihrem Samba-Server herstellen kann. Sie können dies sichern, indem Sie einen einzelnen Benutzer erstellen, den Sie für alle Benutzer freigeben, die Zugriff auf die Freigabe benötigen. Die Schritte hierzu finden Sie in Abschnitt A.2.
Starten Sie dann Samba neu:
systemctl restart smbd
Abschnitt A.2: Private Freigabe mit Berechtigungen
Samba bietet eine Vielzahl von Authentifizierungsoptionen. Da Samba das homePräfix erkennt , wird es automatisch bei Ihrem System und mit einem eigenen Authentifizierungssystem authentifiziert. Es ist auch nicht erforderlich, einen Pfad anzugeben, da Samba diesen aus dem /etc/passwdEintrag des Benutzers liest .
Fügen Sie Ihrer /etc/samba/smb.confKonfigurationsdatei Folgendes hinzu .
[homes]
browsable = no
writable = yes
read only = no
Um einen Benutzer einzurichten, müssen Sie zunächst ein separates Linux-Konto für ihn erstellen. Der folgende Befehl erstellt einen Benutzer ohne Shell- oder SFTP-Zugriff:
NEW_USER="Username of the user you'd like to create"
useradd -d /var/blockstorage/$NEW_USER -s /usr/sbin/nologin $NEW_USER
Legen Sie dann ein Passwort fest:
passwd $NEW_USER
Zuletzt müssen wir den Benutzer in Samba aktivieren. Geben Sie das gleiche Passwort ein wie zuvor, nachdem Sie den ersten smbpasswdBefehl eingegeben haben . Der zweite Befehl aktiviert den Benutzer.
smbpasswd -a $NEW_USER
smbpasswd -e $NEW_USER
Wiederholen Sie diesen Abschnitt, um bei Bedarf neue Benutzer zu erstellen.
Abschnitt A.3: Private Freigabe mit Berechtigungen und Kontingenten
Die Schritte sind die gleichen wie in A.2. Führen Sie diese Schritte aus und kehren Sie dann hierher zurück. Das Einrichten von Kontingenten mit Samba ähnelt dem Einrichten von Kontingenten für den Standard-Linux-Benutzer.
Wir haben unser bereitgestelltes Verzeichnis noch nicht für Kontingente initialisiert. Lassen Sie uns das jetzt tun.
quotacheck -cug /var/blockstorage
Das sollte es sein, um Quoten einzuschalten. Angenommen, Sie haben bereits einige Benutzer erstellt, können wir ihnen jetzt Festplattenlimits geben.
Wir müssen berechnen, wie viel Speicherplatz zugewiesen werden soll, aber da Kontingente in Blöcken gemessen werden, ist hier die Gleichung, um MB in Blöcke umzuwandeln:
mb to allocate * 1024 = number of blocks
Example: 1024MB * 1024 = 1048576 blocks
Nachdem Sie eine Vorstellung von der Anzahl der Blöcke haben, die Sie zuweisen möchten, legen wir das Limit fest.
edquota $NEW_USER
Es wird so aussehen:

Gehen Sie zum ersten hardnach dem blocksTeil und gehen Sie zu der Zahl (wahrscheinlich 0) darunter. Ändern Sie dies in die Anzahl der Blöcke, die Sie zuvor berechnet haben.
Speichern und schließen.
Das sollte es sein, um Quoten festzulegen; Fühlen Sie sich frei, diesen Abschnitt nach Bedarf zu wiederholen.
Abschnitt B: Zulassen externer Verbindungen von Ihrer Verbindung
Derzeit kann auf die Samba-Freigabe derzeit offensichtlich nicht über das Internet zugegriffen werden, da die Firewall die von ihr verwendeten Ports blockiert.
Da wir FirewallD bereits installiert haben, ist das Öffnen von Ports sehr einfach. Führen Sie einfach die folgenden Befehle aus, um Samba zu öffnen.
firewall-cmd --permanent --add-port=139/tcp
firewall-cmd --permanent --add-port=445/tcp
firewall-cmd --permanent --add-port=137/udp
firewall-cmd --permanent --add-port=138/udp
systemctl restart firewalld
Na, bitte. Sie können jetzt von überall auf Ihre Samba-Freigabe zugreifen.
Fazit
In diesem Artikel haben wir beschrieben, wie Sie Samba mit Vultrs Blockspeicher unter Debian 9 konfigurieren. Dies ist eine zuverlässige und schnelle Lösung, und Sie können die Größe Ihres Blockspeichers jederzeit problemlos erweitern (Sie müssen jedoch einen Neustart durchführen!) Perfekt für den Austausch von Fotos und Medien mit Ihrer Familie, Freunden und unter anderem. Die Wartung ist einfach.
Viel Spaß beim Hacken!