Alle Beiträge von Friedrich_Fuhr

TailScale Cert automatisieren

Dank Reddit und dem User gellenberg gibt es das hier:

nano /etc/systemd/system/tailscale-cert.service

[Unit]
Description=Tailscale SSL Service Renewal
After=network.target
After=syslog.target

[Service]
Type=oneshot
User=root
Group=root
WorkingDirectory=/etc/ssl/private/
Environment="HOSTNAME=[your device's hostname]"
Environment="DOMAIN=[your tailnet].ts.net"
ExecStart=tailscale cert ${HOSTNAME}.${DOMAIN}

[Install]
WantedBy=multi-user.target

/etc/systemd/system/tailscale-cert.timer

[Unit]
Description=Renew Tailscale cert

[Timer]
OnCalendar=weekly
Unit=%i.service
Persistent=true

[Install]
WantedBy=timers.target

systemctl daemon-reload

systemctl start tailscale-cert.service

systemctl enable tailscale-cert.timer

Your SSL certs will be in /etc/ssl/private.

Tailscale und die NodeKeys

Da ich sowohl unter Proxmox als auch unter UnRaid mit LXC Containern arbeite und diese auch recht gerne clone / kopiere gibt es unschöne Duplikate der NodeKeys wenn tailscale up versucht, sich im TailNet zu verbinden.

Bisher hatte ich immer mit apt purge tailscale das ganze Paket deinstalliert, um es sogleich wieder mit apt install tailscale zu installieren.

Aber es gibt einen eleganteren Weg ohne Neu-Installation, den Denton Gentry beschrieben hat:

sudo systemctl stop tailscaled

sudo rm /var/lib/tailscale/tailscaled.state

sudo systemctl start tailscaled

tailscale up

Und schon musst du dich erneut einloggen und die neue Maschine annehmen.

Docker mit Rootrechten installieren

# Alte Installationsreste entfenen:
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt remote $pkg; done

# Alte Docker-Images etc. löschen
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

# Docker apt-REpository
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Installation Docker
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

#Check mit Hello World
sudo docker run hello-world

Sollten Fehler auftreten, beheben. Sonst war es das.

Docker, Portainer und TailScale installieren

Es gibt diverse Möglichkeiten, diese drei Programme zu installieren. Ich beschränke mich hier auf die absolut notwendigsten Befehle und Schritte. Man kann darüber reden, ob rootless Docker nicht besser wäre. Aber diese Diskussion will ich jetzt nicht führen. Stattdessen halten wir es einfach und straightforward.

DOCKER:
Wir installieren Docker mit Root Rechten:
curl -fsSL https://get.docker.com/ | sh

Und checken das Ganze mit:
docker run hello-world

Wenn Alles glatt gelaufen ist, solltest Du jetzt in etwa Folgendes sehen:

Unable to find image ‚hello-world:latest‘ locally
latest: Pulling from library/hello-world
e6590344b1a5: Pull complete
Digest: sha256:424f1f86cdf501deb591ace8d14d2f40272617b51b374915a87a2886b2025ece
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:

  1. The Docker client contacted the Docker daemon.
  2. The Docker daemon pulled the „hello-world“ image from the Docker Hub.
    (amd64)
  3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
  4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

TAILSCALE:
Bevor wir weiter in die Tiefe mit Portainer gehen, installieren wir noch eben TailScale. Gleich verstehst du auch warum. Die einfachste Methode besteht aus:

# Schlüssel und Repo runterladen
curl -fsSL https://pkgs.tailscale.com/stable/debian/bookworm.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
curl -fsSL https://pkgs.tailscale.com/stable/debian/bookworm.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list

# Installieren:
sudo apt-get update
sudo apt-get install tailscale

# TailScale hochfahren
sudo tailscale up

# Login und Authentifizierung bei TailScale
Du erhältst dann einen WebLink zum Login bei TailScale.

Bei Klick auf diesen Link kommst du zur Admin-Konsole von TailScale.

Du wirst aufgefordert, den Hostnamen in deinem TailNet zu bestätigen- Vorher schaltest du bitte Machine Key Expiry aus und klickst dann auf Approve.

Und schon hat dein Host eine FQDN innerhalb des geschützten TailScale VPN. Das Schöne daran: Du kannst für diesen Namen ein Let´sEncrypt-Zertifikat bekommen und automatisch erneuern lassen.

Da ich auch nur mit Wasser koche und ich eine wundervolle Anleitung gefunden habe und diese wertschätzend dir nun ans Herz legen möchte, guck einfach bei reddit vorbei …

PORTAINER:

Kommen wir zu Portainer. Meiner Lieblings-App zum Verwalten von Docker-Containern. Auch hier gilt: Kurz und einfach ist besser als verschachtelt und kompliziert. Es gibt nur drei Ausnahmen von dieser Regel: Erstens richten wir portainer_data auf einem festgelegten physikalischen Pfad, zweitens beschränken wir uns auf Port 9443 und drittens wählen wir die Business-Variante von Portainer. Die gibt es nämlich für 3 Nodes kostenlos.

