Einfügen von Admonitions

This commit is contained in:
Florian Hensel
2025-12-14 15:05:31 +01:00
parent e86b0082c7
commit 60104ac84b
12 changed files with 273 additions and 160 deletions

View File

@@ -1,9 +1,6 @@
# 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
@@ -16,6 +13,8 @@ Dieses Projekt zeigt eine saubere, praxisnahe Einrichtung von
| Hans Wurst | X | | | X |
| Peter Lustig | | X | | X |
!!! Note ``Samba`` sollte bereits installiert sein
---
## 2. Benutzer und Gruppen anlegen
@@ -29,20 +28,20 @@ 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
sudo addgroup angebote_r # Leserechte für Angebote
sudo addgroup angebote_w # Schreibrechte für Angebote
sudo addgroup lieferscheine_r # Leserechte für Lieferscheine (hier nicht genutzt)
sudo addgroup lieferscheine_w # 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
sudo usermod -aG angebote_r hwurst
sudo usermod -aG lieferscheine_w hwurst
# Peter Lustig: Darf Angebote und Lieferscheine schreiben
sudo usermod -aG angebote_ae plustig
sudo usermod -aG lieferscheine_ae plustig
sudo usermod -aG angebote_w plustig
sudo usermod -aG lieferscheine_w plustig
````
### 2.4 Benutzer in Samba bekannt machen
@@ -60,11 +59,11 @@ 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
# Angebote: Besitzer = nobody, Gruppe = angebote_w (Schreibrechte)
sudo chown -R nobody:angebote_w /srv/samba/angebote
# Lieferscheine: Besitzer = nobody, Gruppe = lieferscheine_ae (Schreibrechte)
sudo chown -R nobody:lieferscheine_ae /srv/samba/lieferscheine
# Lieferscheine: Besitzer = nobody, Gruppe = lieferscheine_w (Schreibrechte)
sudo chown -R nobody:lieferscheine_w /srv/samba/lieferscheine
````
### 3.3 Berechtigungen setzen
@@ -76,7 +75,7 @@ sudo chmod -R 0077 /srv/samba/lieferscheine
# - 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.
!!! note Die tatsächlichen Rechte werden später durch Samba (````force create mode, valid users````) gesteuert.
## 4. Samba-Freigaben konfigurieren
@@ -93,19 +92,19 @@ Fügen Sie folgende Abschnitte am Ende der Datei ein:
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
valid users = @angebote_r, @angebote_w # Nur diese Gruppen dürfen zugreifen
write list = @angebote_w # 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
force group = angebote_w # 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
valid users = @lieferscheine, @lieferscheine_w # Nur diese Gruppe darf zugreifen
write list = @lieferscheine_w # Nur diese Gruppe darf schreiben
force group = lieferscheine_w
````
## 5. Userverzeichnisse (Home-Freigaben)
@@ -120,7 +119,7 @@ Aktivieren Sie die [homes]-Freigabe in ````/etc/samba/smb.conf```` (entkommentie
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).
!!! note ``%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````
@@ -142,11 +141,11 @@ 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.
!!! note 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 |

View File

@@ -17,9 +17,9 @@ Festplatte: 40 GB (dynamisch alloziert, VDI-Format).
Netzwerk:
Wählen Sie "Netzwerkbrücke" oder "NAT" (je nach Anforderungen).
Hinweis: Stellen Sie sicher, dass der Server später auf 10.10.224.119 zugreifen kann.
Hinweis: Stellen Sie sicher, dass der Server später auf 10.10.224.119 (cache-server) zugreifen kann.
> ISO download: ubuntu.com/download/server
!!! info ISO download: ubuntu.com/download/server
### Schritt 2: VM starten und Installation beginnen
@@ -162,15 +162,14 @@ Warten Sie auf den Abschluss und starten Sie die VM neu.
## Erste Schritte nach der Installation
Schritt 0: 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!**
!!! warning **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, um den Cache-Server des Kurses zu nutzen:
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
@@ -213,7 +212,7 @@ chmod 600 ~/.ssh/authorized_keys
* Klicken Sie auf "Open" und melden Sie sich an.
#### 4. Passwort-Login deaktivieren
> erst nach erfolgreicher Key-Anmeldung!
!!! warning erst nach erfolgreicher Key-Anmeldung!
Bearbeiten Sie die SSH-Konfiguration:
````bash
@@ -233,6 +232,7 @@ Speichern Sie und starten Sie SSH neu:
````bash
sudo systemctl restart ssh
````
!!! tip Versuchen Sie sich erneut mit einem Passwort einzuloggen, wenn es nicht geht, ist alles in Ordnung!
### Automatische Updates einrichten
````bash
sudo apt install unattended-upgrades -y
@@ -248,5 +248,4 @@ Manuelles Backup mit rsync:
sudo apt install rsync -y
rsync -av /home/meisterkurs/ /backup/meisterkurs/
````
Die Ordner sollten natürlich vorhanden sein, und der User ausreichende Berechtigung dazu haben. Siehe [Ordner erstellen](../basics/Grundlagen_der_Konsole.md) bzw. Berechtigungen in der [Samba-Anleitung](../basics/Windows_Freigaben_fuer_Linux-Einsteiger.md)
Wie das regelmäßg gemacht wird, haben Sie schon mit [cron](../basics/Automatisierung_mit_cron_und_systemd.md) gelernt.
!!! note Die Ordner sollten natürlich vorhanden sein, und der User ausreichende Berechtigung dazu haben. Siehe [Ordner erstellen](../basics/Grundlagen_der_Konsole.md) bzw. Berechtigungen in der [Samba-Anleitung](../basics/Windows_Freigaben_fuer_Linux-Einsteiger.md). Wie das regelmäßg gemacht wird, haben Sie schon mit [cron](../basics/Automatisierung_mit_cron_und_systemd.md) gelernt.

