# Datenaustausch ## Persönliche Samba-Freigaben ermöglichen Samba-Server im Terminal installieren: ``` sudo apt install samba ``` Für persönliche Freigaben muss ein Benutzer zur Gruppe „sambashare“ gehören. Lassen Sie sich mit ``` groups ``` anzeigen, ob das aktuelle Benutzerkonto bereits dazugehört. Andernfalls führen Sie ``` sudo usermod -aG sambashare [User] ``` aus. Da Samba eine eigene Passwortverwaltung besitzt, muss man außerdem ein Passwort mit ``` sudo smbpasswd -a [User] ``` vergeben. Den Platzhalter „[User]“ ersetzen Sie jeweils durch die Bezeichnung des Benutzerkontos. Nutzer von Ubuntu 24.04 installieren außerdem ``` sudo apt install nautilus-share ``` Die Erweiterung ist nötig, damit der Dateimanager Nautilus „Freigabeoption“ im Kontextmenü anzeigt. Nach diesen Änderungen starten Sie Linux neu. Erlauben Sie Gästen und anderen Benutzern mit ``` chmod 751 /home/[User] ``` den Zugriff auf das Home-Verzeichnis. Linux Mint weist auf das Problem der fehlenden Berechtigungen im Freigabedialog hin, Ubuntu nicht. ## Globale Samba-Freigaben konfigurieren Eine neue Freigabe lässt sich beispielsweise über diese drei Zeilen erstellen, die Sie am Ende der Datei „smb.conf“ einfügen: ``` [data1] path = /data1 writeable = no ``` Damit wird das Verzeichnis „/data1“ unter der Bezeichnung „data1“ freigegeben. Wenn Sie auch Benutzern ohne Konto den Zugriff auf die Freigabe erlauben wollen, ergänzen Sie die Freigabedefinition um folgende Zeile: ``` guest ok = yes ``` Samba berücksichtigt Konfigurationsänderungen nach einiger Zeit automatisch, was sie über einen Neustart des Dienstes mit ``` sudo systemctl restart smbd ``` beschleunigen können. **Schreibrechte aktivieren:** ``` sudo chown -R root:sambashare /data1 sudo find /data1 -type d -exec chmod 775 {} + sudo find /data1 -type f -exec chmod 664 {} + ``` ## Apache-Freigaben ohne und mit Schreibzugriff ``` sudo apt install apache2 ``` ``` sudo mkdir /var/www/html/data mount --bind /data1 /var/www/html/data ``` ``` /data1 /var/www/html/data none bind 0 0 ``` ``` http://[MeinServer]/data ``` **Freigaben mit Schreibzugriff:** ``` sudo a2enmod dav sudo a2enmod dav_fs ``` ``` sudo mkdir /var/www/webdav ``` ``` mount --bind /data1 /var/www/webdav ``` ``` sudo chown -R www-data:www-data /var/www/webdav ``` Bauen Sie oberhalb von „“ die folgenden vier Zeilen ein: ``` Alias /webdav /var/www/webdav DAV On ``` Starten Sie den Webserver mit ``` sudo systemctl restart apache2 ``` neu Den Schreibzugriff können Sie einfach mit ``` sudo chown -R root:root /var/www/webdav ``` unterbinden. **Zusatzinfos:** Apache-Verzeichnisse mit Passwort schützen: Wenn nur bestimmte Personen Zugriff auf die Webseiten erhalten sollten, lässt sich der Zugang mit einem Passwort schützen. Erzeugen Sie zuerst eine Datei für die Authentifizierung: ``` sudo htpasswd -c -B /etc/apache2/.htusers sepp ``` Sie werden aufgefordert, ein Passwort zu vergeben. Bauen Sie in einen Anweisungsblock in die Server-Konfiguration „/etc/apache2/sites-available/000-default.conf“ ein: ``` AuthType Basic AuthName "Bitte geben Sie ein Passwort ein!" AuthUserFile /etc/apache2/.htusers Require valid-user ``` Der Zugang wird jetzt nur nach Anmeldung mit dem Benutzernamen „sepp“ und dem vergebenen Passwort gewährt. **Webdav mit Passwort schützen:** ## SFTP für den Datenaustausch nutzen ``` sudo apt install openssh-server ``` ``` ssh [User]@[Server-IP] ``` ``` http://[Name oder IP]/[Webdav-Ordner] ``` ## Datenaustausch mit Android-Geräten **KDE Connect:** ``` sudo apt install gnome-shell-extension-gsconnect gnome-shell-extension-prefs sudo apt install kdeconnect --no-install-recommends ``` ## Freigabedienste im Netzwerk bekannt machen Für weitere Serverdienste erstellen Sie Konfigurationsdateien im Ordner „/etc/avahi/services“. Für SFTP beispielsweise die Datei „sftp.service“ mit diesem Inhalt (neun Zeilen): ``` %h (SFTP) _sftp-ssh._tcp 22 ``` **Webdav** Datei webdav.service ``` %h (WebDav) _webdav._tcp 80 path=/webdav u='' p='' ``` **Webdavs (https)** Datei webdavs.service: ``` %h (WebDav) _webdavs._tcp 443 path=/webdav u='' p='' ``` Hinter "u=" tragen Sie den Benutzernamen ein und hinter "p=" das Passwort, wenn Sie die Atuthentifizierung in Apache konfiguriert haben. Datei nfs.service: ``` %h (NFS) _nfs._tcp 2049 path=/srv/nfsv4/ ``` Datei sftp.service: ``` %h (SFTP) _sftp-ssh._tcp 6004 ``` **WS-Discovery-Service: * ``` sudo apt install wsdd2 ```