Ich habe zu Weiterbildungszwecken aus alten PC-Komponenten ein Serversystem zusammengebaut und stelle hier die Konfiguration als Storage-Server vor
Nachdem alle Komponenten zusammengesteckt waren habe ich zunächst Ununtu Focal Fossa (20.04 LTS) Server als Betriebssystem installiert und konfiguriert. Die alten Festplatten konstituierten zwei Software-Raid Verbünde, die durch das Betriebssystem im neu zusammengesteckten Server sofort erkannt wurden und daher von mir weiterverwendet wurden. Als Grundlage der weiteren Arbeiten wurden die beiden Raid-Verbünde in eine Volume Group zusammengeführt:
vgcreate vg_storage /dev/md0 /dev/md7
Darauf aufbauend habe ich zunächst zwei Logical Volumes erstellt - eine für administrative Zwecke und eine zweite als Speichermedium, das im Netz für Nutzer zur Verfügung stehen sollte:
lvcreate -L 1T vg_storage -n lv_attic
lvcreate -L 1T vg_storage -n lv_services
Anschließend legte ich entsprechende Verzeichnisse an:
mkdir /storage
mkdir /storage/attic
mkdir /storage/services
Im nächsten Schritt wurde die /etc/fstab um entsprechend benötigte Einträge ergänzt:
/dev/vg_storage/lv_attic /storage/attic/ ext4 defaults 0 0
/dev/vg_storage/lv_services /storage/services/ ext4 defaults 0 0
Nunmehr installierte ich zunächst die entsprechenden Pakete um den im Netz verfügbaren Speicher für Windows-Nutzer (Samba) und Linux-Nutzer (SFTP) zur Verfügung stellen zu können. Anschließend legte ich zunächst entsprechende Nutzergruppen an:
groupadd sftp_users
groupadd samba_users
Nutzer legte ich zu Testzwecken wie folgt an:
useradd sftpuser -s /sbin/nologin -M
useradd sambauser -s /sbin/nologin -M
Diese Nutzer ordnete ich ihren entsprechenden Grupoen zu:
usermod -a -G sftp_users sftpuser
usermod -a -G sftp_users sambauser
Diese Nutzer benötigten jeweils ein Systempasswort und ein Sambapasswort; beide werden wie folgt zugeordnet (am Beispiel von sambauser):
passwd sambauser
smbpasswd -a sambauser
Nun mussten benötigte Verzeichnisse angelegt und mit den entsprechenden Nutzerrechten versehen werden:
mkdir /storage/services/sftpuser
mkdir /storage/services/public
mkdir /storage/services/sambauser
mkdir /storage/samba/sambausers_shared
chmod 777 /storage/services/public/
chown sftpuser:sftp_users /storage/services/sftpuser
chown nobody:nogroup /storage/services/public/
chown sambauser:sambauser /storage/services/sanbauser/
chown root:samba_users /storage/services/sambausers_shared
chmod 775 /storage/services/sambausers_shared
Nun konnte an die Konfiguration der Services gegangen werden - zuerst wurde /etc/ssh/sshd_config wie folgt ergänzt:
Match Group sftp_users
ChrootDirectory /storage/services/
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
PasswordAuthentication yes
Anschließend wurden folgende Share-Definitionen in /etc/samba/smb.conf hinzugefügt:
[samba_users_shared]
comment = Place for sharing for all members of user group sambausers
path = /storage/services/samba_users_shared
read only = no
writable = yes
guest ok = no
create mask = 0660
directory mask = 0771
valid users = @samba_users
[sambauser]
comment = sambauser private area
path = /storage/services/sambauser
read only = no
writable = yes
guest ok = no
valid users = sambauser
[public]
path = /storage/services/public
browsable =yes
writable = yes
guest ok = yes
read only = no
force user = nobody
create mask = 0775
directory mask = 0775
Nach Neustart von Samba und sshd waren die entsprechenden Verzeichnisse und Shares von Windows und Linux aus erreich- und benutzbar. Weitere Nutzer können nach den angegebenen Mustern problemlos hinzugefügt werden.
Ich habe hier verschiedene Links angefügt, die als Hintergrund und weiterführende Lektüre zu diesem Thema dienen können:
How To Configure SFTP for a Web Server Document Root
Enabling SFTP-only access on Linux
Using Samba, 2nd Edition
Chapter 4. The Samba Configuration File
Reloading Samba4's smb.conf without restarting the service
SambaServerSimple
How to Set Up a Samba Server on Debian 10 Buster
How to configure Samba Server share on Debian 9 Stretch Linux
How To Install Samba on Debian 10 Buster
Install and Configure Samba Server Share on Ubuntu 20.04|18.04 & Debian 10
22.07.2021
Nachdem eins meiner Raids neulich einen Check durchführen wollte habe ich überlegt, ob man den Fortschritt dabei (oder bei einem Rebuild) mittels Telegraf in Grafana abbilden könnte.
Multi-User-WebDAV, Docker, GitHub
17.11.2019
Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...
Weiterlesen...Android Basteln C und C++ Chaos Datenbanken Docker dWb+ ESP Wifi Garten Geo Go GUI Gui Hardware Java Jupyter Komponenten Links Linux Markdown Markup Music Numerik OpenSource PKI-X.509-CA Python QBrowser Rants Raspi Revisited Security Software-Test sQLshell TeleGrafana Verschiedenes Video Virtualisierung Windows Upcoming...
In eigener Sache...
Weiterlesen...Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.
Weiterlesen...Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.
Weiterlesen...Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.
Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.
Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...
PS: Meine öffentlichen Codeberg-Repositories findet man hier.