docker run -d -p 9443:9443 \
    --name portainer --restart always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /docker/portainer_data:/data \
    -v /etc/ssl/private:/certs \
    portainer/portainer-ee:lts \
    --sslcert /certs/host.ts-domain.ts.net.crt \
    --sslkey /certs/host.ts-domain.ts.net.key


Falls du dich gegen Tailscale und die ganzen Zertifikate entschieden haben solltest – gib die IP-Adresse des Servers ein, gefolgt von 9443. Zum Beispiel: https://192.168.1.20:9443. Nimm bitte tatsächlich https und akzeptiere für den Moment das unsichere Zertifikat. Rasch solltest du das tun, weil der Login mit Setzen des Passwortes nur für ein paar Minuten nach Installation aktiv ist.

Falls du bisher Alles so gemacht hast, wie es hier beschrieben ist: Gib https://hostname.tailnetnetworkname.ts.net:9443 ein und du wirst als Erfolg deiner bisherigen Arbeit ein sicheres SSL-Login zu Portainer erhalten.

Das sollte dann so aussehen:

Solltest du aus Gründen doch ein bisschen zu langsam gewesen sein, dann siehst du dies hier:

Entspann dich und gib ein:

sudo docker restart portainer

Dann kannst du den User endlich anlegen.

Danach musst du noch den Lizenzkey von Portainer BE eintragen. Ich empfehle dir, den og. Link frühzeitig anzuklicken und den freien Key zu bestellen. Es kann nämlich dauern, bis der da ist. Falls du ohnehin keine Business-Variante brauchst, ersetzt du im obigen Aufruf einfach portainer/portainer-ee:lts durch portainer/portainer-ce:lts .

Einen Klick weiter landest du direkt auf der Administrationsoberfläche von Portainer. Das sieht dann so aus:

Ein Klick auf Get Started bringt dich zur lokalen Umgebung.

JETZT. Genau jetzt ist der Moment für eine beherzte Datensicherung. Mach einen Snapshot, mach einen Dump, ein Image. Ganz gleich, wie du das machst. Aber tu es jetzt. Solltest du meinen freundlichen Rat an dieser Stelle ignorieren: Kein Problem. Aber mache dich darauf gefasst, dass du dadurch sehr viel Zeit verlieren kannst, nämlich die ganze Zeit, die du bisher hier investiert hast. Also: mach eine Datensicherung.

In Proxmox klickst du auf Backup im Container. In Unraid machst du einen Snapshot. Das ist das mindeste. Hast du auf einem physischen Server installiert, nimm rclone oder Borg oder Duplicati. Es ist mir egal. Aber mach jetzt ein Backup!

Ich habe in meinem Tutorial auf Unraid einen Snapshot gemacht und kopiere den gesamten LXC Container zu einem neuen LXC mit dem Namen OpenCloud. Mit diesem – und nur mit diesem – arbeite ich weiter.

Das einzige, was du dabei beachten musst, steht hier und hier.

Vorbereitungen für OpenCloud:

Wir starten mit einem Debian 12 (bookworm) System. Auf dem System gilt es, noch ein paar Vorbereitungen zu treffen. Diese ganzen Installationen führen wir noch als root durch. Erst später arbeiten wir ausschliesslich mit dem neu eingerichteten User admin.

Allgemein:

# Update Pakete sammeln
apt update -y
# Upgrade durchführen
apt upgrade -y
# Texteditor nano
apt install -y nano
# Curl für diverse Installationen
apt install -y curl unzip xz-utils
# Hardware bei Bedarf checken
apt install -y lshw
# Sudo für admin
apt install -y sudo
# Einhängen von Netzlaufwerken
apt install -y samba smbclient cifs-utils

Für Docker und Portainer:

# Für das Usermapping bei Docker
apt install -y uidmap
apt install -y slirp4netns
apt install -y dbus-user-session
# Für modprobe
apt install -y kmod

Benutzer admin einrichten:

# Benutzer admin anlegen
adduser admin
# In die Gruppe admin aufnehmen
groups admin
#Passwort für admin setzen
# falls noch nicht geschehen!
passwd admin
(linux User -PW merken!)
#Passwort für Samba setzen
smbpasswd -a admin
(smb User -PW merken!))
# SSH Login für User admin erlauben
nano /etc/ssh/sshd_config
#ganz unten mit tab einfuegen
AllowUsers admin
# Sudo Rechte einräumen
sudo usermod -aG sudo admin

Samba-Shares:

