Initialer Upload MkDocs ETZ Dokumentation
This commit is contained in:
133
mkdocs/docs/basics/Automatisierung mit cron und systemd.md
Normal file
133
mkdocs/docs/basics/Automatisierung mit cron und systemd.md
Normal file
@@ -0,0 +1,133 @@
|
||||
# Automatisierung mit cron und systemd
|
||||
|
||||
Stellen Sie sich vor, Sie betreiben einen Server oder eine Anwendung, die rund um die Uhr laufen muss. Als IT-Meister möchten Sie jederzeit nachvollziehen können, ob Ihr System aktiv ist und wann es zuletzt gestartet wurde. Dafür können Sie zwei klassische Linux-Automatisierungswerkzeuge nutzen:
|
||||
|
||||
* **Cronjob:** Führt regelmäßig Aufgaben aus, z.B. jede Minute, jede Stunde oder einmal täglich.
|
||||
* **systemd-Unit:** Startet Aufgaben beim Systemstart oder zu bestimmten Ereignissen.
|
||||
|
||||
Mit diesen Werkzeugen können Sie z.B. eine Datei anlegen oder aktualisieren, um so einen „Herzschlag" (Heartbeat) Ihres Systems zu dokumentieren.
|
||||
|
||||
# Cron-Job: Jede Minute eine Datei aktualisieren
|
||||
|
||||
> Praxisbeispiel: Heartbeat-File
|
||||
|
||||
Sie möchten, dass jede Minute der Zeitstempel einer Datei (/tmp/heartbeat.txt) aktualisiert wird. Das ist nützlich, um zu prüfen, ob Cron und das System laufen.
|
||||
|
||||
**So geht's:**
|
||||
|
||||
Öffnen Sie die Crontab des aktuellen Benutzers:
|
||||
|
||||
```
|
||||
crontab -e
|
||||
```
|
||||
|
||||
Fügen Sie folgende Zeile hinzu:
|
||||
|
||||
```
|
||||
* * * * * /usr/bin/touch /tmp/heartbeat.txt
|
||||
```
|
||||
|
||||
Jetzt wird jede Minute die Datei /tmp/heartbeat.txt neu angelegt oder ihr Zeitstempel aktualisiert.
|
||||
|
||||
\newpage
|
||||
|
||||
# Crontab-Syntax erklärt:
|
||||
|
||||
| Feld | Bedeutung | Wert im Beispiel | Bedeutung |
|
||||
| ----------- | --------------- | --------------------------------- | ------------------- |
|
||||
| Minute | 0-59 | \* | jede Minute |
|
||||
| Stunde | 0-23 | \* | jede Stunde |
|
||||
| Tag (Monat) | 1-31 | \* | jeder Tag |
|
||||
| Monat | 1-12 | \* | jeder Monat |
|
||||
| Tag (Woche) | 0-7 (0/7 = Son) | \* | jeder Wochentag |
|
||||
| Befehl | Befehl | /usr/bin/touch /tmp/heartbeat.txt | Was wird ausgeführt |
|
||||
|
||||
**Beispiel:**
|
||||
|
||||
```
|
||||
* * * * * /usr/bin/touch /tmp/heartbeat.txt
|
||||
```
|
||||
|
||||
→ Jede Minute wird die Datei angefasst („touched").
|
||||
|
||||
**Weitere Beispiele:**
|
||||
|
||||
```
|
||||
0 0 * * * /usr/bin/touch /tmp/midnight.txt
|
||||
```
|
||||
|
||||
*  jeden Tag um Mitternacht
|
||||
|
||||
```
|
||||
1/5 * * * * /usr/bin/touch /tmp/every5min.txt
|
||||
```
|
||||
|
||||
* alle 5 Minuten beginnend 5 Minuten nach 1 also 6,11,16,...
|
||||
|
||||
# systemd-Unit: Datei beim Systemstart aktualisieren
|
||||
|
||||
## **Praxisbeispiel: Boot-Marker**
|
||||
|
||||
Sie möchten beim Systemstart eine Datei (/tmp/boot.txt) anlegen oder deren Zeitstempel aktualisieren, um den letzten Bootvorgang zu protokollieren.
|
||||
|
||||
**So geht's:**
|
||||
|
||||
Erstellen Sie eine neue systemd-Service-Datei:
|
||||
|
||||
```shellscript
|
||||
sudo nano /etc/systemd/system/touch-at-boot.service
|
||||
```
|
||||
|
||||
Fügen Sie folgenden Inhalt ein:
|
||||
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Touch file at boot
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/touch /tmp/boot.txt
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
1. Datei speichern und schließen.
|
||||
2. Service aktivieren und testen:
|
||||
|
||||
```shellscript
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable touch-at-boot.service
|
||||
sudo systemctl start touch-at-boot.service
|
||||
```
|
||||
|
||||
Nach jedem Neustart wird /tmp/boot.txt aktualisiert.
|
||||
|
||||
**systemd-Unit erklärt:**
|
||||
|
||||
```ini
|
||||
[Unit]: Metadaten und Abhängigkeiten
|
||||
Description: Kurze Beschreibung
|
||||
[Service]: Was soll gemacht werden?
|
||||
Type=oneshot: Einmaliger Befehl, kein dauerhafter Prozess der überwacht werden könnte
|
||||
ExecStart: Der auszuführende Befehl
|
||||
[Install]: Wann/wo soll der Service gestartet werden?
|
||||
WantedBy=multi-user.target: Startet beim normalen Systemstart
|
||||
```
|
||||
|
||||
**systemd-Kommandos:**
|
||||
|
||||
```shellscript
|
||||
sudo systemctl start <service> # Service sofort starten
|
||||
sudo systemctl enable <service> # Service beim Boot aktivieren
|
||||
sudo systemctl status <service> # Status anzeigen
|
||||
sudo systemctl stop <service> # Service stoppen
|
||||
```
|
||||
|
||||
**Wann nutze ich was?**
|
||||
|
||||
* **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 }
|
||||
BIN
mkdocs/docs/basics/Automatisierung_mit_cron_und_systemd.pdf
Normal file
BIN
mkdocs/docs/basics/Automatisierung_mit_cron_und_systemd.pdf
Normal file
Binary file not shown.
78
mkdocs/docs/basics/Einstieg in Linux-Desktop.md
Normal file
78
mkdocs/docs/basics/Einstieg in Linux-Desktop.md
Normal file
@@ -0,0 +1,78 @@
|
||||
# Einstieg in Linux-Desktop
|
||||
|
||||
## Notieren Sie bei jedem Schritt:
|
||||
|
||||
* Welche Menüpunkte oder Symbole Sie verwendet haben.
|
||||
* Was Ihnen besonders leicht oder schwer gefallen ist.
|
||||
* Fragen oder Auffälligkeiten, die Ihnen beim Arbeiten begegnen.
|
||||
|
||||
## Benutzeroberfläche kennenlernen
|
||||
|
||||
* Erkunden Sie die Menüstruktur und das Anwendungsmenü.
|
||||
* Passen Sie die Taskleiste an (z.B. Position ändern, Plugins wie CPU- oder Temperaturanzeige hinzufügen).
|
||||
* Nutzen Sie die Systemtray-Symbole (Netzwerk, Bluetooth, Lautstärke).
|
||||
* Öffnen Sie verschiedene Fenster und probieren Sie das Fenster-Management aus (Minimieren, Maximieren, Schließen, ausrichten am Seitenrand).
|
||||
* Finden Sie heraus, wie Sie Programme an die Taskleiste oder das Startmenü anheften können.
|
||||
|
||||
## Tastatur-Layout und Sprache einstellen
|
||||
|
||||
* Öffnen Sie die Systemeinstellungen.
|
||||
* Stellen Sie das Tastatur-Layout auf Deutsch (oder Ihr gewünschtes Layout) um.
|
||||
* Passen Sie die Systemsprache an.
|
||||
|
||||
## Dateiverwaltung mit USB-Stick
|
||||
|
||||
* Stecken Sie Ihren USB-Stick ein und öffnen Sie ihn im Dateimanager.
|
||||
* Erstellen Sie auf dem USB-Stick einen neuen Ordner mit Ihrem Namen.
|
||||
* Kopieren Sie eine Datei von der VM auf den USB-Stick und umgekehrt.
|
||||
* Entfernen Sie den USB-Stick sicher über die grafische Oberfläche.
|
||||
|
||||
## Sonderfall etz
|
||||
|
||||
> **Wichtiger Hinweis:**
|
||||
|
||||
> Damit alle Teilnehmer im Kurs effizient Updates und Software installieren können, wird im Schulungsnetzwerk ein lokaler Paket-Cache (Proxy) verwendet.
|
||||
> **Diesen Schritt müssen Sie außerhalb der Schulungsstätte (z.B. zu Hause) nicht durchführen!**
|
||||
|
||||
So richten Sie den Proxy ein:
|
||||
|
||||
1. Öffnen Sie ein Terminal (z.B. über das Startmenü).
|
||||
2. Geben Sie folgenden Befehl ein (ersetzen Sie ggf. die IP-Adresse, durch die im Kurs verwendete):
|
||||
|
||||
```bash
|
||||
echo 'Acquire::http::Proxy "http://10.10.224.119:3142";' | sudo tee /etc/apt/apt.conf.d/02proxy
|
||||
```
|
||||
|
||||
3. Fahren Sie anschließend wie gewohnt mit Updates und Installationen fort.
|
||||
|
||||
## VLC Media Player installieren (grafisch)
|
||||
|
||||
* Öffnen Sie den grafischen Paketmanager („Empfohlene Software“ oder „Add/Remove Software“).
|
||||
* Suchen Sie nach „VLC“.
|
||||
* Installieren Sie den VLC Media Player.
|
||||
|
||||
## System aktualisieren
|
||||
|
||||
* Öffnen Sie das grafische Update-Tool („Software Updater“ oder „Update Manager“).
|
||||
* Starten Sie die Systemaktualisierung und folgen Sie den Anweisungen.
|
||||
|
||||
## Weiteren Benutzer anlegen und Rechte vergeben
|
||||
|
||||
* Öffnen Sie die Einstellungen für „Benutzer und Gruppen“.
|
||||
* Erstellen Sie einen neuen Benutzer mit einem selbst gewählten Namen.
|
||||
* Geben Sie diesem Benutzer Administratorrechte (Mitglied der Gruppe „sudo“ oder „Administratoren“).
|
||||
|
||||
## 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)
|
||||
* 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.
|
||||
|
||||
> *Viel Erfolg beim Erkunden und Einrichten Ihres Linux Desktops!*
|
||||
|
||||
|
||||
|
||||
[PDF herunterladen](Einstieg_in_Linux-Desktop.pdf){ .md-button }
|
||||
BIN
mkdocs/docs/basics/Einstieg_in_Linux-Desktop.pdf
Normal file
BIN
mkdocs/docs/basics/Einstieg_in_Linux-Desktop.pdf
Normal file
Binary file not shown.
143
mkdocs/docs/basics/Grundlagen der Konsole.md
Normal file
143
mkdocs/docs/basics/Grundlagen der Konsole.md
Normal file
@@ -0,0 +1,143 @@
|
||||
# Grundlagen der Konsole
|
||||
|
||||
### Installation nützlicher Programme
|
||||
|
||||
Bevor Sie beginnen, installieren Sie bitte folgende Programme, die Sie im Kurs benötigen:
|
||||
|
||||
* nano: Einfache Textbearbeitung im Terminal
|
||||
* tree: Anzeige von Ordnerstrukturen
|
||||
* htop: Übersichtliche Systemüberwachung
|
||||
|
||||
Führen Sie diesen Befehl im Terminal aus:
|
||||
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install nano tree htop
|
||||
```
|
||||
|
||||
### Wo befinden Sie sich?
|
||||
|
||||
Lassen Sie sich das aktuelle Verzeichnis anzeigen.
|
||||
|
||||
```bash
|
||||
pwd
|
||||
```
|
||||
|
||||
### Wechseln Sie in Ihr Home-Verzeichnis.
|
||||
|
||||
Tipp: Das Home-Verzeichnis erreichen Sie mit:
|
||||
|
||||
```bash
|
||||
cd ~
|
||||
```
|
||||
|
||||
### Erstellen Sie im Home-Verzeichnis einen Ordner „projekt".
|
||||
|
||||
```bash
|
||||
mkdir projekt
|
||||
```
|
||||
|
||||
### Erstellen Sie darin zwei Unterordner „dokumente" und „bilder".
|
||||
|
||||
```bash
|
||||
mkdir projekt/dokumente projekt/bilder
|
||||
```
|
||||
|
||||
### Wechseln Sie in den Ordner „projekt".
|
||||
|
||||
```bash
|
||||
cd projekt
|
||||
```
|
||||
|
||||
### Erstellen Sie drei Textdateien: „notizen.txt", „aufgaben.txt", „ideen.txt".
|
||||
|
||||
```bash
|
||||
touch notizen.txt aufgaben.txt ideen.txt
|
||||
```
|
||||
|
||||
### Erstellen Sie zwei Bilddateien (Platzhalter): „bild1.jpg" und „bild2.jpg".
|
||||
|
||||
```bash
|
||||
touch bild1.jpg bild2.jpg
|
||||
```
|
||||
|
||||
### Kopieren Sie „notizen.txt" und „aufgaben.txt" in den Ordner „dokumente".
|
||||
|
||||
```bash
|
||||
cp notizen.txt aufgaben.txt dokumente/
|
||||
```
|
||||
|
||||
### Verschieben Sie „ideen.txt" in den Ordner „dokumente".
|
||||
|
||||
```bash
|
||||
mv ideen.txt dokumente/
|
||||
```
|
||||
|
||||
### Verschieben Sie „bild1.jpg" und „bild2.jpg" in den Ordner „bilder".
|
||||
|
||||
```bash
|
||||
mv bild1.jpg bild2.jpg bilder/
|
||||
```
|
||||
|
||||
### Zeigen Sie die Ordnerstruktur mit „tree" an.
|
||||
|
||||
```bash
|
||||
tree ~/projekt
|
||||
```
|
||||
|
||||
### Öffnen Sie eine der Textdateien mit „nano" und schreiben Sie einen kurzen Text hinein.
|
||||
|
||||
```bash
|
||||
nano dokumente/notizen.txt
|
||||
```
|
||||
|
||||
> Speichern Sie mit Strg+O, beenden Sie mit Strg+X.
|
||||
|
||||
### Zeigen Sie Ihre aktuelle IP-Adresse an.
|
||||
|
||||
```bash
|
||||
ip address
|
||||
```
|
||||
|
||||
**oder**
|
||||
|
||||
```bash
|
||||
hostname -I
|
||||
```
|
||||
|
||||
### Überwachen Sie Ihr System mit „htop".
|
||||
|
||||
```bash
|
||||
htop
|
||||
```
|
||||
|
||||
### Zeigen Sie die Speicherauslastung an.
|
||||
|
||||
```bash
|
||||
df -h
|
||||
```
|
||||
|
||||
### Zeigen Sie die Arbeitsspeicher-Auslastung an.
|
||||
|
||||
```bash
|
||||
free -h
|
||||
```
|
||||
|
||||
### 18. Wie finden Sie Hilfe zu einem Befehl?
|
||||
|
||||
```bash
|
||||
man <Befehl>
|
||||
```
|
||||
|
||||
Beispiel:
|
||||
|
||||
```bash
|
||||
man ls
|
||||
```
|
||||
|
||||
**Zusatzaufgabe:****Erstellen Sie eine weitere Datei im Ordner „dokumente" und verschieben Sie diese anschließend in den Ordner „bilder". Zeigen Sie danach erneut die Struktur mit tree an.**
|
||||
|
||||
> Viel Erfolg beim Erkunden der Linux-Befehle und beim Organisieren Ihrer Dateien!
|
||||
|
||||
|
||||
[PDF herunterladen](Grundlagen_der_Konsole.pdf){ .md-button }
|
||||
BIN
mkdocs/docs/basics/Grundlagen_der_Konsole.pdf
Normal file
BIN
mkdocs/docs/basics/Grundlagen_der_Konsole.pdf
Normal file
Binary file not shown.
304
mkdocs/docs/basics/Windows-Freigabe mit Samba.md
Normal file
304
mkdocs/docs/basics/Windows-Freigabe mit Samba.md
Normal file
@@ -0,0 +1,304 @@
|
||||
# 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.
|
||||
|
||||
## smb.conf
|
||||
|
||||
```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
|
||||
wins support = no
|
||||
wins server = w.x.y.z
|
||||
```
|
||||
|
||||
Kann geändert werden zu
|
||||
|
||||
```ini
|
||||
wins support = yes
|
||||
# wins server = w.x.y.z
|
||||
```
|
||||
|
||||
Damit übernimmt der Samba-Server die [WINS](https://de.wikipedia.org/wiki/Windows_Internet_Naming_Service)-Aufgaben.
|
||||
|
||||
**In einem Netzwerk sollte immer nur ein WINS-Server aktiv laufen.**
|
||||
|
||||
```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 addgrouo 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 mkdir /srv/samba/lieferscheine
|
||||
sudo chown -R nobody:angebote_ae /srv/samba/angebote
|
||||
sudo chown -R nobody:lieferscheine_ae /srv/samba/lieferscheine
|
||||
sudo chmod -R 0077 /srv/samba/angebote
|
||||
sudo chmod -R 0077 /srv/samba/lieferscheine
|
||||
sudo nano /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 }
|
||||
BIN
mkdocs/docs/basics/Windows-Freigabe_mit_Samba.pdf
Normal file
BIN
mkdocs/docs/basics/Windows-Freigabe_mit_Samba.pdf
Normal file
Binary file not shown.
Reference in New Issue
Block a user