Die Open-Source-Gemeinschaft kann schnell zu einem sehr toxischen Ort werden, wie der Entwickler des unabhängigen Browsers Ladybird gerade erfahren muss.
Lese-Ansicht
Debian wertet cURL mit HTTP/3 auf
cURL wird oft unbedacht eingesetzt, indem darauf basierende Befehle auf GitHub und anderswo kopiert und ausgeführt werden. Um dieses Sicherheitsrisiko abzuschwächen, liefert Debian cURL jetzt mit HTTP/3 aus.
Plasma 6.2 erhält Autoscrolling-Funktion
Auch nach der Veröffentlichung von Plasma 6.1 gönnen sich die Entwickler bei KDE keine Pause und arbeiten bereits fleißig an der Fehlerbereinigung sowie an neuen Funktionen für Plasma 6.2
Beispiele für Ansibles ‚var is defined‘
In diesem Beitrag gebe ich einige Beispiele mit Erklärungen zu Ansible Conditionals, welche mir in der Dokumentation fehlen. Dieser Artikel dient mir zur Erinnerung und mag Einsteigern helfen, ein besseres Verständnis der Bedingung is defined zu gewinnen.
Wird in einem Task eine Variable verwendet, welche nicht definiert ist, bricht Ansible die Verarbeitung eines Playbooks mit einem Fehler ab. Der folgende Code-Block zeigt ein einfaches Playbook mit anschließender Ausgabe des Playbooklaufs, um dies zu verdeutlichen. Der Task beinhaltet dabei bereits eine Bedingung. Er soll nur dann ausgeführt werden, wenn die Variable my_var den Wert Hello world! enthält.
]$ cat test_conditionals.yml
---
- name: Play around with conditionals
hosts: localhost
gather_facts: false
tasks:
- name: >-
When all conditionals are met, print the variable value using
ansible.builtin.debug
when:
- my_var == "Hello world!"
ansible.builtin.debug:
var: my_var
]$ ansible-playbook -i hosts test_conditionals.yml
PLAY [Play around with conditionals] *******************************************
TASK [When all conditionals are met, print the variable value using ansible.builtin.debug] ***
fatal: [localhost]: FAILED! => {"msg": "The conditional check 'my_var == \"Hello world!\"' failed. The error was: error while evaluating conditional (my_var == \"Hello world!\"): 'my_var' is undefined. 'my_var' is undefined\n\nThe error appears to be in '/home/tronde/ansible/test_conditionals.yml': line 7, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n tasks:\n - name: >-\n ^ here\n"}
PLAY RECAP *********************************************************************
localhost : ok=0 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
Der Text 'my_var' is undefined in obiger Fehlerausgabe benennt den Grund des Scheiterns.
Nun gibt es Fälle, in denen Tasks, welche undefinierte Variablen enthalten, nicht zum Abbruch des gesamten Playbooks führen sollen. Stattdessen soll der betroffene Task einfach übersprungen werden. Dies erreicht man mit der Bedingung `is defined`. Der nächste Code-Block liefert wieder ein Beispiel dazu.
]$ cat test_conditionals.yml
---
- name: Play around with conditionals
hosts: localhost
gather_facts: false
tasks:
- name: >-
When all conditionals are met, print the variable value using
ansible.builtin.debug
when:
- my_var is defined
- my_var == "Hello world!"
ansible.builtin.debug:
var: my_var
]$ ansible-playbook -i hosts test_conditionals.yml
PLAY [Play around with conditionals] *******************************************
TASK [When all conditionals are met, print the variable value using ansible.builtin.debug] ***
skipping: [localhost]
PLAY RECAP *********************************************************************
localhost : ok=0 changed=0 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0
Der Task mit der undefinierten Variable wurde übersprungen (skipped) und das Playbook erfolgreich beendet.
Im nächsten Beispiel habe ich die Variable my_var im Playbook definiert und den passenden Wert zugewiesen.
]$ cat test_conditionals.yml
---
- name: Play around with conditionals
hosts: localhost
gather_facts: false
vars:
my_var: Hello world!
tasks:
- name: >-
When all conditionals are met, print the variable value using
ansible.builtin.debug
when:
- my_var is defined
- my_var == "Hello world!"
ansible.builtin.debug:
var: my_var
]$ ansible-playbook -i hosts test_conditionals.yml
PLAY [Play around with conditionals] *******************************************
TASK [When all conditionals are met, print the variable value using ansible.builtin.debug] ***
ok: [localhost] => {
"my_var": "Hello world!"
}
PLAY RECAP *********************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Das war auch schon alles für heute. Ihr seht, es ist keine Hexerei. Mir hilft es, die Bedeutung von is defined zu erinnern, wenn ich es einmal aufgeschrieben habe.
Zum Ende gibt es noch einen Code-Block, der zeigt, dass dies auch mit Dictionaries funktioniert:
]$ cat test_conditionals.yml
---
- name: Play around with conditionals
hosts: localhost
gather_facts: false
vars:
my_dict:
my_var: Hello world!
tasks:
- name: >-
When all conditionals are met, print the variable value using
ansible.builtin.debug
when:
- my_dict.my_var is defined
- my_dict.my_var == "Hello world!"
ansible.builtin.debug:
var: my_dict.my_var
]$ ansible-playbook -i hosts test_conditionals.yml
PLAY [Play around with conditionals] *******************************************
TASK [When all conditionals are met, print the variable value using ansible.builtin.debug] ***
ok: [localhost] => {
"my_dict.my_var": "Hello world!"
}
PLAY RECAP *********************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
In der Kategorie Ansible findet ihr weitere Artikel rund um Ansible. Viel Spaß beim Stöbern.
Joplin Version 3.0 – Plug-ins auch für mobile Geräte
Joplin ist mit vielen Neuerungen und Verbesserungen in Version 3.0 erschienen. Neben einem Papierkorb gibt es nun auch Plugins in den Mobile-Apps.
SafeTwitch
Ein neuer adminForge Service kann ab sofort genutzt werden.
SafeTwitch ist ein datenschutzorientiertes und quelloffenes Frontend für Twitch.
SafeTwitch
SafeTwitch ist ein datenschutzorientiertes und quelloffenes Frontend für Twitch.
https://safetwitch.adminforge.de
Features:
- Keine Verbindung zu Twitch/Amazon
- Keine Werbung oder Tracking
- Keine externen Verbindungen, die einzige Verbindung ist zur Instanz
- Keine Logs
- Viel kleinere Seiten im Vergleich zu Twitch (<1,6mb mit Bildern im Vergleich zu >8,2mb)
- Folgen Sie Streamern lokal
- Unendliches Scrollen
Software: SafeTwitch
Euer adminForge Team
Das Betreiben der Dienste, Webseite und Server machen wir gerne, kostet aber leider auch Geld.Unterstütze unsere Arbeit mit einer Spende und diskutiere in unserem Chat mit. |
by adminForge.
Mozhi Translate
Ein neuer adminForge Service kann ab sofort genutzt werden.
Alternatives Frontend für die Google, DeepL, DuckDuckGo Übersetzung.
Mozhi Translate
Alternatives Frontend für die Google, DeepL, DuckDuckGo Übersetzung.
Features:
- Dark Theme
- Spracherkennung
- Kein Tracking
Software: Mozhi Translate
Euer adminForge Team
Das Betreiben der Dienste, Webseite und Server machen wir gerne, kostet aber leider auch Geld.Unterstütze unsere Arbeit mit einer Spende und diskutiere in unserem Chat mit. |
by adminForge.
Ubuntu 24.04 Buch von Josef Moser veröffentlicht
Das Ubuntu 22.04 Buch für Einsteiger Seit Juni 2024 ist das neue Buch von Linux Autor Josef Moser über Ubuntu 24.04 LTS erhältlich. Wie immer handelt es sich dabei um eine sogenannte Schnellanleitung. Das bedeutet, dass es sich inhaltlich hauptsächlich an Linux Einsteiger richtet. Ubuntu zählt zu den beliebtesten Linux Betriebssystemen. Alle zwei Jahre veröffentlicht… Weiterlesen Ubuntu 24.04 Buch von Josef Moser veröffentlicht
Der Beitrag Ubuntu 24.04 Buch von Josef Moser veröffentlicht erschien zuerst auf Die Seite für LINUX UMSTEIGER.
Fünf Jahre EndeavourOS
EndeavourOS, eine beliebte, auf Arch Linux basierende Linux-Distribution feiert ihr fünfjähriges Bestehen. Mit dieser Ausgabe kehr auch der zuvor eingestellte ARM-Zweig wieder zurück.
Podcast: Captain it’s Wednesday – FOSSWELT
Die 93. Folge des Podcasts ‘Captain it’s Wednesday’ widmet sich dem Projekt FOSSWELT, dass wir kürzlich vorgestellt haben. Darüber spreche ich mit Ralf Hersel.
regreSSHion: Millionen Linux-Systeme von OpenSSH-Lücke bedroht