# Docker Ordner erstellen
mkdir /docker
# Berechtigungen neu setzen
chown 1000:1000 /docker
# Erster Login als admin!
login admin
cd /docker
# Verzeichnis für Opencloud vorbereiten
mkdir opencloud
# Verzeichnis für Portainer anlegen
mkdir portainer
# Samba-Freigabe
sudo nano /etc/samba/smb.conf
# Ganz unten folgende Zeilen einfügen
###
[docker]
path = /docker
read only = no
guest ok = no
valid users = admin
###
# Samba neustarten
sudo systemctl restart smbd.service
# Check, ob der Share funktioniert
smbclient -U admin //[IP_address|Server_name]/docker -c ‚ls‘
# per UNC
\\Debian_server_IP\docker
# Nun auf einem beliebigen Server Festplattenplatz per Samba bereitstellen. Hier bspw. auf einem lokalen Server unter dem Sharenamen cloud – freigegben für den Benutzer cloud:
# Test, ob Zugriff möglich ist
smbclient -U cloud //[IP_address|Server_name]/cloud -c ‚ls‘
#Ergebnis:
. D 0 Fri Apr 11 10:20:59 2025
.. D 0 Fri Apr 11 10:20:59 2025

5858435620 blocks of size 1024. 2073083928 blocks available
# smbcredentials eintragen
nano /home/admin/.smbcredentials
username=cloud
password=XXXX
domain=workgroup
# sichern
chmod 0600 ~/.smbcredentials
#Dort folgende Zeile eintragen:
//[IP_address|Server_name]/cloud /mnt/cloud cifs credentials=/home/admin/.smbcredentials,uid=admin,gid=admin 0 0
# Dauerhaften Zugriff auf diesen Share
sudo mkdir /mnt/cloud
sudo nano /etc/fstab
#Samba Service restarten
sudo systemctl restart smbd.service
# Check:
sudo mount -a

Vorüberlegungen zu OpenCloud

Debian 12 als Host:

Die Installation setzt voraus, dass ein Linux-Host-System genutzt wird. In diesem Fall ist es Debian 12. Diese Anleitung lässt sich mit geringen Abweichungen aber sicher auch mit Ubuntu durchführen.

LXContainer, Docker und Portainer:

Ich habe das Ganze unter Proxmox und unter Unraid 7 als LXContainer getestet. Du kannst dir überlegen, ob du LXCs verwendest und Docker nicht-privilegiert / rootless laufen lassen möchtest. Aus verschiedenen Überlegungen habe ich mich für den Weg entschieden, LXCs und Docker privilegiert laufen zu lassen. Solltest du dich anders entscheiden, nimm nicht-privilegierte LXCs und/oder Docker ohne Root-Berechtigung. Ich habe zu Docker noch Portainer in der Community Edition installiert. Warum, wirst du im Lauf der Anleitung verstehen. Abweichend von der sehr praktikablen Anleitung von der OpenCloud GmbH habe ich einen Portainer Stack gebildet, der auch über Portainer administrierbar ist.

Collabora ohne ClamAV und KeyCloak;

Überlege dir in Ruhe, ob du OnlyOffice oder Collabora nutzen willst, um Dateien online erstellen und bearbeiten zu können. Hier wird Collabora genutzt. Aus der angebotenen Beispielkonfiguration der OpenCloud GmbH auf GitHub lassen sich individuell angepasste Installationen durchführen. Der Antivirus-Schutz von ClamAV und noch mehr die OIDC-Lösung von KeyCloak sind recht umfangreiche mächtige Programmteile. Ob du sie wirklich brauchst, entscheidest du. Hier verzichte ich auf beide Programme, um die Installation nicht noch umfangreicher zu machen, als sie schon so ist. Nachträglich zu KeyCloak zu wechseln ist wahrscheinlich nicht ganz so einfach. Aber wenn du das Ganze für vielleicht 10-20 User aufsetzt, ist KeyCloak auch wirklich nicht notwendig.

TailScale als VPN-Lösung:

Sicherheit der gesamten Installation kannst du bspw. dadurch sicherstellen, dass der Zugriff nur über verschlüsselte private Netze erfolgen kann – also VPN. Ob du das über WireGuard, Zerotier, Freebird, TailScale oder Cloudflare löst: Das weisst du am Besten. Ich habe mich für TailScale entschieden.

NetCup oder Cloudflare als Nameserver;

Du brauchst einen voll qualifizierten Domainnamen (FQDN). Wo du den registrierst, ist letztlich egal – wichtig nur, dass du volle Kontrolle über die NameServer-Einträge hast. Denn dort müssen wir einige Einträge machen. Und für die DNS-Challenge von traefik als Reverse-Proxy brauchen wir einen API-Zugriff auf den Nameserver. Suche nach LEGO und DNS. Dort findest du eine umfangreiche Liste von Anbietern, die per DNS-Challenge Modifikationen via API zulassen. Ich habe sowohl mit Cloudflare als auch mit NetCup Tests durchgeführt und bin zum Schluss gekommen, dass ich für diese Doku NetCup verwende. Einfach deshalb, weil ich dort viele Domains hoste und der Zugriff auf den DNS vergleichsweise leicht funktioniert. Das PollingIntervall bei Netcup solltest du auf 1000 setzen, sonst wird es schwierig. Mit Cloudflare gab es keine Zeitverzögerungen beim Neuladen der NS-Einträge.

Ausreichenden Festplattenspeicher:

Ein letzter Gendanke: Beachte, dass du Festplattenspeicher brauchst, um OpenCloud sinnvoll einsetzen zu können, schon die Installation ist umfangreich. Es ist daher überlebenswert, die OpenCloud auf einem Rechner laufen zu lassen, von dem du Zugriff auf entsprechend grosse Festplatten-Kontingente herstellen kannst. 

Vaultwarden mit Tailscale in Docker auf der Synology

Worum geht es?

Sich Passwörter auszudenken, sie sich zu merken und sinnvoll auf sie zuzugreifen ist für Menschen, die wirklich viele Zugänge zu unterschiedlichen Anwendungen, Shops oder Servern haben, gar nicht so leicht. Im Folgenden beschreibe ich die Installation einer ganzen Umgebung dafür, diese Aufgabe in die eigene Hand zu nehmen. Jemand, der sensible Inhalte wie Passwörter gerne auf eigenen Systemen sicher verwahren will und dazu nicht mit Portfreigaben, SSL-Zertifikaten etc. hantieren will, kann sich mit etwas technischem Verständnis und dieser Anleitung sein selbst gehostetes System aufbauen. Zunächst kläre ich die 4 Begriffe aus dem Titel. Dann beschreibe ich Schritt für Schritt, was zu tun ist.


Vaultwarden

Vaultwarden ist eine freie Software, die selbst gehostet werden kann, um mit bitwarden-Clients zentral seine Passwörter zu verwalten und zu nutzen. Ausserdem lassen sich in dem dabei verwendeten ”Tresor“ Kartendaten, TOTP-Zugangsdaten etc. speichern. Sichere Passwörter können generiert werden, alle Daten können gruppiert und ggbfalls geteilt werden.

Tailscale

Tailscale ermöglicht den Aufbau eines VPN-Mesh-Netzwerks auf der Grundlage von Wireguard. Die einzelnen Maschinen (Nodes) sind via MagicDNS mit FQDN adressier- und nutzbar innerhalb des ts.net Raums. Ports müssen dazu weder geöffnet, weitergeleitet werden. Selbst gehostete Applikationen können ohne Reverse-Proxies bereitgestellt werden. Zugriff zum VPN-Mesh ist nur für Berechtigte möglich.

Docker

Docker ist eine für viele Host-Betriebssysteme verfügbare Virtualisierungslösung, die in Stacks aus Containern ganze Applikationen bereitstellen lässt. Teilweise sind wenige Zeilen Code ausreichend, um bspw. einen Webserver anzulegen und online zu bringen. Das schont Ressourcen und ermöglicht mit vergleichsweise geringem Aufwand das Hosting von unterschiedlichen Apps.

Synology

Die Firma Synology stellt so genannte Network Attached Storage (NAS) Systeme her, die sie Diskstation (oder in einem anderen Format Rackstation etc. nennen). Über den DiskStationManager (DSM) lassen sich diverse Systemeinstellungen administrieren und es können Pakete zusätzlicher Software installiert werden. Bis hin zu Virtuellen Maschinen (VM) und eigenen Mailservern lassen sich die Synologies erweitern. Unter anderem lässt sich auch Docker auf der Synology einrichten.


Auswahl der Hardware

Um es kurz zu machen: Es gibt unzählige Synology-Modelle. Für unsere Zwecke reicht eine DS220+ (oder DS224+) mit 10 GB RAM Speicher und zwei 6 TB HDD. Zu den 2 GB RAM lassen sich weitere 8 GB aufrüsten (nicht nur 4 GB wie Synology sagt!). Das sollte man auch tun. Je mehr RAM die DS hat, desto besser. Wer auf Virtuelle Maschinen (VM) Wert legt, muss natürlich eine bessere Version mit leistungsfähigerer CPU und mit mehr RAM kaufen. Man kann sich ja auf der Website von Synology anschauen, was es gibt.

Installation von Docker auf der Synology

Ich habe zunächst einen User docker eingerichtet samt eigenem Verzeichnis, in dem dann nach und nach alle persistenten Datenspeicher der Container abgelegt werden. Die einfachsten und verständlichsten englischsprachigen Anleitungen für viele Installationen auf Synology findest du unter MariusHosting. Ich fände es müssig, gute Anleitungen zu übersetzen und im Grunde zu kopieren. Daher verweise ich gerne auf funktionierende Quellen. Ich empfehle daher zunächst, Portainer bis zu Step 13 zu installieren. Der Rest ist für unsere Zwecke nicht wichtig im Moment.

Freiheit und Verantwortung

Freiheit und Verantwortung in nahen zwischenmenschlichen Beziehungen: Zwei Begriffe, die schwergewichtig in fast jedem ethischen Diskurs auftauchen, zumindest gestreift werden.  Darüber wurde schon viel geschrieben. Es gibt vermutlich nicht viel Neues dazu. Mein bescheidener Versuch, darüber zu schreiben, dient einem dreifachen Zweck. Ich verschaffe mir selbst Klarheit über meine derzeitige Haltung und Position. Außenstehende mögen diese Text zur Kenntnis nehmen, wenn sie es wünschen. Mithilfe dieses Textes möchte ich aber vor allem meine Haltung den Menschen, mit denen ich nahe zwischenmenschliche Beziehungen lebe, zur Verfügung stellen. Dieser dritte Zweck meines Handelns geht direkt in „medias res“ der Angelegenheit. Denn meine erste These zum Thema lautet: 

T1: „ Es ist eine moralische Pflicht, klar und deutlich mitzuteilen, welche Haltung zur Freiheit und Verantwortung in nahen zwischenmenschlichen Beziehungen man einnimmt gegenüber denjenigen, mit denen man meint, solche Beziehungen zu unterhalten.“

„Moralische Pflicht“ kann für freiheitsliebende Menschen erst einmal schwer und bedrückend daher kommen. Ich vermute: Wer die Freiheit liebt, will frei sein von moralischen Pflichten (die nicht seine eigenen sind!). Nun komme ich daher und stelle diese These auf. Damit konfrontiere ich meine Leser gleich zu Beginn mit Moral, also dem normgerechten Rahmen ethischen Handelns. 

Die Frage, ob es diese Pflicht gibt – oder nicht, ist eine „unentscheidbare Frage“ wie Heinz von Förster sagen würde. Ob etwas „klar und deutlich“ mitgeteilt wird, liegt wie Gunter Schmidt oder Schulz von Thun sagen würden, in der Interpretation bzw. Wirklichkeitskonstruktion des Empfängers der Nachricht. Entscheidbar hingegen ist die Frage, ob man meint, eine nahe Beziehung zu einem anderen Menschen zu unterhalten. Von Förster skizziert das Wesen unentscheidbarer Fragen treffend in „Teil der Welt“, S. 178: „Das ist das Amüsante an den prinzipiell unentscheidbaren Fragen; dass es eben keinen Formalismus, keinen Zwang, gibt, der mich zwingt, diese Frage in dieser oder jener Form zu beantworten. Mit dieser prinzipiellen Unentscheidbarkeit ist ein Raum der Freiheit geöffnet, in dem du jetzt entscheiden kannst. Das heißt, prinzipiell unentscheidbare Fragen können nur wir entscheiden, indem wir sagen: Ich möchte diese Entscheidung wählen, denn ich habe die Freiheit, hier zu wählen, was ich will.“ Damit komme ich nahtlos zu meiner zweiten These.

T2: „Es ist ein Akt der unbeschränkbaren Freiheit eines jeden Menschen, seine Entscheidungen zum Umgang mit der Wirklichkeit in freier Wahl und aus freiem Willen zu treffen.“

Ich bin also Verfechter einer Wahl- und Willensfreiheit in Bezug auf unser Thema. Mehr noch: Ich halte diese Wahlfreiheit für einen Akt der Freiheit selbst. Und ich bin prinzipiell der Ansicht, dass jeder Mensch diese Freiheit sein Eigen nennt, ohne dass es für mich moralisch statthaft wäre, diese Freiheit zu beschränken. Auch hier lege ich wieder moralisches Richtmaß an. Es ist für mich verwerflich, einen Menschen in seiner Freiheit zu beschränken, zu wählen und zu wollen, wie er beliebt, mit der Wirklichkeit umzugehen. Dabei lasse ich im Moment noch offen, ob es denn eine solche Wirklichkeit ausserhalb der je eigenen persönlichen Wirklichkeitskonstruktion überhaupt gibt.  So viel sei gesagt: Auch dies ist meines Erachtens eine „unentscheidbare Frage“ – also eine spannende Frage. Was die Willensfreiheit angeht, bin ich nun kein Verfechter einer unumschränkten Willensfreiheit. 

Ich sehe schon Beschränkungen durch emotionale, innerpsychische oder körperliche Gegebenheiten. Die Versuche von Benjamin Libet et al. wären ein Hinweis in diese Richtung, die ich an dieser Stelle aber auch nicht weiter verfolgen werde. Ich möchte nur ausschliessen, dass die Argumentationslinie sich in Detailfragen verliert. Denn sonst bin ich schneller in einem Diskurs über Determiniertheit vs. Willensfreiheit oder diskutiere über Dezisionalismus vs. Notwendigkeiten. Das ist für mich im Moment irrelevant. Ich riskiere damit, dass aus Gründen der persönlichen Konstitution (bspw. geistige oder körperliche Behinderung, Sucht, Traumafolgen etc.) die prinzipielle Freiheit des Einzelnen in Abrede gestellt werden könnte. Um diese Diskussion im Keim zu beenden, stelle ich meine dritte These auf.

T3: „Das Verhalten und die Handlungen (aktiv oder passiv) eines Menschen – also seine Taten – sind moralisch so zu bewerten, als ob er diese frei gewählt und gewollt habe, selbst wenn diese subjektiv von dem betroffenen Menschen nicht so erlebt wurde.“

Verhalten ist reaktiv. Handlung gilt als willentlich veranlasst. Ich fasse Beides und zudem noch „aktives Tun“ oder „passives Unterlassen“ eines Menschen zusammen als Taten. Ich behandle jeden Menschen so, als ob er sich zu seinen Taten bewusst entschieden hat, sie also gewählt, gewollt und ausgeführt (bzw. unterlassen) hat, selbst wenn dies nicht der Fall gewesen sein mag. Diese These ist schon entschieden gewagter und wird den Widerspruch so mancher Zeitgenossen aufwallen lassen. Das ficht mich nicht an. Denn ich habe das unveräusserliche Recht, zu meinen, zu denken und zu sagen, was immer ich will. Dies eben ist das mir Eigene. Dies ist, wozu ich mich entschlossen habe. Dies ist meine Haltung. Da ich der Auffassung bin, dass esfür den weiteren Verlauf des Diskurses unabdingbar ist, diese These in ihrer mächtigen Schlagkraft eindeutig und klar zu verstehen, werde ich ein Beispiel geben, dass extrem ist und gerade deshalb hoffentlich den gewünschten Effekt eines klaren Ausdrucks erzielt. 

Wir stellen uns einen Menschen vor, der einen über den Durst trinkt. Im alkoholisierten Zustand brüllt er sein Kind an, das daraufhin anfängt, zu weinen. Moralisch bewerte ich die Tat des alkoholisierten Menschen gerade ebenso, als hätter er nichts getrunken. Es macht für mich keinerlei Unterschied. Ich schaue mir das Phänomen an. Das Phänomen ist: Ein Mensch schreit sein Kind an. Das Kind beginnt deshalb zu weinen. Ich werde moralisch ausschliesslich seine Tat bewerten. Es ist für mich unerheblich, ob er das überhaupt mitgekriegt hat (also sein inneres Erleben ist für mich irrelevant). Es ist mir auch schnuppe, welche möglichen Entschuldigungsgründe der Mensch für seine Tat anführt. Die Tat wird schonungslos und nackt in ihrer Phänomenologie voll anerkannt von mir und nach meinen Maßstäben moralisch bewertet. Wie meine moralische Bewertung in diesem Fall aussieht, ist für meine Argumentationslinie unerheblich. Selbst wenn ich mich dazu entscheiden würde, die Tat moralisch als nicht verwerflich anzusehen, ändert es nichts an meiner These, dass ich die inneren Beweggründe, Absichten, Umfeldeinflüsse, Entschuldigunggründe oder das innere Erleben dieses Menschen bei meinr moralischen Bewertung nicht berücksichtigen werde. Ich finde, dass diese These zumindest erklärungsbedürftig ist, denn sie widerspricht zunächst unserer Alltagsauffassung. Daher erhärte ich meine Position weiter und spitze sie in These 4 zu.

T4: „Taten gibt es, doch keinen Täter – sagt Buddha. Wie Recht er damit hatte.  Es sind die Taten, die moralisch bewertbar sind, nicht die Täter.“

So spitz und hart wie selbst mir diese These scheint, so viel Mitgefühl und Güte liegt in ihr. Taten können moralisch verwerflich sein oder hilfreich sein. Menschen sind freie Lebewesen, die Taten begehen. Nicht die Täter sind Gegenstand der moralischen Bewertung, sondern die Taten. Verlässt man dieses sichere Terrain, ist es nur ein kleiner Schritt in moralische Überheblichkeit und Arroganz gegenüber anderen Wesen. Denn ich maße mir nicht an, ein Urteil darüber abzugeben, ob dieser Mensch schlecht oder gut ist. Das obliegt nicht mir. Ich bin kein Richter über andere Menschen, weder Polizist noch Sozialarbeiter oder Psychologe in meinen nahen Beziehungen zu Menschen. Ich bin einfach nur Friedrich mit meinem entwickelten, bewussten Sinn und meiner Haltung zur Freiheit von Menschen. Ich bin – und das wird den Einen oder Anderen überraschen – ein grosser „Fan der Freiheit“. Ich bin der Ansicht, dass der Mensch sich aus freien Stücken Himmel oder Hölle schaffen kann. „Die Hölle – das sind die Anderen“, sagt Sartre. Ich fürchte, es ist noch etwas krasser: „Die Hölle ist in uns – die Anderen sind unsere Projektionen der Hölle nach Außen“. Wir sollten bei uns selbst anfangen – immer! Nicht bei unserem „Nächsten“. So wie wir lernen, uns selbst zu lieben, entwickeln wir auch Liebe, Mitgefühl und Wohlwollen gegenüber den Menschen mit denen wir nahe Beziehungen leben. Wir müssen uns sehr genau ins Gedächtnis bringen, dass es zwar unser Recht ist, frei zu sein, aber es ist nicht unser Recht, andere Menschen abzuurteilen und sie dem Strafgericht zu überantworten. Das ist ein wichtiger Schritt in der Argumentationslinie. Ohne „Metta“ (liebende Güte) würde mein Papier dem Mißbrauch Tür und Tor öffnen. Damit leite ich über zur fünften These.

