diff --git a/mkdocs/docs/Linux_Unternehmen/Praxisprojekt_Freigaben_im_Unternehmen.md b/mkdocs/docs/Linux_Unternehmen/Praxisprojekt_Freigaben_im_Unternehmen.md new file mode 100644 index 0000000..331546b --- /dev/null +++ b/mkdocs/docs/Linux_Unternehmen/Praxisprojekt_Freigaben_im_Unternehmen.md @@ -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. | + + + + + + + + + + + + + + + + + + diff --git a/mkdocs/docs/Linux_Unternehmen/linux-als-ad-client.pdf b/mkdocs/docs/Linux_Unternehmen/linux-als-ad-client.pdf deleted file mode 100644 index a918b40..0000000 Binary files a/mkdocs/docs/Linux_Unternehmen/linux-als-ad-client.pdf and /dev/null differ diff --git a/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap.md b/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap.md index 5caf03a..a150383 100644 --- a/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap.md +++ b/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap.md @@ -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 } diff --git a/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap.pdf b/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap.pdf deleted file mode 100644 index df69026..0000000 Binary files a/mkdocs/docs/Linux_Unternehmen/nextcloud-ldap.pdf and /dev/null differ diff --git a/mkdocs/docs/Linux_Unternehmen/ubuntu-ad-dc.pdf b/mkdocs/docs/Linux_Unternehmen/ubuntu-ad-dc.pdf deleted file mode 100644 index 0de2421..0000000 Binary files a/mkdocs/docs/Linux_Unternehmen/ubuntu-ad-dc.pdf and /dev/null differ diff --git a/mkdocs/docs/basics/Automatisierung mit cron und systemd.md b/mkdocs/docs/basics/Automatisierung mit cron und systemd.md index f0f20c4..79a3737 100644 --- a/mkdocs/docs/basics/Automatisierung mit cron und systemd.md +++ b/mkdocs/docs/basics/Automatisierung mit cron und systemd.md @@ -132,6 +132,3 @@ sudo systemctl stop # 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 } diff --git a/mkdocs/docs/basics/Automatisierung_mit_cron_und_systemd.pdf b/mkdocs/docs/basics/Automatisierung_mit_cron_und_systemd.pdf deleted file mode 100644 index b63daaa..0000000 Binary files a/mkdocs/docs/basics/Automatisierung_mit_cron_und_systemd.pdf and /dev/null differ diff --git a/mkdocs/docs/basics/Einstieg in Linux-Desktop.md b/mkdocs/docs/basics/Einstieg_in_Linux-Desktop.md similarity index 65% rename from mkdocs/docs/basics/Einstieg in Linux-Desktop.md rename to mkdocs/docs/basics/Einstieg_in_Linux-Desktop.md index 23304c2..05a6fc8 100644 --- a/mkdocs/docs/basics/Einstieg in Linux-Desktop.md +++ b/mkdocs/docs/basics/Einstieg_in_Linux-Desktop.md @@ -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. @@ -50,6 +64,8 @@ So richten Sie den Proxy ein: * Öffnen Sie den grafischen Paketmanager („Empfohlene Software“ oder „Add/Remove Software“). * 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 @@ -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 } diff --git a/mkdocs/docs/basics/Einstieg_in_Linux-Desktop.pdf b/mkdocs/docs/basics/Einstieg_in_Linux-Desktop.pdf deleted file mode 100644 index b2bc0a1..0000000 Binary files a/mkdocs/docs/basics/Einstieg_in_Linux-Desktop.pdf and /dev/null differ diff --git a/mkdocs/docs/basics/Grundlagen_der_Konsole.pdf b/mkdocs/docs/basics/Grundlagen_der_Konsole.pdf deleted file mode 100644 index aaf25d3..0000000 Binary files a/mkdocs/docs/basics/Grundlagen_der_Konsole.pdf and /dev/null differ diff --git a/mkdocs/docs/basics/Mein_erstes_kleines_Linux-Projekt.md b/mkdocs/docs/basics/Mein_erstes_kleines_Linux-Projekt.md new file mode 100644 index 0000000..bb6cdd9 --- /dev/null +++ b/mkdocs/docs/basics/Mein_erstes_kleines_Linux-Projekt.md @@ -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| + +------------------------------------------------------------------------ + diff --git a/mkdocs/docs/basics/Praxisprojekt_Medien-NAS_fuer_KODI.md b/mkdocs/docs/basics/Praxisprojekt_Medien-NAS_fuer_KODI.md new file mode 100644 index 0000000..354db78 --- /dev/null +++ b/mkdocs/docs/basics/Praxisprojekt_Medien-NAS_fuer_KODI.md @@ -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 diff --git a/mkdocs/docs/basics/Remotezugriff_einrichten.md b/mkdocs/docs/basics/Remotezugriff_einrichten.md new file mode 100644 index 0000000..d9b8de2 --- /dev/null +++ b/mkdocs/docs/basics/Remotezugriff_einrichten.md @@ -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 + diff --git a/mkdocs/docs/basics/Windows-Freigabe mit Samba.md b/mkdocs/docs/basics/Windows-Freigabe mit Samba.md deleted file mode 100644 index 66cbe61..0000000 --- a/mkdocs/docs/basics/Windows-Freigabe mit Samba.md +++ /dev/null @@ -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 } diff --git a/mkdocs/docs/basics/Windows-Freigabe_mit_Samba.md b/mkdocs/docs/basics/Windows-Freigabe_mit_Samba.md new file mode 100644 index 0000000..a0f7122 --- /dev/null +++ b/mkdocs/docs/basics/Windows-Freigabe_mit_Samba.md @@ -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 } diff --git a/mkdocs/docs/basics/Windows-Freigabe_mit_Samba.pdf b/mkdocs/docs/basics/Windows-Freigabe_mit_Samba.pdf deleted file mode 100644 index 46d3b9f..0000000 Binary files a/mkdocs/docs/basics/Windows-Freigabe_mit_Samba.pdf and /dev/null differ diff --git a/mkdocs/docs/basics/Windows_Freigaben_fuer_Linux-Einsteiger.md b/mkdocs/docs/basics/Windows_Freigaben_fuer_Linux-Einsteiger.md index 6d00920..7cef626 100644 --- a/mkdocs/docs/basics/Windows_Freigaben_fuer_Linux-Einsteiger.md +++ b/mkdocs/docs/basics/Windows_Freigaben_fuer_Linux-Einsteiger.md @@ -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 ```` + diff --git a/mkdocs/docs/basics/Windows_Programme_unter_Linux.md b/mkdocs/docs/basics/Windows_Programme_unter_Linux.md new file mode 100644 index 0000000..bfebc8c --- /dev/null +++ b/mkdocs/docs/basics/Windows_Programme_unter_Linux.md @@ -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. + +--- diff --git a/mkdocs/docs/basics/image.png b/mkdocs/docs/basics/image.png new file mode 100644 index 0000000..9c4c797 Binary files /dev/null and b/mkdocs/docs/basics/image.png differ diff --git a/mkdocs/docs/Linux_Unternehmen/linux-als-ad-client.md b/mkdocs/docs/bonus/linux-als-ad-client.md similarity index 100% rename from mkdocs/docs/Linux_Unternehmen/linux-als-ad-client.md rename to mkdocs/docs/bonus/linux-als-ad-client.md diff --git a/mkdocs/docs/Linux_Unternehmen/ubuntu-ad-dc.md b/mkdocs/docs/bonus/linux-als-ad-server.md similarity index 100% rename from mkdocs/docs/Linux_Unternehmen/ubuntu-ad-dc.md rename to mkdocs/docs/bonus/linux-als-ad-server.md diff --git a/mkdocs/docs/mkdocs/docs/index.pdf b/mkdocs/docs/mkdocs/docs/index.pdf deleted file mode 100644 index e3627b3..0000000 Binary files a/mkdocs/docs/mkdocs/docs/index.pdf and /dev/null differ diff --git a/mkdocs/mkdocs.yml b/mkdocs/mkdocs.yml index a084eba..d049db8 100644 --- a/mkdocs/mkdocs.yml +++ b/mkdocs/mkdocs.yml @@ -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: