Samba-Freigabe (SMB/CFIS) von Windows unter Ubuntu/Debian mounten

Samba ist das Standard-Tool für Unix-basierte Betriebssysteme um mit Windows-Freigaben via SMB oder CIFS zu interagieren. Es ermöglicht unter Linux die Datei- und Druckfreigabe von Windows-Computern aus zu nutzen. Grundsätzlich verwendet Samba das SMB/CIFS-Protokoll für einen ziemlich sicheren, stabilen und zuverlässigen Datei-/Druckerfreigabezugriff.

Gestandene Admins nutzen Samba natürlich auswendig. Für alle anderen ist diese Schritt-für-Schritt Anleitung gedacht.

Wir möchten einen Samba-Share (eine Windows-Freigabe) permanent unter Linux verbinden, so dass diese auch nach einem Neustart zur Verfügung steht.

Schritte zum Mounten von einer Freigabe unter Ubuntu und Debian

1. Das Debian-Paket cifs-utils auf dem System installieren:

sudo apt-get install cifs-utils

2. Erstellen des Ziel-Verzeichnis zum Mounten der Freigabe

sudo mkdir /media/freigabe

3. Credentials (Anmeldeinformationen) ablegen. Die Datei wird die unverschlüsselten Zugangsdaten enthalten und sollte daher aus Sicherheitsgründen mit einem Punkt (.) zu einer versteckten Datei gemacht werden. Es empfiehlt sich außerdem, diese im Home-Verzeichnis zu erstellen und mit entsprechend restriktiven Rechten zu versehen.

Datei anlegen …

vi /root/.smbcredentials

… mit diesem Inhalt:

username=benutzername
password=passwort

Zum Beispiel:

username=AD.EXAMPLE.COM\t.musterfrau
password=Schlup2s3i4mu867psie

Diese Datei dann speichern und idealerweise nur für root lesbar machen. Dadurch wird der Zugriff von allen Nicht-Root-Konten ausgeschlossen.

chown root:root /root/.smbcredentials
chmod 400 /root/.smbcredentials

4. Testen. Mit dem folgenden Befehl kann man die Windows-Freigabe jetzt auf dem Linux-System bereitstellen

sudo mount -t cifs -o rw,vers=3.0,credentials=/root/.smbcredentials //SERVER.AD.EXAMPLE.COM/freigabe /media/freigabe

Das jetzt manuell gemountete Dateisystem bleibt für dieses Sitzung erhalten. Nach einem Reboot ist /media/freigabe aber wieder leer.

5. Automount: Der Share kann nun zur /etc/fstab hinzugefügt werden. Dann wird die Remote-Freigabe beim Systemstart automatisch bereitgestellt.

sudo vi /etc/fstab

Am Ende der Datei diese Zeile hinzufügen:

//SERVER.AD.EXAMPLE.COM/freigabe /media/freigabe cifs vers=3.0,credentials=/root/.smbcredentials

Ausprobieren

Datei dann speichern und schließen. Die Verbindung lässt sich nun auch ohne echten reboot testen:

sudo umount /media/freigabe
sudo systemctl daemon-reload
sudo mount -a

Mögliche Fehler und Samba-Fehlersuche

Es gibt zahlreiche Dinge, die beim mounten schiefgehen könnten. Hilfreich ist bei der Fehlersuche immer die verbose Ausgabe von mount:

sudo mount -vvvv -t cifs -o rw,vers=3.0,credentials=/root/.smbcredentials //SERVER.AD.EXAMPLE.COM/freigabe /media/freigabe

Ich habe ein paar mal den Fehler „cifs_mount failed w/return code = -13“ gesucht. Der Fehler „-13“ bedeutet ausgeschrieben:

CIFS: Status code returned 0xc000006d STATUS_LOGON_FAILURE

Das steht schlicht für Name/Kennwort falsch. Mal stimmt die Domäne nicht, mal das Kennwort, mal der Name. Ein spezieller Stolperstein ist hier auch gerne die Begrenzung auf 20 Zeichen lange Benutzernamen – ist der Name länger, schlägt die Anmeldugn auf jeden Fall fehl.

KB5034129 macht unter Windows Server 2022 Edge, Chromium, Firefox und PDF-Reader kaputt: Nur noch ein weisses Fenster zu sehen

Problem

Nach dem letzten Patchday am 16.1.2024 zeigt Edge beim starten nur noch ein weisses Fenster an, erzeugt eine irrsinnige CPU-Last und erzeugt im Eventlog Einträge die einen Appcrash Protokollieren.

Das „weisse leere Fenster“ gilt auch für Chrome, manchmal auch für Firefox (allerdings gibt’s da schon einen fix) und alles was „msedgewebview2“ als Webview-Element verwendet.

Betroffen ist Windows Server 2022 21H2.

Im Ereignisprotokoll findet sich dabei dieser Eintrag, der auf „bad_module_info“ verweist, aber keine weiteren Details bereithält:

Name der fehlerhaften Anwendung: bad_module_info, Version: 0.0.0.0, Zeitstempel: 0x00000000
Name des fehlerhaften Moduls: unknown, Version: 0.0.0.0, Zeitstempel: 0x00000000
Ausnahmecode: 0xc0000005
Fehleroffset: 0x00007ff704a393ae
ID des fehlerhaften Prozesses: 0x3810
Startzeit der fehlerhaften Anwendung: 0x01da4a1151de7b46
Pfad der fehlerhaften Anwendung: bad_module_info
Pfad des fehlerhaften Moduls: unknown
Berichtskennung: d6beaba6-a725-44a9-bd16-dba961694a0c
Vollständiger Name des fehlerhaften Pakets: 
Anwendungs-ID, die relativ zum fehlerhaften Paket ist: 

(Einen leeren weissen Screenshot spare ich mir)

Lösung

Das Update ASAP deinstallieren:

wusa /uninstall /kb:KB5034129

… geht auch via DISM …

DISM /Online /Remove-Package /PackageName:Package_for_RollupFix~31bf3856ad364e35~amd64~~20348.2227.1.4

… oder sogar per GUI…

Nach dem Reboot läuft sofort wieder alles.

PowerShell: Computer aus der Domäne entfernen

Wie entfernt man an der Kommandozeile einen Computer aus dem AD?

Lösung (Lokal)

Um den lokalen Computer auf die Schnelle (mit Neustart!) aus dem ActiveDirectory zu entfernen:

Remove-Computer -UnjoinDomaincredential DOMÄNE\BENUTZER -PassThru -Verbose -Restart 

Lösung (DC)

Es geht natürlich auch mit Gewalt, auf der ActiveDirectory Seite:

Remove-ADComputer -Identity COMPUTERNAME

Windows 11 Microsoft Newsfeed & Widget (News-Widget/News-Seitenleiste) dauerhaft loswerden

Microsoft Windows 11 (20H2 mit KB5001391) beglückt den Nutzenden, ob gewollt oder nicht, mit einer neuen Seitenleiste „Feeds“, oder auch „Newsfeed“ oder auch „Seitenleiste“ oder auch „News Sidebar“ oder auch „Guten Tag“ oder auch „Nervige Sidebar links“ oder auch „Persönlicher Feed“ oder auch „Microsoft Newsfeed & Widget“. Jetzt auch nicht mehr nur in der Taskleiste, sondern auf dem halben Bildschirm.

Überraschend hält sich das Widget auch nicht an die Einstellung des Standardbrowsers, sondern öffnet alle Link immer in Edge.

Diese Sidebar Newsleiste wird durch die Tastenkombination Win + W geöfnet, oder indem man bei Touch-Panels vom Linken Rand in den Bildschirm wischt.

Wie wird man die Sidebar los?

Lösung

Man kann die Newsleiste an der PowerShell schnell deinstallieren, dann ist (und bleibt) sie verschwunden:

winget uninstall "Windows Web experience pack"

SSL-Weiterleitung (SSL-Redirect) im IIS einrichten (mit URL-Rewrite)

Diese kleine Schritt-für-Schritt Anleitung zeigt, wie man seine Website(n) im IIS so konfigurieren kann, dass eingehende http:// Anfragen zur Website sicherem https:// umgeleitet werden. Das passiert automatisch im Hintergrund mit einer „301“ HTTP-Meldung (permanent redirect), damit Browser und Clients das auch speichern können.

1. Das Microsoft IIS URL-Rewrite Modul herunterladen und installieren

2. Den „Internetinformationsdienste (IIS)-Manager“ öffnen, die Site um die es geht öffnen und das „URL Rewrite“ Modul öffnen

3. Oben rechts „Regel hinzufügen“ klicken …

4. dann eine „Leere Regel“ unter „Eingehende Regeln“ auswählen …

5. Den oberen Teil der Regel („Übereinstimmung mit URL“) folgendermaßen ausfüllen:
– Name: Ein sinnvoller Name fur die Kosmetik (Pro-Tipp: Keine Umlaute oder Emojies)
– „Angeforderte URL“: Entspricht dem Muster
– „Unter Verwendung von“: Reguläre Ausdrücke
– „Muster“: (.*)

6. „Bedingungen“ ausfüllen
– Die (leider zu kleine) Auswahl von „Logische Gruppierung“: Übereinstimmung mit allen Elementen
– Dann den Button „Hinzufügen“ rechts daneben klicken


7. Die „Bedingung“ ausfüllen, danach mit „OK“ schliessen
– Bedingungseingabe: {HTTPS}
– „Überprüfen, ob die Eingabezeichenfolge“: Entspricht dem Muster
– Muster: ^OFF$
– Groß-/Kleinschriebung ignorieren: aktiviert

8. Nachdem die Regel übernommen wurde, weiter unten im IIS nun eine „Aktion“ konfigurieren und die Änderung übernehmen:
– Aktionstyp: Umleiten
– Aktionseigenschaften „URL Umleiten“: https://{HTTP_HOST}/{REQUEST_URI}
– Abfragezeichenfolge anhängen: Deaktivieren
– Umleitungstyp: Dauerhaft
Oben rechts „übernehmen“

Ergebnis (schnelle Lösung)

Das ganze manifestiert sich mit dem Klick auf „Übernhemen“ auch in der entsprechenden web.config Datei der Site. Man kann den <rules> Block natürlich auch manuell bearbeiten und/oder kopieren.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="SSL-Weiterleitung" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="^OFF$" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}/{REQUEST_URI}" appendQueryString="false" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>