T5: „Jede Tat hat Konsequenzen. Der Täter muss in die Lage gebracht werden, die Konsequenzen seiner Taten zu erleben – auch gegen seinen Willen.“

Ich bleibe bei dem Beispiel von oben mit dem alkoholisierten Vater, der sein Kind anbrüllt, das daraufhin anfängt zu weinen.  Es ist unbedingt notwendig und moralisch geboten, den Täter als Person und Mensch mit den Konsequenzen seiner taten schonungslos und nackt zu konfrontieren. Dieser Mann muss in die Lage gebracht werden, den Schmerz seines Kindes in vollem Umfang mitzuerleben. Er muss nötigenfalls gezwungen werden, diese Konfrontation mit den Konsequenzen seiner Tat aufzunehmen. 

Dies ist für mich ein Gebot der Menschlichkeit. Es ist mitfühlend, gütig und liebevoll den Täter ohne jede Absicherung für ihn unmittelbar mit den Konsequenzen seiner Taten zu konfrontieren. Selbst wenn das bedeutet, dass in ihm Scham, Schuld, Schande, Schmerz hochkommen. Denn genau dies ist die Absicht! Es ist meine Absicht Menschen knallhart mit den Konsequenzen ihrer Taten zu konfrontieren. Dies ermöglicht ihnen nämlich, zu erleben (sehen, hören, spüren, schmecken, riechen, fühlen) was die eigene tat für einen anderen nahestehenden Menschen bedeutet hat. 

Dies ist die Chance für den Täter, seine Tat abzuschliesen. Sie vollständig bewusst zu erleben. Bis zum bitteren Ende. Echte Reue kann in einem Menschen nur entstehen, wenn er sich dem Schmerz eines Anderen so annimmt, dass bedauern über die verübte Tat aufkeimt. Zur Tat gehört immer auch die Konsequenz, die Auswirkung auf mein Gegenüber. Ich wünsche mir, dass Einsicht, Umkehr, Reue in einem Menschen entstehen, wenn er erlebt, welche Konsequenzen seine Tat hat oder hatte. Es mag sein, dass ich da zu idealistisch bin und dabei übersehe, dass es Menschen gibt, die einfach nur böse Taten tun, weil es ihnen eben gefällt. Aber ich denke nicht, dass ich diesen fatalen Denkfehler begehe. Ich denke, es gibt tatsächlich „das Böse“. Und ich weiss, wie es sich Bahn brechen kann. Daher bin ich felsenfest der Ansicht, dass ein Täter mit den Konsequenzen seiner Tat konfrontiert werden muss. Er muss in die Lage gebracht werden, hautnah zu erleben, was er angerichtet hat. „Das Böse“ verkricht sich in der Dunkelheit. Ich will es ins Licht zerren. Ja – zerren! Da ist auch Wut und Aggression in mir, die hinter meiner These steht. Mein Sinn für Gerechtigkeit, für Ausgleich steht dahinter. Vielleicht ist es eine „heilige Wut“, denn sie steht im Dienst des Lebens, das grösser als ich ist.  Mir ist es unerträglich, dass jemand eine Tat tut und sich dann von den Konsequenzen verächtlich abwendet. Das ist respektlos und zeigt keinerlei Ehrfurcht vor dem Leben. Das bin ich nicht bereit hinzunehmen. Das ist meine eigene Wunde. Das ist meine Verletzlichkeit. Hier liegt meine Grenze. Hier ist die Freiheit meines Gegenübers zu Ende! Denn hier beginnt meine Freiheit. Dies ist der Quell meiner Liebe zum Leben und zu den Menschen. Wer mit mir nahe Beziehungen leben möchte, wird gut daran tun, diese Wunde von mir anzuerkennen. Und mich schonungslos mit meinen eigenen Taten zu konfrontieren. Ich bin nicht frei von Schuld und nicht perfekt. Ich bin nicht besser als irgend ein anderer Mensch. Aber ich bin bereit und willens, weil ich mich dazu aus freiem Entschluss entscheiden habe, zu lieben. Und das bedeutet für mich weder Mitleid mit den Tätern noch duldsames Hinnehmen von Grenzverletzungen. Liebe bedeutet in diesem Kontext, für meine eigenen taten ohne dass es eines Zwangs von aussen bedarf, volle Verantwortung für meine taten und deren Konsequenzen zu übernehmen. Das ist die Schnittstelle zur Verantwortung, von der im Eingang des Textes die Rede war.

