Einfügen von Admonitions
This commit is contained in:
@@ -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 |
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user