Anpassung aller Samba-Dokumente als Projekt
ADDC als Bonus
This commit is contained in:
@@ -0,0 +1,175 @@
|
||||
# Geschäfts-Samba-Server: Eingeschränkte Freigaben für Abteilungen
|
||||
*Anleitung zur Einrichtung von Samba-Freigaben mit granularen Rechten für Hans Wurst (Produktion) und Peter Lustig (Verwaltung)*
|
||||
|
||||
## Inhaltsverzeichnis
|
||||
[TOC]
|
||||
|
||||
## 1. Zielbeschreibung
|
||||
Dieses Projekt zeigt eine saubere, praxisnahe Einrichtung von
|
||||
|
||||
* eingeschränkten Freigaben mit Gruppenrechten,
|
||||
* Homeverzeichnissen,
|
||||
* einem Netzwerkpapierkorb.
|
||||
|
||||
| | Lesen
Angebote | Schreiben
Angebote | Lesen
Lieferscheine | Schreiben
Lieferscheine |
|
||||
| ------------ | ------------------ | ---------------------- | ----------------------- | --------------------------- |
|
||||
| Hans Wurst | X | | | X |
|
||||
| Peter Lustig | | X | | X |
|
||||
|
||||
---
|
||||
|
||||
## 2. Benutzer und Gruppen anlegen
|
||||
|
||||
### 2.1 Benutzer erstellen
|
||||
```bash
|
||||
# Benutzer für Produktion und Verwaltung anlegen
|
||||
sudo adduser hwurst # Hans Wurst (Produktion)
|
||||
sudo adduser plustig # Peter Lustig (Verwaltung)
|
||||
```
|
||||
### 2.2 Gruppen für Rechteverwaltung erstellen
|
||||
````bash
|
||||
# Gruppen für Lese-/Schreibrechte
|
||||
sudo addgroup angebote_l # Leserechte für Angebote
|
||||
sudo addgroup angebote_ae # Schreibrechte für Angebote
|
||||
sudo addgroup lieferscheine_l # Leserechte für Lieferscheine (hier nicht genutzt)
|
||||
sudo addgroup lieferscheine_ae # Schreibrechte für Lieferscheine
|
||||
````
|
||||
### 2.3 Benutzer den Gruppen zuweisen
|
||||
````bash
|
||||
# Hans Wurst: Darf Angebote lesen und Lieferscheine schreiben
|
||||
sudo usermod -aG angebote_l hwurst
|
||||
sudo usermod -aG lieferscheine_ae hwurst
|
||||
|
||||
# Peter Lustig: Darf Angebote und Lieferscheine schreiben
|
||||
sudo usermod -aG angebote_ae plustig
|
||||
sudo usermod -aG lieferscheine_ae plustig
|
||||
````
|
||||
|
||||
### 2.4 Benutzer in Samba bekannt machen
|
||||
````bash
|
||||
# Samba-Passwörter für beide Benutzer setzen
|
||||
sudo smbpasswd -a hwurst
|
||||
sudo smbpasswd -a plustig
|
||||
````
|
||||
> Passwort im Kurs: "passw0rd#"
|
||||
|
||||
## 3. Verzeichnisse erstellen und Rechte setzen
|
||||
### 3.1 Ordner für Angebote und Lieferscheine anlegen
|
||||
````bash
|
||||
sudo mkdir -p /srv/samba/{angebote,lieferscheine}
|
||||
````
|
||||
### 3.2 Besitzer und Gruppe setzen
|
||||
````bash
|
||||
# Angebote: Besitzer = nobody, Gruppe = angebote_ae (Schreibrechte)
|
||||
sudo chown -R nobody\:angebote_ae /srv/samba/angebote
|
||||
|
||||
# Lieferscheine: Besitzer = nobody, Gruppe = lieferscheine_ae (Schreibrechte)
|
||||
sudo chown -R nobody\:lieferscheine_ae /srv/samba/lieferscheine
|
||||
````
|
||||
### 3.3 Berechtigungen setzen
|
||||
|
||||
````bash
|
||||
sudo chmod -R 0077 /srv/samba/angebote
|
||||
sudo chmod -R 0077 /srv/samba/lieferscheine
|
||||
# - 0: Keine Spezialrechte (Sticky Bit/SUID/SGID)
|
||||
# - 0: Besitzer (nobody) hat keine Rechte (wird durch Samba überschrieben)
|
||||
# - 7: Gruppe hat Vollzugriff (rwx)
|
||||
# - 7: Andere haben Vollzugriff (wird durch Samba eingeschränkt)
|
||||
````
|
||||
> Hinweis: Die tatsächlichen Rechte werden später durch Samba (````force create mode, valid users````) gesteuert.
|
||||
|
||||
## 4. Samba-Freigaben konfigurieren
|
||||
|
||||
### 4.1 ````smb.conf```` bearbeiten
|
||||
````bash
|
||||
sudo nano /etc/samba/smb.conf
|
||||
````
|
||||
### 4.2 Freigaben für Angebote und Lieferscheine
|
||||
Fügen Sie folgende Abschnitte am Ende der Datei ein:
|
||||
````ini
|
||||
[Angebote]
|
||||
comment = Angebote an Kunden
|
||||
path = /srv/samba/angebote
|
||||
guest ok = no
|
||||
browseable = yes
|
||||
read only = yes # Standardmäßig schreibgeschützt
|
||||
valid users = @angebote_l, @angebote_ae # Nur diese Gruppen dürfen zugreifen
|
||||
write list = @angebote_ae # Nur diese Gruppe darf schreiben
|
||||
force create mode = 0775 # Neue Dateien: rwxrwxr-x
|
||||
force directory mode = 0775 # Neue Ordner: rwxrwxr-x
|
||||
force group = angebote_ae # Neue Dateien gehören dieser Gruppe
|
||||
|
||||
[Lieferscheine]
|
||||
copy = Angebote # Überträgt alle Einstellungen von Angebote, die nicht nachfolgend angepasst werden:
|
||||
comment = Lieferscheine von Lieferanten
|
||||
path = /srv/samba/lieferscheine
|
||||
valid users = @lieferscheine, @lieferscheine_ae # Nur diese Gruppe darf zugreifen
|
||||
write list = @lieferscheine_ae # Nur diese Gruppe darf schreiben
|
||||
force group = lieferscheine_ae
|
||||
````
|
||||
## 5. Userverzeichnisse (Home-Freigaben)
|
||||
|
||||
Jeder Benutzer kann auf sein eigenes Home-Verzeichnis zugreifen.
|
||||
Aktivieren Sie die [homes]-Freigabe in ````/etc/samba/smb.conf```` (entkommentieren):
|
||||
````ini
|
||||
[homes]
|
||||
comment = Privates Verzeichnis
|
||||
browseable = no # Nur für den Benutzer selbst sichtbar
|
||||
read only = no # Benutzer darf schreiben
|
||||
create mask = 0700 # Neue Dateien: rwx------
|
||||
directory mask = 0700 # Neue Ordner: rwx------
|
||||
valid users = %S # %S = Name des aktuellen Benutzers
|
||||
````
|
||||
> Hinweis: %S wird automatisch durch den Benutzernamen ersetzt (z. B. hwurst).
|
||||
## 6. Netzwerkpapierkorb
|
||||
Gelöschte Dateien auf Netzlaufwerken können mit dem **Samba Recycle Bin Modul** gesichert werden.
|
||||
### 6.1 Konfiguration in ````smb.conf````
|
||||
Fügen Sie folgende Optionen global (unter [global]) oder pro Freigabe ein:
|
||||
````ini
|
||||
vfs objects = recycle # Virtuelles Dateisystem für Papierkorb
|
||||
recycle\:repository = .recyclebin # Ordner für gelöschte Dateien
|
||||
recycle\:keeptree = yes # Pfadstruktur im Papierkorb erhalten
|
||||
recycle\:versions = yes # Gleichnamige Dateien nicht überschreiben
|
||||
recycle\:maxsize = 0 # Keine Größenbegrenzung pro Datei
|
||||
recycle\:touch = yes # Zeitstempel anpassen
|
||||
````
|
||||
### 6.2 Automatische Bereinigung mit Cron
|
||||
Fügen Sie einen [Cron-Job](../basics/Automatisierung%20mit%20cron%20und%20systemd.md) hinzu, um alte Dateien im Papierkorb zu löschen:
|
||||
````bash
|
||||
sudo crontab -e
|
||||
````
|
||||
Fügen Sie folgende Zeile ein (löscht Dateien älter als 14 Tage):
|
||||
````bash
|
||||
0 12 * * * for path in $(grep "path =" /etc/samba/smb.conf | cut -d= -f2 | sed 's/ //g'); do find "${path}/.recyclebin" -mindepth 1 -mtime +14 -exec rm -rf {} \; 2>/dev/null; done
|
||||
````
|
||||
Erklärung:
|
||||
* ````0 12 * * *````: Täglich um 12:00 Uhr.
|
||||
* ````grep "path ="````: Sucht alle ````path````-Einträge in ````smb.conf````.
|
||||
* ````find ... -mtime +14````: Löscht Dateien älter als 14 Tage im .recyclebin-Ordner.
|
||||
|
||||
## 7 Häufige Fehler und Lösungen
|
||||
|
||||
|Problem |Ursache |Lösung |
|
||||
|------------------------------|-----------------------------------|-------------------------------------------------------------|
|
||||
|Benutzer kann nicht zugreifen |Falsche Gruppe oder Passwort. |groups [benutzer] prüfen, smbpasswd -a [benutzer] neu setzen.|
|
||||
|Schreibrechte fehlgeschlagen |Benutzer nicht in write list. |valid users und write list in smb.conf prüfen. |
|
||||
|Papierkorb funktioniert nicht |vfs objects = recycle fehlt. |In smb.conf für die Freigabe oder global ergänzen. |
|
||||
|Rechte werden nicht übernommen|force group oder create mask fehlt.|In smb.conf ergänzen und Samba neu starten. |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
@@ -240,7 +240,7 @@ sudo crontab -u www-data -e
|
||||
nun können wir einen neuen Job einfügen:
|
||||
|
||||
```
|
||||
\*/15 \* \* \* \* php -f /var/www/nextcloud/cron.php
|
||||
*/15 * * * * php -f /var/www/nextcloud/cron.php
|
||||
```
|
||||
Wählen Sie nun im Administrations-Bereich von NextCloud bei Cron entsprechend auch cron aus.
|
||||
|
||||
@@ -287,5 +287,3 @@ Hier definieren Sie welche Gruppen ihres Servers in NextCloud übernommen werden
|
||||
|
||||
In der Benutzerübersicht sollen alle Nutzer mit ihrem Benutzernamen und nicht mit der UUID angezeigt werden. Somit ist es auch für die Nutzer einfacher, sich gegenseitig zu finden.
|
||||
|
||||
|
||||
[PDF herunterladen](nextcloud-ldap.pdf){ .md-button }
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -132,6 +132,3 @@ sudo systemctl stop <service> # Service stoppen
|
||||
|
||||
* **Cronjob**: Für wiederkehrende Aufgaben (regelmäßig, z.B. jede Minute, stündlich, täglich)
|
||||
* **systemd-Unit**: Für Aufgaben beim Systemstart, beim Herunterfahren oder bei bestimmten Ereignissen
|
||||
|
||||
|
||||
[PDF herunterladen](Automatisierung_mit_cron_und_systemd.pdf){ .md-button }
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,19 @@
|
||||
# Einstieg in Linux-Desktop
|
||||
|
||||
## Inhaltsverzeichnis
|
||||
[toc]
|
||||
|
||||
## **Warum Linux? Weil es mehr kann!**
|
||||
Linux ist nicht nur ein Betriebssystem – es ist **Freiheit**. Keine Lizenzkosten, keine erzwungenen Updates, keine Datensammelwut. Stattdessen:
|
||||
- **Volle Kontrolle** über dein System (keine Blackbox wie bei Windows/macOS).
|
||||
- **Sicherheit** durch Open Source: Jeder kann den Code prüfen – Backdoors? Fehlanzeige!
|
||||
- **Anpassbar** wie Lego: Von minimalistisch bis vollgepackt mit Tools – du entscheidest.
|
||||
- **Perfekt für Entwickler, Maker & Tüftler**: Docker, Python, Server-Tools – alles läuft out-of-the-box.
|
||||
- **Ressourcenschonend**: Läuft auch auf alter Hardware flüssig (z. B. als Media-Center oder NAS).
|
||||
|
||||
**Ihr Ziel heute:**
|
||||
Sie richten einen **Ubuntu-Desktop in VirtualBox** ein, lernen die Oberfläche kennen und setzten ein **Mini-Projekt** um: **Einen lokalen Webserver mit Python**, den sie später sogar von ihrem Host-PC aus aufrufen können.
|
||||
|
||||
## Notieren Sie bei jedem Schritt:
|
||||
|
||||
* Welche Menüpunkte oder Symbole Sie verwendet haben.
|
||||
@@ -51,6 +65,8 @@ So richten Sie den Proxy ein:
|
||||
* Suchen Sie nach „VLC“.
|
||||
* Installieren Sie den VLC Media Player.
|
||||
|
||||
Weitere Programme können Sie in einem kleinen Projekt ausprobieren: [Mein erstes kleines Linux Projekt](Mein_erstes_kleines_Linux-Projekt.md)
|
||||
|
||||
## System aktualisieren
|
||||
|
||||
* Öffnen Sie das grafische Update-Tool („Software Updater“ oder „Update Manager“).
|
||||
@@ -64,15 +80,10 @@ So richten Sie den Proxy ein:
|
||||
|
||||
## Remote-Zugriff einrichten und testen
|
||||
|
||||
* Aktivieren Sie „SSH“ und/oder „VNC“ und „RDP“ für den Fernzugriff. (VNC ist unter Ubuntu nicht mehr nativ vorhanden)
|
||||
* Aktivieren Sie „SSH“ und „RDP“ für den Fernzugriff.
|
||||
* Testen Sie den Remote-Zugriff auch von einem Windows-PC aus:
|
||||
* Für SSH: Verwenden Sie z.B. das Programm „PuTTY“.
|
||||
* Für VNC: Verwenden Sie z.B. „RealVNC Viewer“ (geht auch ohne Registrierung)
|
||||
* Für RDP: Verwenden Sie Micrsoft Remotedesktopverbindung
|
||||
* Melden Sie sich mit den Zugangsdaten Ihres Accounts an.
|
||||
* Für SSH: Verwenden Sie z.B. das Programm „PuTTY“ von ihrem Windows aus.
|
||||
* Für RDP: Verwenden Sie Microsoft Remotedesktopverbindung
|
||||
|
||||
> *Viel Erfolg beim Erkunden und Einrichten Ihres Linux Desktops!*
|
||||
Falls ihnen das selbst-probieren dieses Abschnittes zu viel wird gibt es [hier](Remotezugriff_einrichten.md0) eine Schitt-für-Schritt anleitung.
|
||||
|
||||
|
||||
|
||||
[PDF herunterladen](Einstieg_in_Linux-Desktop.pdf){ .md-button }
|
||||
Binary file not shown.
Binary file not shown.
89
mkdocs/docs/basics/Mein_erstes_kleines_Linux-Projekt.md
Normal file
89
mkdocs/docs/basics/Mein_erstes_kleines_Linux-Projekt.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# Mein erstes Linux Projekt
|
||||
|
||||
## Inhaltsverzeichnis
|
||||
[toc]
|
||||
|
||||
---
|
||||
|
||||
**Aufgabe**: Installieren Sie **3 Programme** aus der Liste und dokumentieren:
|
||||
1. **Warum** haben SIe sie gewählt?
|
||||
2. **Wie** haben Sie sie installiert (Terminal vs. Anwendungsverwaltung)?
|
||||
3. **Was** können Sie damit machen? (z. B. Screenshot mit Flameshot, Backup mit Timeshift).
|
||||
|
||||
## Tools für Einsteiger
|
||||
|
||||
Warum diese Programme? Weil sie:
|
||||
* **Alltagsprobleme lösen** (z. B.Screenshots, PDFs bearbeiten).
|
||||
* **Spaß machen** (z. B. Spiele, Medien).
|
||||
* **Produktivität steigern** (z. B. Notizen, Cloud-Sync).
|
||||
* **Linux spannender machen** (z. B. Terminal-Tools, System-Info).
|
||||
|
||||
Hier sind praktische und nützliche Programme für Linux-Einsteiger, die nicht standardmäßig in Linux Mint vorinstalliert sind -- sortiert nach Kategorien mit klarem Nutzen und Istallationsbefehlen falls nicht über die Programmsuche findbar.
|
||||
|
||||
## Tipps
|
||||
|
||||
1. **Anwendungsverwaltung / Ubuntu Software-Center**:
|
||||
Manche Programme (z. B. GIMP) gibt es dort mit **Bewertungen** - hilfreich für Einsteiger!
|
||||
2. **Flatpak vs. APT**:
|
||||
* **Flatpak** (````sudo flatpak install \...````): Einfacher, aber manchmal langsamer.
|
||||
* **APT** (````sudo apt install \...````): Schneller, aber manuell Updates nötig.
|
||||
|
||||
---
|
||||
|
||||
## Medien & Unterhaltung
|
||||
|
||||
| **Programm** | **Nutzen** | **Installationsbefehl** |
|
||||
|---------------|--------------------------------------|-------------------------|
|
||||
| **Kdenlive** | Video-Schnitt (einfacher als OpenShot,aber mächtiger). | sudo apt install kdenlive |
|
||||
| **Spotify** | Musik-Streaming (offizielle Linux-App). | sudo snap install spotify |
|
||||
| **GIMP** | Bildbearbeitung (Photoshop-Alternative). | sudo apt install gimp |
|
||||
| **OBS Studio** | Bildschirmaufnahmen & Livestreams. | sudo apt install obs-studio |
|
||||
| **Stacer** | System-Optimierung (wie CCleaner für Linux) | sudo apt install stacer |
|
||||
|
||||
---
|
||||
|
||||
## Produktivität & Office
|
||||
|
||||
|**Programm** | **Nutzen** | **Installationsbefehl** |
|
||||
| ----------------|--------------------------------|---------------------------|
|
||||
|**OnlyOffice** | Kompatibler mit MS Office (bessere Formatierung als LibreOffice). | sudo snap install onlyoffice-desktopeditors |
|
||||
| **Flameshot** | Screenshots mit Bearbeitung (besser als gnome-screenshot). | sudo apt install flameshot |
|
||||
| **KeePassXC** | Passwort-Manager (sicher & offline).| sudo apt install keepassxc|
|
||||
| **Nextcloud Client** | Cloud-Sync (z. B. für Meisterkurs/Arbeit). | sudo apt install nextcloud-desktop |
|
||||
|
||||
---
|
||||
|
||||
## System & Tools
|
||||
|
||||
| **Programm** | **Nutzen** | **Installationsbefehl**
|
||||
|---------------|----------------------------------|---------------------------|
|
||||
| **Timeshift** | System-Backups (wie \"Wiederherstellungspunkt\" in Windows). | sudo apt install timeshift |
|
||||
| **GParted** | Partitionen verwalten (z. B. USB-Sticks formatieren). | sudo apt install gparted |
|
||||
| **Neofetch** | Zeigt coole System-Infos im Terminal (Motivation!). | sudo apt install neofetch (dann ````neofetch```` eingeben) |
|
||||
| **htop** | Bessere Task-Manager-Alternative. | sudo apt install htop (dann ````htop```` eingeben) |
|
||||
| **Guake** | Dropdown-Terminal (nach start mit F12 ein-/ausblenden). | sudo apt install guake |
|
||||
|
||||
---
|
||||
|
||||
## Spiele & Spaß
|
||||
| **Programm** | **Nutzen** |**Installationsbefehl**|
|
||||
| ------------------|----------------------------------- |-------------------------|
|
||||
| **Steam** |Spiele-Plattform (viele Linux-Spiele verfügbar). | sudo apt install steam |
|
||||
| **Lutris** |Spiele-Manager für Windows-Spiele (via Wine). | sudo apt install lutris |
|
||||
| **SuperTuxKart** |Mario-Kart-ähnliches Rennspiel (Open Source). | sudo apt install supertuxkart |
|
||||
| **0 A.D.** |Strategie-Spiel (wie Age of Empires). | sudo apt install 0ad |
|
||||
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
## Entwicklung & Tüfteln
|
||||
|
||||
| **Programm** | **Nutzen** | **Installationsbefehl** |
|
||||
--------------- |-----------------------------------| -------------------------|
|
||||
| **VS Code** | Code-Editor (besser als Gedit). | sudo snap install \--classic code|
|
||||
| **Docker** | Container für Projekte (z. B. Webserver, Datenbanken). | sudo apt install docker.io|
|
||||
| **GitKraken** | Git-Client mit GUI (einfacher als Terminal). | sudo snap install gitkraken |\--classic |
|
||||
| **Postman** | API-Testing (für Web-Entwickler). | sudo snap install postman|
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
239
mkdocs/docs/basics/Praxisprojekt_Medien-NAS_fuer_KODI.md
Normal file
239
mkdocs/docs/basics/Praxisprojekt_Medien-NAS_fuer_KODI.md
Normal file
@@ -0,0 +1,239 @@
|
||||
---
|
||||
title: Praxisprojekt: Medien-Server mit Samba & Kodi
|
||||
subtitle: Schritt-für-Schritt-Anleitung für Linux- und Windows-Einsteiger
|
||||
lang: de-DE
|
||||
---
|
||||
|
||||
# Ziel des Projekts
|
||||
|
||||
Aufgebaut wird ein **Medien-Server mit Samba**, auf den **Windows-Clients** Medien (Musik, Videos, Bilder, ROMs) per **Windows-Freigabe** ablegen, und den eine **Kodi-VM** wiederum per SMB einbindet.
|
||||
Der ursprüngliche USB-Stick entfällt – alle Medien kommen direkt aus dem Netzwerk (z. B. vom Windows-PC).
|
||||
|
||||
---
|
||||
|
||||
## 1. Vorbereitung
|
||||
|
||||
### 1.1 Voraussetzungen
|
||||
|
||||
- Linux-Server (z. B. Ubuntu 24.04 LTS oder Linux Mint)
|
||||
- Samba ist installiert und läuft
|
||||
- Windows-PC im gleichen Netzwerk (legt Medien per Freigabe ab)
|
||||
- Virtuelle Maschine (z. B. VirtualBox) mit:
|
||||
- Linux Mint + Kodi **oder**
|
||||
- Direkt in Windows
|
||||
- Netzwerkzugriff zwischen Server, Windows-PC und VM
|
||||
|
||||
### 1.2 Samba-Grundkonfiguration prüfen
|
||||
|
||||
Konfigurationsdatei öffnen:
|
||||
|
||||
````bash
|
||||
sudo nano /etc/samba/smb.conf
|
||||
````
|
||||
|
||||
Minimal sinnvoller globaler Abschnitt (Beispiel):
|
||||
|
||||
````ini
|
||||
[global]
|
||||
workgroup = WORKGROUP
|
||||
server string = %h Samba Server
|
||||
|
||||
security = user
|
||||
|
||||
server min protocol = SMB2
|
||||
client min protocol = SMB2
|
||||
|
||||
unix charset = UTF-8
|
||||
ntlm auth = yes
|
||||
|
||||
log file = /var/log/samba/log.%m
|
||||
max log size = 1000
|
||||
````
|
||||
|
||||
Samba testen und Dienst starten:
|
||||
|
||||
````bash
|
||||
sudo samba-tool testparm
|
||||
sudo systemctl restart smbd
|
||||
````
|
||||
|
||||
## 2. Medienverzeichnisse für Samba anlegen
|
||||
|
||||
Die Medien sollen vom Windows-Client aus über freigegebene Ordner auf dem Server landen. Hierfür müssen Ordner mit passenden Rechten angelegt werden.
|
||||
|
||||
### 2.1 Ordnerstruktur anlegen
|
||||
|
||||
````bash
|
||||
sudo mkdir -p /srv/samba/{musik,videos,bilder,roms}
|
||||
````
|
||||
````-p```` erzeugt alle notwendigen Ordner darüber
|
||||
die Worte in den geschweiften Klammern ````{}```` werden nacheinander mit im Befehl ersetzt
|
||||
|
||||
### 2.2 Rechte für einfache (Gast-)Nutzung setzen
|
||||
|
||||
````bash
|
||||
sudo chown -R nobody:nogroup /srv/samba/{musik,videos,bilder,roms}
|
||||
sudo chmod -R 775 /srv/samba/{musik,videos,bilder,roms}
|
||||
````
|
||||
- `nobody:nogroup`: typischer Besitzer für anonyme Zugriffe
|
||||
- `775`: Besitzer/Gruppe Vollzugriff, andere lesen + ausführen
|
||||
|
||||
## 3. Samba-Freigaben für Medien einrichten
|
||||
|
||||
Freigaben in der Datei ````smb.conf```` anhängen:
|
||||
|
||||
````ini
|
||||
|
||||
[Musik]
|
||||
comment = Musik-Freigabe
|
||||
path = /srv/samba/musik
|
||||
browseable = yes
|
||||
read only = no
|
||||
guest ok = yes
|
||||
force create mode = 0664
|
||||
force directory mode = 0775
|
||||
|
||||
[Videos]
|
||||
comment = Video-Freigabe
|
||||
path = /srv/samba/videos
|
||||
browseable = yes
|
||||
read only = no
|
||||
guest ok = yes
|
||||
force create mode = 0664
|
||||
force directory mode = 0775
|
||||
|
||||
[Bilder]
|
||||
comment = Bilder-Freigabe
|
||||
path = /srv/samba/bilder
|
||||
browseable = yes
|
||||
read only = no
|
||||
guest ok = yes
|
||||
force create mode = 0664
|
||||
force directory mode = 0775
|
||||
|
||||
[ROMs]
|
||||
comment = ROMs für Retro-Spiele
|
||||
path = /srv/samba/roms
|
||||
browseable = yes
|
||||
read only = no
|
||||
guest ok = yes
|
||||
force create mode = 0664
|
||||
force directory mode = 0775
|
||||
````
|
||||
Samba testen und Dienst starten:
|
||||
|
||||
````bash
|
||||
sudo samba-tool testparm
|
||||
sudo systemctl restart smbd
|
||||
````
|
||||
## 4. Medien vom Windows-PC auf den Server kopieren
|
||||
|
||||
### 4.1 Freigaben von Windows aus verbinden
|
||||
|
||||
Auf dem Windows-PC im Explorer:
|
||||
````
|
||||
\\IP_DES_SERVERS\Musik
|
||||
\\IP_DES_SERVERS\Videos
|
||||
\\IP_DES_SERVERS\Bilder
|
||||
\\IP_DES_SERVERS\ROMs
|
||||
````
|
||||
Falls Gastzugriff erlaubt ist (`guest ok = yes`), kann meist ohne Benutzername/Passwort zugegriffen werden.
|
||||
In produktiven Szenarien sollten stattdessen Benutzerkonten und `guest ok = no` verwendet werden.
|
||||
### 4.2 Medien kopieren
|
||||
|
||||
- Auf dem Windows-PC:
|
||||
- Musik-Dateien nach `\\IP\Musik` kopieren
|
||||
- Video-Dateien nach `\\IP\Videos`
|
||||
- Bilder nach `\\IP\Bilder`
|
||||
- ROMs (z. B. `.nes`, `.sfc`, `.iso`) nach `\\IP\ROMs`
|
||||
|
||||
Zur Kontrolle auf dem Server:
|
||||
````bash
|
||||
ls /srv/samba/musik
|
||||
ls /srv/samba/videos
|
||||
ls /srv/samba/bilder
|
||||
ls /srv/samba/roms
|
||||
````
|
||||
|
||||
## 5. Kodi installieren
|
||||
|
||||
## 5.1 Option A: Kodi auf Ubuntu-Desktop
|
||||
Installieren Sie das Programm KODI aus der Softwaresammlung oder:
|
||||
````bash
|
||||
sudo apt update
|
||||
sudo apt install kodi
|
||||
````
|
||||
## 5.2 Option B: Kodi auf Windows
|
||||
Laden Sie Kodi von der [Homepage kodi.tv](https://kodi.tv/download/) herunter und instlalieren Sie
|
||||
|
||||
## 6. Samba-Freigaben in Kodi einbinden
|
||||
|
||||
### 6.1 Netzwerkfreigaben als Quellen hinzufügen
|
||||
|
||||
In Kodi:
|
||||
|
||||
1. **Dateimanager** öffnen
|
||||
2. **Quelle hinzufügen**
|
||||
3. **Durchsuchen → Netzwerkfreigabe hinzufügen → SMB**
|
||||
4. Server-IP eintragen (z. B. `192.168.178.50`)
|
||||
5. Freigabe auswählen, z. B.:
|
||||
- `Musik`
|
||||
- `Videos`
|
||||
- `Bilder`
|
||||
- `ROMs`
|
||||
|
||||
Wenn `guest ok = yes` gesetzt ist, kann meist mit **Gast** zugegriffen werden.
|
||||
Bei Benutzerauthentifizierung:
|
||||
|
||||
- Benutzername: Samba-Benutzer (z. B. `medienuser`)
|
||||
- Passwort: entsprechend `smbpasswd`
|
||||
|
||||
Quelle benennen, z. B. „Musik-Samba“.
|
||||
|
||||
### 6.2 Medienbibliothek einrichten
|
||||
|
||||
#### Musik
|
||||
|
||||
1. In Kodi zu **Musik → Dateien**
|
||||
2. Quelle „Musik-Samba“ auswählen
|
||||
3. Kontextmenü (Rechtsklick oder Menütaste) → **Zur Bibliothek hinzufügen**
|
||||
4. Scraper wählen (z. B. „Universal Album Scraper“)
|
||||
|
||||
#### Videos
|
||||
|
||||
Analog:
|
||||
|
||||
1. **Filme/Serien → Dateien**
|
||||
2. Quelle „Videos-Samba“ auswählen
|
||||
3. **Inhalt festlegen** → Typ (Filme, Serien…)
|
||||
4. Passenden Scraper wählen
|
||||
|
||||
#### Bilder
|
||||
|
||||
Unter **Bilder** Quellen hinzufügen und direkt als Bilderquelle verwenden.
|
||||
|
||||
## 7. Kodi anpassen
|
||||
|
||||
### 7.1 Wetter-Add-on
|
||||
|
||||
1. **Add-ons → Aus Repository installieren → Wetter**
|
||||
2. Ein Wetter-Add-on (z. B. OpenWeatherMap) auswählen
|
||||
3. Installieren
|
||||
4. In den Add-on-Einstellungen:
|
||||
- API-Schlüssel eintragen (bei Bedarf vorher erstellen)
|
||||
- Standort konfigurieren (z. B. „Berlin, DE“)
|
||||
|
||||
### 7.2 Retro-Spiele (ROMs)
|
||||
|
||||
1. **Add-ons → Aus Repository installieren → Spiele → Emulator-Add-ons**
|
||||
2. Passende Emulatoren (z. B. für NES, SNES, PlayStation) installieren
|
||||
3. In den Emulator-Einstellungen:
|
||||
- ROM-Pfade hinzufügen, z. B. `smb://192.168.178.50/ROMs`
|
||||
Mehr Funktionen was Spielen angeht müssen Sie sich im Netz informieren.
|
||||
|
||||
### 7.3 Skin anpassen
|
||||
|
||||
1. **Einstellungen → Oberfläche → Skin**
|
||||
2. „Weitere Skins herunterladen“ auswählen
|
||||
3. Z. B. **Estuary Mod V2** installieren
|
||||
4. Aktivieren → Kodi neustarten
|
||||
122
mkdocs/docs/basics/Remotezugriff_einrichten.md
Normal file
122
mkdocs/docs/basics/Remotezugriff_einrichten.md
Normal file
@@ -0,0 +1,122 @@
|
||||
# Remote-Zugriff auf Linux Mint von Windows aus (GUI-basiert)
|
||||
|
||||
Diese Anleitung zeigt Schritt für Schritt, wie Sie von einem Windows-Rechner aus auf ein Linux‑Mint‑System zugreifen:
|
||||
|
||||
1. Zuerst richten Sie **grafischen Remote-Desktop** mit **xrdp** und der Windows-Remotedesktop-App ein und testen ihn direkt.
|
||||
2. Anschließend richten Sie den **SSH-Zugriff** mit **PuTTY** ein und testen ihn ebenfalls sofort.
|
||||
---
|
||||
|
||||
## Inhaltverzeichnis
|
||||
[toc]
|
||||
|
||||
---
|
||||
|
||||
## 1. Grafischer Remote-Desktop mit xrdp
|
||||
|
||||
### 1.1 xrdp auf Linux Mint installieren
|
||||
|
||||
1. Melden Sie sich lokal an Ihrem **Linux‑Mint‑Rechner** an.
|
||||
2. Öffnen Sie das **Menü** und starten Sie die **Anwendungsverwaltung** (Software-Manager).
|
||||
3. Geben Sie oben im Suchfeld **„xrdp“** ein.
|
||||
4. Wählen Sie den Eintrag **„xrdp“** aus.
|
||||
5. Klicken Sie auf **„Installieren“** und geben Sie bei Nachfrage Ihr Passwort ein.
|
||||
6. Warten Sie, bis die Installation abgeschlossen ist – der Dienst startet danach automatisch.
|
||||
|
||||
> Hinweis: Bei der Installation legt xrdp automatisch die Gruppe **„xrdp“** an. Benutzer dieser Gruppe dürfen sich per Remote Desktop anmelden.
|
||||
|
||||
### 1.2 Benutzer grafisch der Gruppe „xrdp“ hinzufügen
|
||||
|
||||
1. Öffnen Sie das **Menü**.
|
||||
2. Gehen Sie zu **„Einstellungen“ → „Benutzer und Gruppen“** (oder ähnlich benannter Eintrag).
|
||||
3. Bestätigen Sie bei Bedarf mit Ihrem Passwort.
|
||||
4. Wählen Sie in der Benutzerliste den gewünschten Benutzer (z. B. `meister`) aus.
|
||||
5. Klicken Sie auf **„Gruppen verwalten“** oder **„Erweiterte Einstellungen“**.
|
||||
6. In der Liste der Gruppen setzen Sie ein **Häkchen** bei **„xrdp“**.
|
||||
7. Bestätigen Sie mit **„OK“**, **„Anwenden“** oder **„Speichern“**.
|
||||
8. Melden Sie den Benutzer einmal **ab und wieder an**, damit die Gruppenzugehörigkeit aktiv wird.
|
||||
|
||||
### 1.3 IP-Adresse von Linux Mint ohne Terminal ermitteln
|
||||
|
||||
1. Klicken Sie unten rechts in der Panel-Leiste auf das **Netzwerksymbol** (LAN oder WLAN).
|
||||
2. Wählen Sie **„Verbindungsinformationen“** oder **„Netzwerkverbindungen“**.
|
||||
3. In den Verbindungsdetails sehen Sie die **IPv4-Adresse**, z. B. `192.168.1.50`.
|
||||
4. Notieren Sie sich diese Adresse – sie wird gleich für den Test benötigt.
|
||||
|
||||
### 1.4 Remote Desktop von Windows aus testen
|
||||
|
||||
1. Wechseln Sie an Ihren **Windows-Rechner**.
|
||||
2. Öffnen Sie das Startmenü und suchen Sie nach **„Remotedesktopverbindung“** oder geben Sie `mstsc` in die Suche ein.
|
||||
3. Starten Sie die Anwendung **„Remotedesktopverbindung“**.
|
||||
4. Im Feld **„Computer“** tragen Sie die IP-Adresse des Linux‑Mint‑Rechners ein, z. B. `192.168.1.50`.
|
||||
5. Optional: Klicken Sie auf **„Optionen einblenden“**, um Anzeigeeinstellungen anzupassen.
|
||||
6. Klicken Sie auf **„Verbinden“**.
|
||||
7. Beim ersten Verbindungsaufbau erscheint ein Hinweis zur Identität des Remotecomputers:
|
||||
- Bestätigen Sie mit **„Ja“**.
|
||||
8. Es erscheint der **xrdp-Anmeldebildschirm**:
|
||||
- Sitzungsart: **„Xorg“** belassen (Standard)
|
||||
- **Benutzername**: z. B. `meister`
|
||||
- **Passwort**: Passwort des Linux-Kontos
|
||||
9. Klicken Sie auf **„OK“** oder **„Anmelden“**.
|
||||
|
||||
Nach kurzer Zeit sollte der Linux‑Mint‑Desktop in einem Fenster auf Ihrem Windows-Rechner erscheinen.
|
||||
Sie haben damit den ersten Erfolg: grafischer Remote-Zugriff funktioniert.
|
||||
|
||||
---
|
||||
|
||||
## 2. Textbasierter Zugriff mit SSH und PuTTY
|
||||
|
||||
Nach dem erfolgreichen grafischen Zugriff richten Sie nun den SSH-Zugriff ein.
|
||||
|
||||
### 2.1 OpenSSH-Server über die Anwendungsverwaltung installieren
|
||||
|
||||
1. Melden Sie sich (falls nötig) wieder lokal an Ihrem **Linux‑Mint‑Rechner** an.
|
||||
2. Öffnen Sie das **Menü** und starten Sie erneut die **Anwendungsverwaltung**.
|
||||
3. Geben Sie im Suchfeld **„OpenSSH Server“** oder **„openssh-server“** ein.
|
||||
4. Wählen Sie den Eintrag **„OpenSSH Server“** aus.
|
||||
5. Klicken Sie auf **„Installieren“** und geben Sie Ihr Passwort ein.
|
||||
6. Warten Sie, bis die Installation abgeschlossen ist – der SSH-Dienst startet automatisch und wird beim Systemstart aktiviert.
|
||||
|
||||
> Die IP-Adresse bleibt dieselbe wie im Remote-Desktop-Teil; sie muss nicht neu gesucht werden.
|
||||
|
||||
|
||||
|
||||
### 2.2 PuTTY auf Windows installieren
|
||||
|
||||
1. Öffnen Sie auf dem **Windows-Rechner** den Webbrowser.
|
||||
2. Rufen Sie die offizielle PuTTY-Downloadseite auf, z. B.:
|
||||
`https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html`
|
||||
3. Laden Sie den **64‑Bit Windows Installer** herunter.
|
||||
4. Starten Sie den Installer per Doppelklick und folgen Sie dem Assistenten (Standardeinstellungen reichen).
|
||||
5. Nach der Installation finden Sie **PuTTY** im Startmenü.
|
||||
|
||||
|
||||
### 2.3 SSH-Verbindung mit PuTTY testen
|
||||
|
||||
1. Starten Sie **PuTTY** über das Windows-Startmenü.
|
||||
2. Im Feld **„Host Name (or IP address)“** tragen Sie die IP-Adresse des Linux‑Mint‑Rechners ein, z. B. `192.168.1.50`.
|
||||
3. Prüfen Sie:
|
||||
- **Port**: `22`
|
||||
- **Connection type**: `SSH`
|
||||
4. Optional:
|
||||
- Geben Sie unter **„Saved Sessions“** einen Namen wie `Mint-SSH` ein.
|
||||
- Klicken Sie auf **„Save“**, um die Sitzung zu speichern.
|
||||
5. Klicken Sie auf **„Open“**.
|
||||
6. Beim ersten Verbindungsaufbau erscheint ein Sicherheitshinweis zum Server-Schlüssel:
|
||||
- Bestätigen Sie mit **„Accept“** bzw. **„Ja“**.
|
||||
7. Geben Sie im Terminalfenster den **Benutzernamen** Ihres Linux-Kontos ein und drücken Sie Enter.
|
||||
8. Geben Sie anschließend Ihr **Passwort** ein (es wird beim Tippen nicht angezeigt) und bestätigen Sie mit Enter.
|
||||
|
||||
Sie sind nun per SSH mit Linux Mint verbunden und können textbasierte Befehle ausführen, Konfigurationsdateien bearbeiten und Protokolle ansehen.
|
||||
|
||||
---
|
||||
|
||||
## 3. Kurzer Überblick: Was wurde erreicht?
|
||||
|
||||
- **xrdp + Remotedesktop**:
|
||||
- Grafischer Zugriff auf den Linux‑Mint‑Desktop von Windows aus
|
||||
- Benutzersteuerung über die bestehende Gruppe **„xrdp“**
|
||||
|
||||
- **OpenSSH-Server + PuTTY**:
|
||||
- Textbasierter Zugriff (Shell) auf Linux Mint
|
||||
- Ideal für Administration, Skripte und Log-Analyse
|
||||
|
||||
@@ -1,314 +0,0 @@
|
||||
# Windows-Freigabe mit Samba
|
||||
|
||||
Samba ist die Linux-Variante um SMB-Verbindungen zu Windows, Linux und OS X (macOS) herzustellen. Hierfür wird ein Serverdienst installiert und über eine übersichtliche Konfigurationsdatei entsprechend den Anforderungen eingestellt. Es existieren zwar auch Möglichkeiten diese Freigaben über GUI-Programme oder Webinterfaces zu konfigurieren allerdings sind deren Funktionsumfang meist auf Basis-Funktionen beschränkt. Samba bietet eine Überprüfungsmöglichkeit der Konfigurationsdatei, um Schreibfehler und deren Konsequenzen übersichtlich darzustellen.
|
||||
|
||||
## Installation
|
||||
|
||||
Für die Installation empfiehlt sich die Shell da hierüber sinnvoll beobachtet werden kann welche weiteren Abhängigkeiten installiert werden.
|
||||
|
||||
### Shell-Installation
|
||||
|
||||
Update der Paketdatenbank und der installierten Pakete
|
||||
|
||||
```bash
|
||||
sudo apt update && sudo apt-get upgrade -y
|
||||
```
|
||||
|
||||
Installation des Samba-Dienstes
|
||||
|
||||
```bash
|
||||
sudo apt install samba
|
||||
```
|
||||
|
||||
Nach der Installation des Dienstes kann dieser über die Konfigurationsdatei /etc/samba/smb.conf bearbeitet werden. Die von Ubuntu vorkonfigurierte Version ist nahezu vollständig selbsterklärend und mit entsprechenden Beispielen versehen.
|
||||
|
||||
## /etc/samba/smb.conf
|
||||
|
||||
Hier soll der Aufbau der Datei mit ihren Default werten erkärt werden. Schauen Sie sich parallel ihre Datei auf ihrem System an.
|
||||
|
||||
```ini
|
||||
[global]
|
||||
workgroup = WORKGROUP
|
||||
```
|
||||
|
||||
Hier wird die Arbeitsgruppe bzw. die Domäne, in der der Samba-Server
|
||||
betrieben werden soll definiert.
|
||||
|
||||
```ini
|
||||
server string = %h server (Samba, Ubuntu)
|
||||
```
|
||||
|
||||
Die Beschreibung des Servers (mouse-over) wobei für %h für der hostname
|
||||
des Servers eingesetzt wird.
|
||||
|
||||
|
||||
```ini
|
||||
dns proxy = no
|
||||
```
|
||||
|
||||
Bei der Grundkonfiguration no wird kein DNS-Server für die Namensauflösung genutzt sondern nur die lokalen host Dateien, WINS-Server und Broadcasts. Wenn ein funktionierender DNS-Server im Netzwerk vorhanden ist kann dieser durch den Einsatz von yes ebenfalls genutzt werden.
|
||||
|
||||
```ini
|
||||
interfaces = 127.0.0.0/8 eth0
|
||||
bind interfaces only = yes
|
||||
```
|
||||
|
||||
Hier kann konfiguriert werden ob der Samba-Server auf einer, mehreren oder allen Netzwerkkarten und IP-Adressen verfügbar ist. Wenn Sie hier nichts verändern ist der Server Grundsätzlich auf allen Netzwerkkarten und Subnetzen erreichbar.
|
||||
|
||||
```ini
|
||||
server role =
|
||||
```
|
||||
|
||||
standalone server: Die einfachste Variante, nur User die per smbpasswd hinzugefügt wurden können auf den Samba-Server zugreifen.
|
||||
|
||||
member server: Der Server ist Mitglied einer Domäne und hat ein Maschinenkonto auf dem ADDC an welchen auch die Benutzeranfragen weitergegegeben werden.
|
||||
|
||||
classic primary domain controller: Samba agiert als NT4 PDC
|
||||
|
||||
classic backup domain controller : Samba ist ein sekundärer NT4 DC
|
||||
|
||||
active directory domain controller: Samba agiert als ADDC und übernimmt die gesamte Benutzerauthentifizierung. Diese Einstellung sollte nicht von Hand genutzt werden da hierfür ein Provisionierungsscript genutzt wird.
|
||||
|
||||
```
|
||||
map to guest = bad user
|
||||
```
|
||||
|
||||
Was passiert mit unbekannten Nutzern.
|
||||
|
||||
## Freigaben
|
||||
|
||||
Freigaben werden je nach Funktionalität unterschiedlich beschrieben wobei es auch besondere Freigaben gibt, welche z.B. Drucker, Clientspezifisch oder Userspezifische Freigaben betreffen.
|
||||
|
||||
## Beispiel einer freien Freigabe z.B. Medienfreigabe im Privatbereich
|
||||
|
||||
```ini
|
||||
[Musik]
|
||||
comment = Musikfreigabe
|
||||
path = /srv/samba/musik
|
||||
read only = no
|
||||
browseable = yes
|
||||
```
|
||||
|
||||
Nach dem Speichern überprüfen Sie ob alle Funktionen, die sie definiert
|
||||
haben korrekt übernommen werden konnten:
|
||||
|
||||
```bash
|
||||
sudo samba-tool testparm
|
||||
```
|
||||
|
||||
Sie werden feststellen, dass die Option browseable nicht angezeigt wird. Dies liegt daran, dass diese Kombination browseable = yes ein defaultwert ist und somit nicht angezeigt wird.
|
||||
|
||||
Damit diese Freigabe auch funktioniert, muss Sie auch auf dem System vorhanden sein, sowie die korrekte Rechtevergabe erfolgt sein.
|
||||
|
||||
```bash
|
||||
sudo mkdir /srv/samba
|
||||
sudo mkdir /srv/samba/musik
|
||||
sudo chmod -R a+rw /srv/samba/musik
|
||||
```
|
||||
|
||||
nach Abschluss dieser Aktion muss der Samba-Dienst und der NetBIOS-Nameserver neu gestartet werden.
|
||||
|
||||
```bash
|
||||
sudo systemctl restart smbd.service nmbd.service
|
||||
```
|
||||
|
||||
Alle vor der Installation von Samba vorhandenen User sind nicht in der Samba-Datenbank hinterlegt und müssen nachgepflegt werden. Hierbei geben sie ihren Usernamen und ihr Passwort erneut ein. Spätere Änderungen werden synchronisiert.
|
||||
|
||||
```bash
|
||||
sudo smbpasswd -a USERNAME
|
||||
```
|
||||
|
||||
Nun können Sie von einem beliebigen Client auf diese Freigabe zugreifen:
|
||||
|
||||
Windows:
|
||||
|
||||
Explorer öffnen und in der Adresszeile:
|
||||
|
||||
```
|
||||
\\IP des Servers\Musik
|
||||
```
|
||||
|
||||
eingeben oder direkt ein Netzlaufwerk verbinden
|
||||
|
||||
Linux und OSX:
|
||||
|
||||
Im Dateimanager in die Adresszeile:
|
||||
|
||||
```
|
||||
smb://IP des Servers/Musik
|
||||
```
|
||||
|
||||
## Beispiel eingeschränkte Freigabe z.B. Unterlagen für bestimmten Personenkreis.
|
||||
|
||||
Im Vorfeld solcher Freigaben müssen die betreffenden Benutzer zum einen auf dem System vorhanden sein und auch noch ergänzend in Samba bekannt gemacht werden. Dazu legen wir nun 2 neue Nutzer an, um später nachvollziehen zu können wer was darf. Dazu als Beispiel Hans Wurst aus der Produktion und Peter Lustig aus der Verwaltung.
|
||||
|
||||
Im folgenden werden Zugriffsgruppen definiert welche es ermöglichen die Lese- und Schreibrechte sauber Granuliert darzustellen:
|
||||
|
||||
| | Lesen
Angebote | Schreiben
Angebote | Lesen
Lieferscheine | Schreiben
Lieferscheine |
|
||||
| ------------ | ------------------ | ---------------------- | ----------------------- | --------------------------- |
|
||||
| Hans Wurst | X | | | X |
|
||||
| Peter Lustig | | X | | X |
|
||||
|
||||
```bash
|
||||
sudo adduser hwurst
|
||||
sudo adduser plustig
|
||||
sudo addgroup angebote_l
|
||||
sudo addgroup angebote_ae
|
||||
sudo addgroup lieferscheine_l
|
||||
sudo addgroup lieferscheine_ae
|
||||
sudo usermod -aG angebote_l hwurst
|
||||
sudo usermod -aG lieferscheine_ae hwurst
|
||||
sudo usermod -aG angebote_ae plustig
|
||||
sudo usermod -aG lieferscheine_ae plustig
|
||||
```
|
||||
|
||||
Bekanntgabe an Samba:
|
||||
|
||||
```bash
|
||||
sudo smbpasswd -a hwurst
|
||||
sudo smbpasswd -a plustig
|
||||
```
|
||||
|
||||
Erstellen der Verzeichnisse:
|
||||
|
||||
```bash
|
||||
sudo mkdir /srv/samba/angebote
|
||||
sudo chown -R nobody:angebote_ae /srv/samba/angebote
|
||||
sudo chmod -R 0077 /srv/samba/angebote
|
||||
sudo mkdir /srv/samba/lieferscheine
|
||||
sudo chown -R nobody:lieferscheine_ae /srv/samba/lieferscheine
|
||||
sudo chmod -R 0077 /srv/samba/lieferscheine
|
||||
sudo nano /etc/samba/smb.conf
|
||||
```
|
||||
Erklärung:
|
||||
```bash
|
||||
chown Rekursive USER:GRUPPE Pfad
|
||||
chmod Rekurisv OKTALMODE-RECHTE (Siehe Tabelle) Pfad
|
||||
```
|
||||
Die Zahlenfolge 0077 Steht für die Rechte im Ordner:
|
||||
* 0 Spezialrechte (Sticky bit damit Dateiersteller Dateieigentümer bleiben, für Samba besser auf 0)
|
||||
* 0 Eigentümer (vorher auf nobody gesetzt)
|
||||
* 7 Gruppe (vorher auf angebote_ae gesetzt)
|
||||
* 7 Andere (sonstige user im System ohne Samba)
|
||||
|
||||
| Oktal | Binär | Rechte (rwx) | Typische Nutzung |
|
||||
| ----- | ----- | ------------ | ------------------------------------------------- |
|
||||
| 0 | 000 | --- | Kein Zugriff |
|
||||
| 1 | 001 | --x | Nur Ausführen (z. B. Skripte) |
|
||||
| 2 | 010 | -w- | Nur Schreiben |
|
||||
| 3 | 011 | -wx | Schreiben + Ausführen |
|
||||
| 4 | 100 | r-- | Nur Lesen |
|
||||
| 5 | 101 | r-x | Lesen + Ausführen (Ordner/Dateien) |
|
||||
| 6 | 110 | rw- | Lesen + Schreiben |
|
||||
| 7 | 111 | rwx | Voller Zugriff (unsicher für Freigaben) |
|
||||
|
||||
In der Datei /etc/samba/smb.conf:
|
||||
|
||||
```ini
|
||||
[Angebote]
|
||||
comment = Angebote an Kunden
|
||||
path = /srv/samba/angebote
|
||||
guest ok = no
|
||||
browseable = yes
|
||||
readonly = yes
|
||||
valid users = @angebote_l, @angebote_ae
|
||||
write list = @angebote_ae
|
||||
force create mode = 0775
|
||||
force directory mask = 0775
|
||||
force group = angebote_ae
|
||||
|
||||
[Lieferscheine]
|
||||
copy = Angebote
|
||||
comment = Lieferscheine von Lieferanten
|
||||
path = /srv/samba/lieferscheine
|
||||
valid users = @lieferscheine_l, @lieferscheine_ae
|
||||
write list = @lieferscheine_ae
|
||||
force group = lieferscheine_ae
|
||||
|
||||
```
|
||||
|
||||
## Userverzeichnis
|
||||
|
||||
> Jeder User der Zugriffsrechte auf Samba selbst hat kann durch eine spezielle Freigabe automatisch Zugriff auf sein eigenes Home-Verzeichnis erhalten. Diese ist in der Beispielkonfiguration der smb.conf bereits auskommentiert vorhanden und kann schlicht wieder ein kommentiert werden.
|
||||
|
||||
```ini
|
||||
[homes]
|
||||
comment = Privates Verzeichnis
|
||||
browseable = no
|
||||
read only = yes
|
||||
create mask = 0700
|
||||
directory mask = 0700
|
||||
valid users = %S
|
||||
|
||||
```
|
||||
|
||||
„homes" ist hier nur ein Platzhalter dieser wird automatisch durch den jeweiligen Usernamen ersetzt und auch der Zugriff ist dann nur für diesen User verfügbar.
|
||||
|
||||
## Sonderfall Drucker
|
||||
|
||||
Für Drucker ist standartmäßig eine Freigabe aktiviert ähnlich wie dies auch Windows in einem Heimnetzwerk tut. Die Konfiguration können Sie der Beispielkonfiguration der smb.conf entnehmen es sind 2 Freigaben notwendig, um ALLE Drucker freizugeben.
|
||||
|
||||
```ini
|
||||
[printers]
|
||||
comment = Alle Drucker
|
||||
browseable = no
|
||||
path = /var/spool/samba
|
||||
printable = yes
|
||||
guest ok = no
|
||||
read only = yes
|
||||
create mask = 0700
|
||||
```
|
||||
|
||||
Damit werden Alle Drucker, die am System eingerichtet sind mit jeweils einem eigenen Eintrag freigegeben.
|
||||
|
||||
```ini
|
||||
[print$]
|
||||
comment = Drucker Treiber
|
||||
path /var/lib/samba/printers
|
||||
browseable = yes
|
||||
read only = yes
|
||||
guest ok = no
|
||||
|
||||
```
|
||||
|
||||
Hier sucht Windows nach Druckertreibern. Die Treiber müssen entweder über andere Wege in dieses Verzeichnis gelegt werden oder es kann auch ein write list Eintrag hinzugefügt werden.
|
||||
|
||||
## Netzwerkpapierkorb
|
||||
|
||||
Auf einem Netzlaufwerk gelöschte Dateien können schnell mal verloren gehen, dafür lässt sich ein Netzwerkpapierkorb einsetzen. Entweder unter global für alle Freigaben oder pro Freigabe einmal einsetzen.
|
||||
|
||||
```ini
|
||||
# Virtuelles File System "recycle" wird angelegt
|
||||
vfs object = recycle
|
||||
# Der Pfad zum Papierkorb relativ zur Freigabe (".recyclebin" ist
|
||||
Default).
|
||||
recycle:repository = .recyclebin
|
||||
# Im Papierkorb bleiben Pfad-Angaben erhalten.
|
||||
recycle:keeptree = Yes
|
||||
# Beim Verschieben wird der Zeitstempel angepasst.
|
||||
recycle:touch = Yes
|
||||
# Gleichnamige Dateien werden nicht überschrieben.
|
||||
recycle:versions = Yes
|
||||
# Keine Begrenzung der Dateigröße pro gelöschter Datei.
|
||||
recycle:maxsize = 0
|
||||
```
|
||||
|
||||
Und wer leert den? Durch Cron wird jeden Tag der Papierkorb durchsucht
|
||||
und alles, was älter als 14 Tage ist gelöscht.
|
||||
|
||||
```bash
|
||||
sudo crontab -e
|
||||
```
|
||||
|
||||
In einer Zeile:
|
||||
|
||||
```
|
||||
0 12 * * * for path in $(grep path /etc/samba/smb.conf | cut -d= -f2 | sed -e 's/ //' -e 's/\%S/*/'); do if ; then find ${path}/.recycle -mindepth 1 -mtime +14 -exec rm -rf {} \;; fi; done
|
||||
```
|
||||
|
||||
Was steht da nun drin:
|
||||
|
||||
Jeden Tag um 0:12 soll in der smb.conf nach Pfad-Angaben gesucht werden und innerhalb dieser die Pfade „.recycle" nach Dateien durchsucht werden die älter als 14 Tage sind. Diese werden gelöscht.
|
||||
|
||||
|
||||
[PDF herunterladen](Windows-Freigabe_mit_Samba.pdf){ .md-button }
|
||||
330
mkdocs/docs/basics/Windows-Freigabe_mit_Samba.md
Normal file
330
mkdocs/docs/basics/Windows-Freigabe_mit_Samba.md
Normal file
@@ -0,0 +1,330 @@
|
||||
# Windows-Freigabe mit Samba
|
||||
|
||||
Samba ist die Linux-Variante um SMB-Verbindungen zu Windows, Linux und OS X (macOS) herzustellen. Hierfür wird ein Serverdienst installiert und über eine übersichtliche Konfigurationsdatei entsprechend den Anforderungen eingestellt. Es existieren zwar auch Möglichkeiten diese Freigaben über GUI-Programme oder Webinterfaces zu konfigurieren allerdings sind deren Funktionsumfang meist auf Basis-Funktionen beschränkt. Samba bietet eine Überprüfungsmöglichkeit der Konfigurationsdatei, um Schreibfehler und deren Konsequenzen übersichtlich darzustellen.
|
||||
|
||||
## Inhaltsverzeichnis
|
||||
[toc]
|
||||
|
||||
|
||||
## Installation
|
||||
|
||||
Für die Installation empfiehlt sich die Shell da hierüber sinnvoll beobachtet werden kann welche weiteren Abhängigkeiten installiert werden.
|
||||
|
||||
### Shell-Installation
|
||||
|
||||
Update der Paketdatenbank und der installierten Pakete
|
||||
|
||||
```bash
|
||||
sudo apt update && sudo apt-get upgrade -y
|
||||
```
|
||||
|
||||
Installation des Samba-Dienstes
|
||||
|
||||
```bash
|
||||
sudo apt install samba
|
||||
```
|
||||
|
||||
Nach der Installation des Dienstes kann dieser über die Konfigurationsdatei /etc/samba/smb.conf bearbeitet werden. Die von Ubuntu vorkonfigurierte Version ist nahezu vollständig selbsterklärend und mit entsprechenden Beispielen versehen.
|
||||
|
||||
## /etc/samba/smb.conf
|
||||
|
||||
### Samba-Konfiguration (`smb.conf`) einfach erklärt
|
||||
Die Datei `/etc/samba/smb.conf` steuert, wie dein Linux-Server Dateien und Drucker für Windows-, macOS- oder andere Linux-Geräte freigibt.
|
||||
Sie ist in **zwei Hauptbereiche** unterteilt:
|
||||
1. **Globale Einstellungen** (`[global]`): Grundlegende Server-Konfiguration.
|
||||
2. **Freigaben** (`[Freigabename]`): Definition einzelner freigegebener Ordner/Drucker.
|
||||
|
||||
### 1. Globale Einstellungen `[global]`
|
||||
Diese Einstellungen gelten für den **gesamten Samba-Server**.
|
||||
Hier ein Auszug der wichtigsten Optionen für einen **Standalone-Server** (ohne Domain):
|
||||
|
||||
```ini
|
||||
[global]
|
||||
# Name der Arbeitsgruppe (wie in Windows-Netzwerken)
|
||||
workgroup = WORKGROUP
|
||||
|
||||
# Beschreibung des Servers (erscheint z.B. in Windows-Explorer)
|
||||
server string = %h server (Samba, Ubuntu)
|
||||
|
||||
# Netzwerk-Interfaces: Auf welchen IP-Adressen/Netzwerkkarten soll Samba laufen?
|
||||
; interfaces = 127.0.0.0/8 eth0 # Standard: Alle verfügbaren Interfaces
|
||||
; bind interfaces only = yes # Nur auf den oben genannten Interfaces
|
||||
|
||||
# Protokollierung: Wo und wie werden Logs geschrieben?
|
||||
log file = /var/log/samba/log.%m # %m = Name des Clients (z. B. "log.PC1")
|
||||
max log size = 1000 # Maximale Log-Größe in KB
|
||||
logging = file # Logs nur in Dateien (nicht syslog)
|
||||
|
||||
# Sicherheit: Wie authentifizieren sich Nutzer?
|
||||
server role = standalone server # Server arbeitet allein (keine Domain)
|
||||
map to guest = bad user # Unbekannte Nutzer werden als "Gast" behandelt
|
||||
obey pam restrictions = yes # Nutzer müssen sich an Linux-PAM-Regeln halten
|
||||
unix password sync = yes # Samba-Passwort ändert auch Linux-Passwort
|
||||
passwd program = /usr/bin/passwd %u # Programm zum Ändern des Passworts
|
||||
pam password change = yes # Nutze PAM für Passwort-Änderungen
|
||||
|
||||
# Nutzerfreigaben: Erlaube Nutzern, eigene Freigaben zu erstellen
|
||||
usershare allow guests = yes # Gäste dürfen auf Nutzerfreigaben zugreifen
|
||||
```
|
||||
> **Wichtige Hinweise:**
|
||||
> * ````;```` oder ````#````:
|
||||
> * Zeilen mit ````;```` sind deaktivierte Vorschläge (können aktiviert werden).
|
||||
> * Zeilen mit ````#```` sind Standardwerte (werden auch ohne Angabe genutzt).
|
||||
> * ````%h````: Platzhalter für den Hostnamen des Servers.
|
||||
> * ````standalone server````: Der Server arbeitet ohne Domain – Nutzer müssen lokal auf dem Linux-System existieren.
|
||||
|
||||
#### Anpassungen an Windows 11
|
||||
Fügen sie unterhalb dieser Einstellungen im noch im Bereich [Global] :
|
||||
````ini
|
||||
# Protokolle und Kompatibilität
|
||||
server min protocol = SMB2
|
||||
smb encrypt = desired
|
||||
````
|
||||
Erst dadurch kann Windows 11 konsitant darauf zugreifen.
|
||||
|
||||
### 2. Freigaben definieren
|
||||
Freigaben werden in eigenen Abschnitten definiert, z. B. [Musik] oder [Drucker].
|
||||
Jede Freigabe hat einen Namen (erscheint im Netzwerk) und Optionen für Zugriffsrechte.
|
||||
Beispiel 1: Öffentliche Freigabe (z. B. für Musik)
|
||||
````ini
|
||||
[Musik]
|
||||
comment = Musikfreigabe für alle # Beschreibung (erscheint im Explorer)
|
||||
path = /srv/samba/musik # Pfad zum freigegebenen Ordner
|
||||
browseable = yes # Freigabe ist im Netzwerk sichtbar
|
||||
read only = no # Nutzer dürfen Dateien schreiben
|
||||
guest ok = yes # Gäste (ohne Passwort) dürfen zugreifen
|
||||
````
|
||||
Beispiel 2: Eingeschränkte Freigabe (nur für bestimmte Nutzer)
|
||||
````ini
|
||||
[Dokumente]
|
||||
comment = Vertrauliche Dokumente
|
||||
path = /srv/samba/dokumente
|
||||
browseable = yes
|
||||
read only = no
|
||||
guest ok = no # Kein Gastzugriff
|
||||
valid users = @mitarbeiter # Nur Nutzer der Gruppe "mitarbeiter" dürfen zugreifen
|
||||
write list = @teamleitung # Nur Gruppe "teamleitung" darf schreiben
|
||||
````
|
||||
Wichtige Freigabe-Optionen:
|
||||
|Option |Bedeutung |Beispiel |
|
||||
|--------------|------------------------------------------------------------------------|--------------------------|
|
||||
|comment |Beschreibung der Freigabe (erscheint im Explorer). |comment = Medienarchiv |
|
||||
|path |Pfad zum freigegebenen Ordner. |path = /srv/samba/musik |
|
||||
|browseable |yes: Freigabe ist im Netzwerk sichtbar. no: Nur mit direktem Pfad. |browseable = yes |
|
||||
|read only |yes: Nur Lesezugriff. no: Schreibzugriff erlaubt. |read only = no |
|
||||
|guest ok |yes: Gäste (ohne Passwort) dürfen zugreifen. |guest ok = yes |
|
||||
|valid users |Liste der Nutzer/Gruppen, die überhaupt zugreifen dürfen. |valid users = @mitarbeiter|
|
||||
|write list |Liste der Nutzer/Gruppen, die schreiben dürfen (überschreibt read only).|write list = @teamleitung |
|
||||
|create mask |Berechtigungen für neue Dateien (oktal). |create mask = 0664 |
|
||||
|directory mask|Berechtigungen für neue Ordner (oktal). |directory mask = 0775 |
|
||||
|force group |Neue Dateien/Ordner gehören automatisch zu dieser Gruppe. |force group = mitarbeiter |
|
||||
|
||||
### 3. Sonderfälle
|
||||
|
||||
#### Nutzer-Home-Verzeichnisse
|
||||
|
||||
Jeder Nutzer kann automatisch auf sein eigenes Home-Verzeichnis zugreifen:
|
||||
````ini
|
||||
[homes]
|
||||
comment = Persönlicher Ordner
|
||||
browseable = no # Nur der eigene Nutzer sieht die Freigabe
|
||||
read only = no # Nutzer darf schreiben
|
||||
valid users = %S # %S = aktueller Nutzer (z. B. "plustig")
|
||||
````
|
||||
#### Druckerfreigabe
|
||||
|
||||
Samba Drucker für Windows-Clients freigeben:
|
||||
````ini
|
||||
[printers]
|
||||
comment = Alle Drucker
|
||||
path = /var/spool/samba # Spoolfolder für Druckaufträge
|
||||
browseable = no # Drucker sind nicht im Explorer sichtbar
|
||||
printable = yes # Erlaubt Druckaufträge
|
||||
guest ok = no # Nur authentifizierte Nutzer dürfen drucken
|
||||
|
||||
[print\$]
|
||||
comment = Druckertreiber
|
||||
path = /var/lib/samba/printers
|
||||
browseable = yes
|
||||
read only = yes
|
||||
guest ok = no
|
||||
write list = root, @lpadmin # Nur Admins dürfen Treiber hochladen
|
||||
````
|
||||
### 4. Einstellungen prüfen und übernehmen
|
||||
|
||||
Nach Änderungen in der smb.conf immer prüfen:
|
||||
````bash
|
||||
sudo samba-tool testparm
|
||||
````
|
||||
Hierbei werden alle Einstellungen angezeigt. Manche bleiben ausgeblendet, wenn sie per defaqult aktiv sind wie z.B. ````browseable = yes````
|
||||
Wenn keine Fehler auftauchen können alle EInstellungen übernommen werden:
|
||||
````bash
|
||||
sudo systemctl restart smbd nmbd
|
||||
````
|
||||
|
||||
## Samba-Projekt 1 einfache Freigaben für Medienplayer KODI:
|
||||
|
||||
**Vorraussetzungen:**
|
||||
* Samba installiert und in der [Konfiguration für Windows 11](#-Anpassungen an Windows 11) angepasst
|
||||
|
||||
|
||||
|
||||
## Beispiel eingeschränkte Freigabe z.B. Unterlagen für bestimmten Personenkreis.
|
||||
|
||||
Im Vorfeld solcher Freigaben müssen die betreffenden Benutzer zum einen auf dem System vorhanden sein und auch noch ergänzend in Samba bekannt gemacht werden. Dazu legen wir nun 2 neue Nutzer an, um später nachvollziehen zu können wer was darf. Dazu als Beispiel Hans Wurst aus der Produktion und Peter Lustig aus der Verwaltung.
|
||||
|
||||
Im folgenden werden Zugriffsgruppen definiert welche es ermöglichen die Lese- und Schreibrechte sauber Granuliert darzustellen:
|
||||
|
||||
| | Lesen
Angebote | Schreiben
Angebote | Lesen
Lieferscheine | Schreiben
Lieferscheine |
|
||||
| ------------ | ------------------ | ---------------------- | ----------------------- | --------------------------- |
|
||||
| Hans Wurst | X | | | X |
|
||||
| Peter Lustig | | X | | X |
|
||||
|
||||
```bash
|
||||
sudo adduser hwurst
|
||||
sudo adduser plustig
|
||||
sudo addgroup angebote_l
|
||||
sudo addgroup angebote_ae
|
||||
sudo addgroup lieferscheine_l
|
||||
sudo addgroup lieferscheine_ae
|
||||
sudo usermod -aG angebote_l hwurst
|
||||
sudo usermod -aG lieferscheine_ae hwurst
|
||||
sudo usermod -aG angebote_ae plustig
|
||||
sudo usermod -aG lieferscheine_ae plustig
|
||||
```
|
||||
|
||||
Bekanntgabe an Samba:
|
||||
|
||||
```bash
|
||||
sudo smbpasswd -a hwurst
|
||||
sudo smbpasswd -a plustig
|
||||
```
|
||||
|
||||
Erstellen der Verzeichnisse:
|
||||
|
||||
```bash
|
||||
sudo mkdir /srv/samba/angebote
|
||||
sudo chown -R nobody:angebote_ae /srv/samba/angebote
|
||||
sudo chmod -R 0077 /srv/samba/angebote
|
||||
sudo mkdir /srv/samba/lieferscheine
|
||||
sudo chown -R nobody:lieferscheine_ae /srv/samba/lieferscheine
|
||||
sudo chmod -R 0077 /srv/samba/lieferscheine
|
||||
sudo nano /etc/samba/smb.conf
|
||||
```
|
||||
Erklärung:
|
||||
```bash
|
||||
chown Rekursive USER:GRUPPE Pfad
|
||||
chmod Rekurisv OKTALMODE-RECHTE (Siehe Tabelle) Pfad
|
||||
````
|
||||
In der Datei /etc/samba/smb.conf:
|
||||
|
||||
```ini
|
||||
[Angebote]
|
||||
comment = Angebote an Kunden
|
||||
path = /srv/samba/angebote
|
||||
guest ok = no
|
||||
browseable = yes
|
||||
readonly = yes
|
||||
valid users = @angebote_l, @angebote_ae
|
||||
write list = @angebote_ae
|
||||
force create mode = 0775
|
||||
force directory mask = 0775
|
||||
force group = angebote_ae
|
||||
|
||||
[Lieferscheine]
|
||||
copy = Angebote
|
||||
comment = Lieferscheine von Lieferanten
|
||||
path = /srv/samba/lieferscheine
|
||||
valid users = @lieferscheine_l, @lieferscheine_ae
|
||||
write list = @lieferscheine_ae
|
||||
force group = lieferscheine_ae
|
||||
|
||||
```
|
||||
|
||||
## Userverzeichnis
|
||||
|
||||
> Jeder User der Zugriffsrechte auf Samba selbst hat kann durch eine spezielle Freigabe automatisch Zugriff auf sein eigenes Home-Verzeichnis erhalten. Diese ist in der Beispielkonfiguration der smb.conf bereits auskommentiert vorhanden und kann schlicht wieder ein kommentiert werden.
|
||||
|
||||
```ini
|
||||
[homes]
|
||||
comment = Privates Verzeichnis
|
||||
browseable = no
|
||||
read only = yes
|
||||
create mask = 0700
|
||||
directory mask = 0700
|
||||
valid users = %S
|
||||
|
||||
```
|
||||
|
||||
„homes" ist hier nur ein Platzhalter dieser wird automatisch durch den jeweiligen Usernamen ersetzt und auch der Zugriff ist dann nur für diesen User verfügbar.
|
||||
|
||||
## Sonderfall Drucker
|
||||
|
||||
Für Drucker ist standartmäßig eine Freigabe aktiviert ähnlich wie dies auch Windows in einem Heimnetzwerk tut. Die Konfiguration können Sie der Beispielkonfiguration der smb.conf entnehmen es sind 2 Freigaben notwendig, um ALLE Drucker freizugeben.
|
||||
|
||||
```ini
|
||||
[printers]
|
||||
comment = Alle Drucker
|
||||
browseable = no
|
||||
path = /var/spool/samba
|
||||
printable = yes
|
||||
guest ok = no
|
||||
read only = yes
|
||||
create mask = 0700
|
||||
```
|
||||
|
||||
Damit werden Alle Drucker, die am System eingerichtet sind mit jeweils einem eigenen Eintrag freigegeben.
|
||||
|
||||
```ini
|
||||
[print$]
|
||||
comment = Drucker Treiber
|
||||
path /var/lib/samba/printers
|
||||
browseable = yes
|
||||
read only = yes
|
||||
guest ok = no
|
||||
|
||||
```
|
||||
|
||||
Hier sucht Windows nach Druckertreibern. Die Treiber müssen entweder über andere Wege in dieses Verzeichnis gelegt werden oder es kann auch ein write list Eintrag hinzugefügt werden.
|
||||
|
||||
## Netzwerkpapierkorb
|
||||
|
||||
Auf einem Netzlaufwerk gelöschte Dateien können schnell mal verloren gehen, dafür lässt sich ein Netzwerkpapierkorb einsetzen. Entweder unter global für alle Freigaben oder pro Freigabe einmal einsetzen.
|
||||
|
||||
```ini
|
||||
# Virtuelles File System "recycle" wird angelegt
|
||||
vfs object = recycle
|
||||
# Der Pfad zum Papierkorb relativ zur Freigabe (".recyclebin" ist
|
||||
Default).
|
||||
recycle:repository = .recyclebin
|
||||
# Im Papierkorb bleiben Pfad-Angaben erhalten.
|
||||
recycle:keeptree = Yes
|
||||
# Beim Verschieben wird der Zeitstempel angepasst.
|
||||
recycle:touch = Yes
|
||||
# Gleichnamige Dateien werden nicht überschrieben.
|
||||
recycle:versions = Yes
|
||||
# Keine Begrenzung der Dateigröße pro gelöschter Datei.
|
||||
recycle:maxsize = 0
|
||||
```
|
||||
|
||||
Und wer leert den? Durch Cron wird jeden Tag der Papierkorb durchsucht
|
||||
und alles, was älter als 14 Tage ist gelöscht.
|
||||
|
||||
```bash
|
||||
sudo crontab -e
|
||||
```
|
||||
|
||||
In einer Zeile:
|
||||
|
||||
```
|
||||
0 12 * * * for path in $(grep path /etc/samba/smb.conf | cut -d= -f2 | sed -e 's/ //' -e 's/\%S/*/'); do if ; then find ${path}/.recycle -mindepth 1 -mtime +14 -exec rm -rf {} \;; fi; done
|
||||
```
|
||||
|
||||
Was steht da nun drin:
|
||||
|
||||
Jeden Tag um 0:12 soll in der smb.conf nach Pfad-Angaben gesucht werden und innerhalb dieser die Pfade „.recycle" nach Dateien durchsucht werden die älter als 14 Tage sind. Diese werden gelöscht.
|
||||
|
||||
Jetzt in die
|
||||
|
||||
|
||||
[PDF herunterladen](Windows-Freigabe_mit_Samba.pdf){ .md-button }
|
||||
Binary file not shown.
@@ -4,40 +4,7 @@
|
||||
---
|
||||
|
||||
## Inhaltsverzeichnis
|
||||
- [Samba-Konfiguration für Linux-Einsteiger](#samba-konfiguration-für-linux-einsteiger)
|
||||
- [Inhaltsverzeichnis](#inhaltsverzeichnis)
|
||||
- [Einführung in Samba](#einführung-in-samba)
|
||||
- [Wichtige Anwendungsfälle:](#wichtige-anwendungsfälle)
|
||||
- [Voraussetzungen:](#voraussetzungen)
|
||||
- [Installation von Samba](#installation-von-samba)
|
||||
- [1. Paketdatenbank aktualisieren](#1-paketdatenbank-aktualisieren)
|
||||
- [2. Samba installieren](#2-samba-installieren)
|
||||
- [3. Dienststatus prüfen](#3-dienststatus-prüfen)
|
||||
- [Die Konfigurationsdatei smb.conf](#die-konfigurationsdatei-smbconf)
|
||||
- [Globale Einstellungen ````[global]````](#globale-einstellungen-global)
|
||||
- [Freigaben definieren](#freigaben-definieren)
|
||||
- [Sonderfälle: Home-Verzeichnisse und Drucker](#sonderfälle-home-verzeichnisse-und-drucker)
|
||||
- [1. Nutzer-Home-Verzeichnisse](#1-nutzer-home-verzeichnisse)
|
||||
- [2. Druckerfreigabe](#2-druckerfreigabe)
|
||||
- [Rechteverwaltung unter Linux](#rechteverwaltung-unter-linux)
|
||||
- [````chown````: Besitzer und Gruppe ändern](#chown-besitzer-und-gruppe-ändern)
|
||||
- [````chmod````: Zugriffsrechte setzen](#chmod-zugriffsrechte-setzen)
|
||||
- [Symbolische Darstellung:](#symbolische-darstellung)
|
||||
- [Oktal-Darstellung:](#oktal-darstellung)
|
||||
- [Beispiele:](#beispiele)
|
||||
- [Gruppenverwaltung](#gruppenverwaltung)
|
||||
- [1. Nutzer und Gruppe erstellen:](#1-nutzer-und-gruppe-erstellen)
|
||||
- [2. Nutzer einer Gruppe hinzufügen:](#2-nutzer-einer-gruppe-hinzufügen)
|
||||
- [3. Gruppe einer Datei/Ordner zuweisen:](#3-gruppe-einer-dateiordner-zuweisen)
|
||||
- [4. Gruppe in Samba nutzen:](#4-gruppe-in-samba-nutzen)
|
||||
- [Samba-Freigaben in der Praxis](#samba-freigaben-in-der-praxis)
|
||||
- [Beispiel 1: Öffentliche Freigabe](#beispiel-1-öffentliche-freigabe)
|
||||
- [Beispiel 2: Eingeschränkte Freigabe](#beispiel-2-eingeschränkte-freigabe)
|
||||
- [Schritt-für-Schritt: Neue Freigabe erstellen](#schritt-für-schritt-neue-freigabe-erstellen)
|
||||
- [Häufige Fehler und Lösungen](#häufige-fehler-und-lösungen)
|
||||
- [Wichtige Befehle im Überblick](#wichtige-befehle-im-überblick)
|
||||
- [Sicherheitshinweise](#sicherheitshinweise)
|
||||
- [Anhang: Spezialrechte (Sticky Bit, SUID, SGID)](#anhang-spezialrechte-sticky-bit-suid-sgid)
|
||||
[TOC]
|
||||
|
||||
---
|
||||
|
||||
@@ -124,8 +91,14 @@ Platzhalter:
|
||||
%m = Name des Clients.
|
||||
%S = Name der aktuellen Freigabe.
|
||||
````
|
||||
|
||||
## Freigaben definieren
|
||||
#### Anpassungen an Windows 11
|
||||
Fügen sie unterhalb dieser Einstellungen im noch im Bereich [Global] :
|
||||
````ini
|
||||
# Protokolle und Kompatibilität
|
||||
server min protocol = SMB2
|
||||
smb encrypt = desired
|
||||
````
|
||||
### Freigaben definieren
|
||||
Freigaben werden in eigenen Abschnitten definiert, z. B. [Musik] oder [Dokumente]. Jede Freigabe hat einen Namen (erscheint im Netzwerk) und Optionen für Zugriffsrechte.
|
||||
Grundlegende Optionen:
|
||||
|Option |Bedeutung |Beispiel |
|
||||
@@ -141,8 +114,8 @@ Grundlegende Optionen:
|
||||
|directory mask|Berechtigungen für neue Ordner (oktal). |directory mask = 0775 |
|
||||
|force group |Neue Dateien/Ordner gehören automatisch zu dieser Gruppe. |force group = mitarbeiter |
|
||||
|
||||
## Sonderfälle: Home-Verzeichnisse und Drucker
|
||||
### 1. Nutzer-Home-Verzeichnisse
|
||||
#### Sonderfälle: Home-Verzeichnisse und Drucker
|
||||
1. Nutzer-Home-Verzeichnisse
|
||||
Jeder Nutzer kann automatisch auf sein eigenes Home-Verzeichnis zugreifen:
|
||||
````ini
|
||||
|
||||
@@ -154,7 +127,7 @@ Jeder Nutzer kann automatisch auf sein eigenes Home-Verzeichnis zugreifen:
|
||||
create mask = 0700 # Neue Dateien: rwx------
|
||||
directory mask = 0700 # Neue Ordner: rwx------
|
||||
````
|
||||
### 2. Druckerfreigabe
|
||||
2. Druckerfreigabe
|
||||
Samba kann Drucker für Windows-Clients freigeben:
|
||||
````ini
|
||||
|
||||
@@ -494,3 +467,4 @@ Für fortgeschrittene Anwendungsfälle können Spezialrechte gesetzt werden:
|
||||
sudo chmod 2770 /srv/samba/dokumente # SGID + Besitzer/Gruppe: rwx
|
||||
````
|
||||
|
||||
|
||||
|
||||
192
mkdocs/docs/basics/Windows_Programme_unter_Linux.md
Normal file
192
mkdocs/docs/basics/Windows_Programme_unter_Linux.md
Normal file
@@ -0,0 +1,192 @@
|
||||
# Windows-Programme unter Linux
|
||||
|
||||
Diese Anleitung zeigt Schritt für Schritt, wie Sie unter Linux Mint zuerst Notepad++ und anschließend 7‑Zip (Windows‑Version) mit Bottles installieren.
|
||||
|
||||
---
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
- Installiertes Linux Mint
|
||||
- Internetzugang
|
||||
- Ein normales Benutzerkonto
|
||||
|
||||
---
|
||||
|
||||
## Bottles installieren
|
||||
|
||||
1. Öffnen Sie das **Menü** unten links und starten Sie den **Software‑Manager**.
|
||||
2. Suchen Sie nach **„Bottles“**.
|
||||
3. Wählen Sie **„Bottles“** (Quelle „Flathub“ oder „Flatpak“) und klicken Sie auf **Installieren**.
|
||||
4. Nach der Installation finden Sie Bottles im Menü, z. B. unter **Zubehör → Bottles**.
|
||||
|
||||
---
|
||||
|
||||
## Flatseal installieren und Berechtigungen für Bottles setzen
|
||||
|
||||
Damit Verknüpfungen (Desktop‑Icons und Menüeinträge) korrekt angelegt werden können, braucht Bottles Zugriff auf bestimmte Ordner.
|
||||
|
||||
### Flatseal installieren
|
||||
|
||||
1. Öffnen Sie erneut den **Software‑Manager**.
|
||||
2. Suchen Sie nach **„Flatseal“**.
|
||||
3. Wählen Sie **„Flatseal“** aus und klicken Sie auf **Installieren**.
|
||||
|
||||
### Berechtigungen für Bottles anpassen
|
||||
|
||||
1. Starten Sie **Flatseal** über das Menü.
|
||||
2. Wählen Sie in der linken Liste die Anwendung **„Bottles“** aus.
|
||||
3. Gehen Sie zum Bereich **„Filesystem“** (oder „Dateisystem“).
|
||||
4. Aktivieren bzw. fügen Sie folgende Pfade hinzu:
|
||||
- ```xdg-data/applications```
|
||||
- ```~/.local/share/applications```
|
||||
5. Speichern ist nicht nötig; die Änderungen gelten sofort.
|
||||
6. Schließen Sie Flatseal und starten Sie **Bottles** einmal neu.
|
||||
|
||||
Damit kann Bottles jetzt Desktop‑Verknüpfungen und Menüeinträge korrekt anlegen.
|
||||
|
||||
---
|
||||
## Notepad++
|
||||
|
||||
### Erste Bottle für Notepad++ anlegen
|
||||
|
||||
1. Starten Sie **Bottles**.
|
||||
2. Klicken Sie auf **„Create a new bottle“** bzw oben links auf das ````+````.
|
||||
3. Geben Sie einen Namen ein, zum Beispiel **„NotepadPlusPlus“**.
|
||||
4. Wählen Sie als Umgebung **„Application“** (Programm).
|
||||
5. Klicken Sie auf **„Create“** und warten Sie, bis die Bottle erstellt wurde.
|
||||
|
||||
|
||||
|
||||
### Notepad++ herunterladen
|
||||
|
||||
1. Öffnen Sie Ihren **Webbrowser** (z. B. Firefox).
|
||||
2. Rufen Sie die Seite auf:
|
||||
- `https://notepad-plus-plus.org`
|
||||
3. Klicken Sie auf **Download**.
|
||||
4. Laden Sie den **Windows‑Installer** (Dateiname ähnlich `npp.x.y.Installer.exe`) in den Ordner **Downloads** herunter.
|
||||
|
||||
|
||||
|
||||
### Notepad++ in Bottles installieren
|
||||
|
||||
1. Wechseln Sie zu **Bottles** und öffnen Sie die Bottle **„NotepadPlusPlus“**.
|
||||
2. Klicken Sie auf **„Run executable“**.
|
||||
3. Navigieren Sie im Dateidialog zum Ordner **Downloads**.
|
||||
4. Wählen Sie die Datei `npp.x.y.Installer.exe` aus und klicken Sie auf **Öffnen**.
|
||||
5. Im Installationsassistenten:
|
||||
- Sprache auswählen (z. B. Deutsch)
|
||||
- Lizenzbedingungen akzeptieren
|
||||
- Standardpfad beibehalten
|
||||
- Komponenten unverändert lassen
|
||||
6. Zum Schluss auf **Fertigstellen** klicken.
|
||||
|
||||
Bottles legt nun in dieser Bottle einen Programmeintrag für Notepad++ an und kann – mit den eingestellten Rechten – auch Verknüpfungen anlegen.
|
||||
|
||||
|
||||
|
||||
### Notepad++ starten und testen
|
||||
|
||||
1. Öffnen Sie in **Bottles** die Bottle **„NotepadPlusPlus“**.
|
||||
2. Unter **„Programs“** (Programme) finden Sie **„Notepad++“**.
|
||||
3. Klicken Sie auf **Notepad++**, um das Programm zu starten.
|
||||
4. Testen Sie die Funktion:
|
||||
- Neue Datei anlegen
|
||||
- Text schreiben
|
||||
- Datei in Ihrem Home‑Ordner speichern
|
||||
|
||||
Wenn die Berechtigungen korrekt gesetzt sind, können Sie in Bottles außerdem eine **Desktop‑Verknüpfung** oder einen **Menüeintrag** erstellen. Hierfür einfach auf ````...```` klicken und
|
||||
|
||||
## 7-Zip
|
||||
|
||||
### Zweite Bottle für 7‑Zip anlegen
|
||||
|
||||
1. Starten Sie **Bottles**, falls es geschlossen ist.
|
||||
2. Klicken Sie auf **„Create a new bottle“**.
|
||||
3. Geben Sie einen Namen ein, z. B. **„7zip“**.
|
||||
4. Wählen Sie wieder die Umgebung **„Application“**.
|
||||
5. Klicken Sie auf **„Create“** und warten Sie, bis die Bottle eingerichtet ist.
|
||||
|
||||
|
||||
|
||||
### 7‑Zip herunterladen
|
||||
|
||||
1. Öffnen Sie den **Webbrowser**.
|
||||
2. Rufen Sie die offizielle 7‑Zip‑Seite auf:
|
||||
- `https://www.7-zip.org`
|
||||
3. Laden Sie die **64‑Bit‑Version für Windows** herunter (Datei ähnlich `7zxx-x64.exe`).
|
||||
4. Speichern Sie die Datei im Ordner **Downloads**.
|
||||
|
||||
|
||||
|
||||
### 7‑Zip in Bottles installieren
|
||||
|
||||
1. Öffnen Sie in **Bottles** die Bottle **„7zip“**.
|
||||
2. Klicken Sie auf **„Run executable“**.
|
||||
3. Wählen Sie im Ordner **Downloads** die Datei `7zxx-x64.exe` aus.
|
||||
4. Bestätigen Sie mit **Öffnen**.
|
||||
5. Im Installationsfenster von 7‑Zip:
|
||||
- Installationspfad unverändert lassen (`C:\Program Files\7-Zip`)
|
||||
- Auf **Install** klicken
|
||||
- Nach Abschluss auf **Close** klicken
|
||||
|
||||
Auch hier kann Bottles mit den zuvor gesetzten Berechtigungen Verknüpfungen zu 7‑Zip anlegen.
|
||||
|
||||
|
||||
|
||||
### 7‑Zip starten
|
||||
|
||||
1. Öffnen Sie in **Bottles** die Bottle **„7zip“**.
|
||||
2. Unter **„Programs“** finden Sie **„7zFM“**.
|
||||
3. Klicken Sie auf diesen Eintrag, um den 7‑Zip‑Dateimanager zu starten.
|
||||
|
||||
|
||||
|
||||
#### Dateien mit 7‑Zip komprimieren
|
||||
|
||||
1. Im 7‑Zip‑Fenster wählen Sie oben ein Laufwerk aus, z. B. **„Z:“**.
|
||||
- „Z:“ ist normalerweise mit Ihrem Linux‑Dateisystem verbunden.
|
||||
2. Navigieren Sie zu Ihrem **Home‑Ordner** und zu einem Testordner (z. B. `Dokumente/Test`).
|
||||
3. Markieren Sie einige Dateien, die Sie komprimieren möchten.
|
||||
4. Klicken Sie oben auf **„Add“** (Hinzufügen).
|
||||
5. Im Dialog:
|
||||
- Archivname eingeben, z. B. `testarchiv.7z`
|
||||
- Format wählen (z. B. `7z` oder `zip`)
|
||||
- Kompressionsstufe auswählen (z. B. „Normal“)
|
||||
6. Klicken Sie auf **OK**.
|
||||
7. Das neue Archiv erscheint im gleichen Ordner.
|
||||
|
||||
|
||||
|
||||
#### Archive mit 7‑Zip entpacken
|
||||
|
||||
1. Suchen Sie im 7‑Zip‑Fenster ein vorhandenes Archiv (`.zip`, `.7z` o. Ä.).
|
||||
2. Markieren Sie das Archiv mit einem Linksklick.
|
||||
3. Klicken Sie oben auf **„Extract“** (Entpacken).
|
||||
4. Wählen Sie im Dialog den Zielordner oder akzeptieren Sie den vorgeschlagenen Ordner.
|
||||
5. Klicken Sie auf **OK**.
|
||||
6. Die entpackten Dateien erscheinen anschließend im gewählten Ordner.
|
||||
|
||||
|
||||
|
||||
## Häufige Probleme und einfache Lösungen
|
||||
|
||||
### Programm startet nicht
|
||||
|
||||
- Schließen Sie die Bottle und öffnen Sie sie erneut.
|
||||
- Starten Sie Bottles bei Bedarf vollständig neu und versuchen Sie es noch einmal.
|
||||
|
||||
### Desktop‑Verknüpfung fehlt
|
||||
|
||||
- Desktop-Verknüpfungen sind erst mal nur im Startmenü
|
||||
- Prüfen Sie in **Flatseal**, ob Bottles Zugriff auf
|
||||
- `~/Desktop`
|
||||
- `~/.local/share/applications`
|
||||
hat.
|
||||
- Falls Änderungen vorgenommen wurden, muss bottles neu gestartet werden. Idealerweise reboot.
|
||||
|
||||
### Dateien im Linux‑System nicht sichtbar
|
||||
|
||||
- Stellen Sie im 7‑Zip‑Fenster sicher, dass Sie das Laufwerk **„Z:“** gewählt haben.
|
||||
- Navigieren Sie von dort in Ihr Home‑Verzeichnis.
|
||||
|
||||
---
|
||||
BIN
mkdocs/docs/basics/image.png
Normal file
BIN
mkdocs/docs/basics/image.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.4 KiB |
Binary file not shown.
@@ -2,19 +2,20 @@ site_name: Linux Grundlagen MK-IT
|
||||
nav:
|
||||
- Home: index.md
|
||||
- Grundlagen:
|
||||
- Einstieg in Linux-Desktop: basics/Einstieg in Linux-Desktop.md
|
||||
- Einstieg in Linux-Desktop: basics/Einstieg_in_Linux-Desktop.md
|
||||
- Remotezugriff einrichten: basics/Remotezugriff_einrichten.md
|
||||
- Kleines Linux-Projekt: basics/Mein_erstes_kleines_Linux-Projekt.md
|
||||
- Windows-Programme unter Linux: basics/Windows-Programme unter Linux.md
|
||||
- Grundlagen der Konsole: basics/Grundlagen der Konsole.md
|
||||
- Automatisierung mit cron und systemd: basics/Automatisierung mit cron und systemd.m
|
||||
- Windows-Freigabe mit Samba: basics/Windows-Freigabe mit Samba.md
|
||||
- Windows-Freigaben für Linux-Einsteiger: basics/Windows_Freigaben_fuer_Linux-Einsteiger.md
|
||||
- Praxisprojekt Medien-NAS für KODI: basics/Praxisprojekt_Medien-NAS_fuer_KODI.md
|
||||
- Linux im Unternehmen:
|
||||
- Ubuntu Servr als Active Directory Domain Controller: Linux_Unternehmen/ubuntu-ad-dc.md
|
||||
- Linux als Client in Active Directory: Linux_Unternehmen/linux-als-ad-client.md
|
||||
- Praxisprojekt Freigaben im Unternehmen: Linux_Unternehmen/Praxisprojekt_Freigaben_im_Unternehmen.md
|
||||
- Nextcloud mit LDAP-Anbindung: Linux_Unternehmen/nextcloud-ldap.md
|
||||
- Bonuskapitel:
|
||||
- Docker-Grundlagen: bonus/docker-grundlagen.md
|
||||
- Docker-Projekte:
|
||||
- Pi-Hole: bonus/docker-pi-hole.md
|
||||
- BackupPC: bonus/docker-backuppc.md
|
||||
- Linux als Active Directory Server: bonus/linux-als-ad-server.md
|
||||
- Linux als Client in Active Directory: bonus/linux-als-ad-client.md
|
||||
|
||||
# Theme
|
||||
theme:
|
||||
|
||||
Reference in New Issue
Block a user