T6: „Ich bin vollkommen verantwortlich für jede meiner Taten mitsamt aller Konsequenzen – selbst wenn mir diese Konsequenzen nicht bewusst sind oder waren. Alle Menschen, mit denen ich nahe Beziehungen unterhalte, halte ich für ebenso verantwortlich für ihre Taten und deren Konsequenzen. Sie haben so wie ich die Verantwortung freiwillig zu übernehmen. Dies ist ein Akt gegenseitiger Achtung und Liebe für einander.“

Nun wird hoffentlich völlig klar, dass die Schnittstelle zwischen Freiheit und Verantwortung eine bestimmte Form der Liebe für mich ist. Ob man sie nun Agape, Metta, liebende Güte nennt, ist zweitrangig für mich. Jemand, für den ich mich verantwortlich zeige, darf die Erwartung an mich stellen, dass ich diese verantwortung freiwillig trage. In „Der kleine Prinz“ ist diese Verantwortlichkeit für jemanden (oder „etwas“) sehr schön beschrieben in Bezug auf die Rose.

Nun wird sicher auch klar, wieso ich den Begriff „Liebe unter Willen“ von Crowley hier anbringen kann. Von Liebe getragen, die ich aus tiefstem Herzen will, werde ich Verantwortung für meine Taten übernehmen und die Menschen meiner nahen Beziehungen in die Verantwortung nehmen. Da ist weder Beliebigkeit noch Unsicherheit in mir in dieser Frage. Ein Zweck, eine Liebe, Einheit. Versteht mich an diesem Punkt bitte nicht falsch. Ich werde keinen Menschen lieben, der nicht auch mich liebt. Alles was ich hier sage, gilt für die Herzensfreunde meiner nahen Beziehungen, zu denen nicht viele gehören! Aber vor allen anderen Menschen gilt diese Art der Liebe natürlich meiner Frau. Es ist ein Akt meiner Freiheit, mich ihr gegenüber stets in voller Verantwortung zu zeigen. Ich bin deshalb bereit, jede Konsequenz meiner Taten bewusstseinsklar und offen anzunehmen. Wenn ich den leisesten Schmerz in ihrem Antlitz erblicke, der möglicherweise die Konsequenz einer meiner Taten ist, werde ich mich diesem Schmerz unaufgefordert öffnen. Dieser Schmerz ist untrennbar von mir. Er gehört zu meinem Freiheits- und Verantwortungsbereich. Ich bin dafür verantwortlich. Nicht meine Frau! 

T7: „Der Schutz des Inneren in den mir nahen Beziehungen ist Ausdruck höchster Integrität. Sie zeigt sich in Liebe, Freiheit und Verantwortung miteinander.“

Wer diese Worte aufmerksam liest und mich im Innersten versteht, kann vielleicht ermessen, wieso ich aus dem „Norden“ komme. Ich bin daheim im Thing, ich bin daheim in meiner Sippe, ich bin daheim im Kreis der mir Vertrauten. Nach innen gibt es für mich keine Alternative zu diesen männlichen Werten in mir. Dazu stehe ich. Das ist mein Wort in finstersten Zeiten. Ich stehe für die Rehabilitation des Männlichen in seiner Freiheit und Verantwortung. Ich stehe für Mann und Frau eingebettet in eine Sippe, einen Stamm, ein Volk. Ich stehe hier mit nichts als meiner Liebe zum Leben und zum Eigenen. Ich werde diese Freiheit verteidigen. Ich werde nichts dazwischen kommen lassen. Wo ich stehe, ist kein Platz für Gott. Wo ich stehe ist kein Platz für sentimentales Mitleid. Wo ich stehe, ist Leben. Wenn ich nicht mehr stehe, fällt eine Haltung zu Boden, die licht und hell weiter strahlen muss. Nehmt dann diese Fackel auf und tragt das Licht in euere eigenen nahen Beziehungen. Lasst das Licht nicht untergehen. Haltet fest daran. Begreift, dass wahre Wildheit Beherrschtheit voraussetzt. Freiheit ist nicht, loszukommen von verbindlichen Werten. Freiheit ist Alles! Freiheit ist es, moralisch integer mutig das Eigene zu behaupten. 

Ich suche nur, was in Wahrheit mir gehört …

Frieden„Ich suche nur, was in Wahrheit mir gehört,
und Freude und Friede sind mein Erbe.“

Ein Kurs in Wundern Lektion 104

Und eine hörenswerte Session

– auch für AtheistInnen

Ich suche nur, was in Wahrheit mir gehört … weiterlesen