Eine Sicherheitslücke in OpenSSH ermöglicht es nicht authentifizierten Angreifern aus der Ferne Root-Zugriff zu erlangen. Die ursprünglich im Jahr 2006 beseitigte Lücke wurde im Jahr 2020 unbeabsichtigt wieder geöffnet. Über 14 Millionen Systeme im Internet sind potentiell durch „regreSSHion“ gefährdet.
Ladybird als unabhängiger Browser
Konkurrenz belebt bekanntermaßen das Geschäft. Somit ist der neue Browser Ladybird hochwillkommen. Gerade hat die Entwicklung verstärkt Fahrt aufgenommen.
Linux News der Woche: Wayland im Fokus Nvidias, Patches für Debian

Nicht immer lässt sich zeitnah über jede Neuigkeit rund um das freie Betriebssystem berichten, manche Ereignisse sind es aber dennoch wert, Erwähnung zu finden. In dieser Zusammenfassung überblickt die Redaktion alle wichtigen Meldungen aus der Linux-Welt der vorangegangenen Woche.
Linux Mint 22 Beta mit Cinnamon 6.2
Linux Mint 22 Beta steht mit Cinnamon 6.2. zum Test bereit. Viele GNOME-Apps wurden auf GTK3 zurückgeführt, um der Designbibliothek Libadweita zu entgehen.
RegreSSHion: Neue alte SSH-Sicherheitslücke
Eine von Qualys entdeckte Sicherheitslücke im OpenSSH-Server mit einem CVSS-Score von 9 wurde geschlossen. Erfolgreiche Angreifer erhalten automatisch Root-Rechte.
OpenSSH-Sicherheitslücke RegreSSHion
Dem Forscherteam von Qualys ist es gelungen, eine ältere Sicherheitslücke in OpenSSH, die schon eigentlich längst geschlossen war, erneut auszunutzen. Die neue Lücke wird als CVE-2024-6387 geführt und ist deswegen brisant, weil Sie bei Erfolg dem Angreifer Root-Rechte ohne vorherige Authentifizierung ermöglicht. Die nötigen Bedingungen für ein Ausnutzen der Lücke sind allerdings nicht ganz trivial.
Die gesamte Erläuterung der Sicherheitslücke ist im Bericht von Qualys umfangreich erläutert wollen. Wenn wir es schaffen, werden wir diesen schon Mittwoch im Risikozone-Podcast detaillierter erläutern.
So viel sei gesagt: die Lücke existierte schon mal als CVE-2006-5051, wurde dann gefixt und konnte jetzt (erstmals) ausgenutzt werden, da der eigentlich kritische Teil 2020 wieder versehentlich eingebaut wurde.
Der Fehler selber baut darauf, dass syslog() zur Protokollierung asynchron aufgerufen wird, obwohl die Funktion nicht "async-signal-safe" ist. Kann ein Angreifer Timingeigenschaften ausnutzen, wird er in die Lage versetzt, Code einzuschleusen, der in einem privilegierten Teil von OpenSSH ausgeführt wird. Der Zeitaufwand ist allerdings hierfür nicht zu unterschätzen, da das Codefragment nur bei einem Verbindungstimeout aufgerufen wird.
Es ist gemäß des Qualys-Berichtes hervorzuheben:
- Die OpenSSH-Versionen vor 4.4p1 (2006) sind angreifbar, sofern sie nicht explizit gepatcht wurden.
- Die OpenSSH-Versionen zwischen 4.4p1 und 8.5p1 (2021) hatten nicht den besagten Code drin.
- Die OpenSSH-Versionen ab 8.5p1 hatten den Code wieder drin.
- Mit OpenSSH 9.8p1 wurde die Lücke gepatcht.
Mit anderen Worten: abhängig von eurem System ist die Schwachstelle vorhanden, weswegen ihr in eure Distribution schauen solltet, ob es Updates gibt.
OpenSSH ist nichtsdestotrotz im Hinblick auf seine Rolle und Exposition eines der sichersten Programme der Welt. Die Software ist ein sehr stringent abgesicherter Dienst, der u. a. auf Sandboxing-Mechansimen setzt, um den Umfang der Codesegmente, die als root ausgeführt werden, gering zu halten. Diese Lücke ist eine der seltenen Situationen, in der trotzdem ein Security-Bug vorhanden ist. Dabei ist eine Ausnutzung vergleichsweise aufwändig.
Raspberry Pi Connect erweitert
Die Raspberry Pi Foundation bietet mit Raspberry Pi Connect Zugriff über den Browser. Die aktuelle Beta-Version erweitert den Dienst auf alle Raspberry Pi-Modelle.