View File

@@ -16,12 +16,10 @@ Open-Source mySQL Ableger MariaDB empfohlen.
```bash
sudo apt install apache2 mariadb-server libapache2-mod-php php php-mysql php-xml php-gd php-curl php-zip php-mbstring php-intl php-bcmath php-gmp php-imagick php-redis redis-server php-ldap php-smbclient unzip phpmyadmin
```
!!! warning
Während der Installation für ``phpmyadmin`` werden Sie nach dem zu konfigurierenden webserver abgefragt.Wählen Sie hierfür mit der <kbd>Leertaste</kbd> apache2 aus. Sie erkennen die Auswahl am ````*````.
Abfragen nach dem zu verwendenden Webserver: apache2
Konfiguriere phpmyadmin: Ja Datenbank Konfigurieren
Passwort setzen
!!! info Konfiguriere phpmyadmin: Ja Datenbank Konfigurieren und Passwort setzen
Im Anschluss muss die Datenbank noch gesichert werden um etwaigen
Missbrauch zu unterbinden und auch das Root-Passwort wird hier gesetzt
@@ -50,9 +48,7 @@ Zugriff auf ihre Datebank per Webinterface:
http://IP/phpmyadmin
> Legen Sie einen neuen Nutzer für NextCloud an und gewähren Sie dem Nutzer alle Rechte an seiner Datenbank „Nextcloud".
/newpage
!!! attention Legen Sie einen neuen Nutzer für NextCloud an und gewähren Sie dem Nutzer alle Rechte an seiner Datenbank „NextCloud".
## NextCloud installieren
@@ -113,12 +109,11 @@ sudo a2enmod ssl
sudo systemctl restart apache2
```
Nun können Sie per http auf den Webserver zugreifen
http://nextcloud.tnxx.ito oder http://IP
Nun können Sie per http auf den Webserver zugreifen http://IP oder http://nextcloud.tnxx.ito
![Erster Login, Eingabe der Admindaten](./nextcloud-ldap-media/image1.png)
Hier legen Sie nun das Administrator-Konto ein, wobei natürlich Admin und ein schwaches Passwort hier Tabu sind.
Hier legen Sie nun das Administrator-Konto an, wobei natürlich Admin und ein schwaches Passwort hier Tabu sind.
Geben Sie als Datenverzeichnis das gerade angelegte Verzeichnis an und geben Sie die entsprechenden Daten die beim Anlagen der Datenbank gesetzt wurden ein.
@@ -138,17 +133,11 @@ sudo nano /var/www/nextcloud/config/config.php
Fügen Sie eine weitere Zeile vor der schließenden Klammer ein:
````php
'dbtype' => 'mysql',
'version' => '12.0.0.29',
'dbname' => 'NextCloud',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'dbuser' => 'NextCloud',
'dbpassword' => 'passw0rd#',
'logtimezone' => 'UTC',
...
'installed' => true,
````
neu:
````php
'memcache.distributed' => '\OC\Memcache\Redis',
@@ -160,6 +149,7 @@ Fügen Sie eine weitere Zeile vor der schließenden Klammer ein:
),
````
zwingend vor:
````php
);
````
@@ -182,7 +172,7 @@ Bearbeiten der Datei ````/etc/apache2/sites-available/nextcloud.conf````
````apacheconf
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTPS} Off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
@@ -263,8 +253,7 @@ Nextcloud ermöglicht eine einfache Anpassung des Designs an Ihr Firmenlayout di
* Favicon: [Favicon](./Nextcloud_Design/favicon.ico)
## LDAP
Konfiguration smb.conf bei einem Samba AD-DC
!!! note Konfiguration ``smb.conf`` bei einem [Samba AD-DC](../bonus/linux-als-ad-server.md)
````ini
[global]
ldap server require strong auth = no