Skip to content
README.md 6,39 KiB
Newer Older
Thorsten Eggeling's avatar
Thorsten Eggeling committed
# Datenaustausch (303/2025-01)
Thorsten Eggeling's avatar
Thorsten Eggeling committed

Thorsten Eggeling's avatar
Thorsten Eggeling committed
## Quellen/Links
Filezilla: https://filezilla-project.org

Winscp: https://winscp.net

Android Cx Datei Explorer: https://m6u.de/CXFX

Paidrop: https://pairdrop.net

Android KDE-Connect: https://m6u.de/KDECON

Local Send Downloads: https://localsend.org/de/download

Android Local Send: https://m6u.de/LOCSE
Thorsten Eggeling's avatar
Thorsten Eggeling committed

## 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]
```
Thorsten Eggeling's avatar
Thorsten Eggeling committed
aus.

Da Samba eine eigene Passwortverwaltung besitzt, muss man außerdem ein Passwort mit
Thorsten Eggeling's avatar
Thorsten Eggeling committed
```
sudo smbpasswd -a [User]
```
Thorsten Eggeling's avatar
Thorsten Eggeling committed
vergeben.

Den Platzhalter „[User]“ ersetzen Sie jeweils durch die Bezeichnung des Benutzerkontos. 

Nutzer von Ubuntu 24.04 installieren außerdem
Thorsten Eggeling's avatar
Thorsten Eggeling committed
```
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 „</VirtualHost>“ die folgenden vier Zeilen ein:
```
Alias /webdav /var/www/webdav
<Directory /var/www/webdav>
DAV On
</Directory>
```
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
```
Thorsten Eggeling's avatar
Thorsten Eggeling committed
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
```
Thorsten Eggeling's avatar
Thorsten Eggeling committed
Sie werden aufgefordert ein Passwort zu vergeben. 
Thorsten Eggeling's avatar
Thorsten Eggeling committed

Bauen Sie in einen Anweisungsblock in die Server-Konfiguration „/etc/apache2/sites-available/000-default.conf“ ein:
```
<Directory /var/www/html>
AuthType Basic
AuthName "Bitte geben Sie ein Passwort ein!"
AuthUserFile /etc/apache2/.htusers
Require valid-user
</Directory>
```
Der Zugang wird jetzt nur nach Anmeldung mit dem Benutzernamen „sepp“ und dem vergebenen Passwort gewährt.

**Webdav mit Passwort schützen:**

Thorsten Eggeling's avatar
Thorsten Eggeling committed
Passwortdatei erzeugen:
```
sudo htpasswd -c -B /etc/apache2/.webdav webdavuser
```
Passwortschutz aktivieren:
```
Alias /webdav /var/www/webdav
<Directory /var/www/webdav>
DAV On
AuthType Basic
AuthName "Mein WebDAV"
AuthUserFile /etc/apache2/.webdav
Require valid-user
</Directory>
```
Thorsten Eggeling's avatar
Thorsten Eggeling committed

## 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
Thorsten Eggeling's avatar
Thorsten Eggeling committed
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):
Thorsten Eggeling's avatar
Thorsten Eggeling committed
```
<?xml version="1.0" standalone='no'?>
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h (SFTP)</name>
<service>
<type>_sftp-ssh._tcp</type>
<port>22</port>
</service>
</service-group>
```
Thorsten Eggeling's avatar
Thorsten Eggeling committed
**Webdav**

Datei webdav.service
Thorsten Eggeling's avatar
Thorsten Eggeling committed
```
<?xml version="1.0" standalone='no'?>
 <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
 <service-group>
   <name replace-wildcards="yes">%h (WebDav)</name>
   <service>
     <type>_webdav._tcp</type>
     <port>80</port>
     <txt-record>path=/webdav</txt-record>
     <txt-record>u=''</txt-record>
     <txt-record>p=''</txt-record>
   </service>
 </service-group>
```
Thorsten Eggeling's avatar
Thorsten Eggeling committed
**Webdavs (https)**

Thorsten Eggeling's avatar
Thorsten Eggeling committed
Datei webdavs.service:
Thorsten Eggeling's avatar
Thorsten Eggeling committed
```
<?xml version="1.0" standalone='no'?>
 <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
 <service-group>
   <name replace-wildcards="yes">%h (WebDav)</name>
   <service>
     <type>_webdavs._tcp</type>
     <port>443</port>
     <txt-record>path=/webdav</txt-record>
     <txt-record>u=''</txt-record>
     <txt-record>p=''</txt-record>
   </service>
 </service-group>
```
Hinter "u=" tragen Sie den Benutzernamen ein und hinter "p=" das Passwort, wenn Sie die Atuthentifizierung in Apache konfiguriert haben.

Thorsten Eggeling's avatar
Thorsten Eggeling committed
Datei nfs.service:
```
<?xml version="1.0" standalone='no'?>
 <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
 <service-group>
   <name replace-wildcards="yes">%h (NFS)</name>
   <service>
     <type>_nfs._tcp</type>
     <port>2049</port>
     <txt-record>path=/srv/nfsv4/</txt-record>
   </service>
 </service-group>
```
Datei sftp.service:
```
<?xml version="1.0" standalone='no'?>
 <!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
  <name replace-wildcards="yes">%h (SFTP)</name>
  <service>
    <type>_sftp-ssh._tcp</type>
    <port>6004</port>
  </service>
</service-group>
```

Thorsten Eggeling's avatar
Thorsten Eggeling committed
**WS-Discovery-Service:**
Thorsten Eggeling's avatar
Thorsten Eggeling committed
```
sudo apt install wsdd2
```