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.

Debian 8/9: The repository does not have a Release file

Für alte Debian Versionen, an diesem Beispiel ein 9er „Stretch“, wird nach dem Support-Ende das offizielle Debian-Repository abgeschaltet. Das macht sich bei der Installation neuer Programme (via apt), updates und upgrades durch eine nicht wirklich hilfreiche Fehlermeldung bemerkbar:

W: The repository 'http://security.debian.org stretch/updates Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Fehlschlag beim Holen von http://security.debian.org/dists/stretch/updates/main/binary-amd64/Packages  404  Not Found
E: Fehlschlag beim Holen von http://archive.debian.org/debian/dists/stretch/contrib/binary-amd64/by-hash/SHA256/4bf9e048244d93b8db73fe8c8cbb219299ca4595e60e2fb45ab1f27d0ff9ea3e  Hash-Summe stimmt nicht überein

Das ist unglücklich, wenn man ein altes System noch etwas weiterpflegen muss oder zusätzliche Pakete braucht. Der Hinweis „does not have a Release file“ zeigt auch … fast in die richtige Richtung.

Lösung

Debian Archive to the rescue! Man muss nur seine /etc/apt/sources.list auf die „neuen“ Archiv-URLs anpassen und schon kann man die Repositories weiternutzen.

Suchen+Ersetzen Bash-Einzeiler für die sources.list

sed -i s/deb.debian.org/archive.debian.org/g /etc/apt/sources.list

Die gefixte Debian 9 sources.list enthält nun (mindestens):

deb http://archive.debian.org/debian/ stretch main non-free contrib
deb-src http://archive.debian.org/debian/ stretch main non-free contrib

deb http://archive.debian.org/debian-security/ stretch/updates main non-free contrib
deb-src http://archive.debian.org/debian-security/ stretch/updates main non-free contrib

Firefox: Vorgeschlagene Formulardaten („Formular Autocomplete“) einzeln löschen

Wie entfernt man einen einzelnen Eintrag aus der auto-Vervollständigen Liste für Formulardaten in Firefox? Manchmal ist es nur EIN EINZELNER DOOFER EINTRAG den man ganz dringend loswerden möchte. Der „Entf“ Trick wie bei Office-Programmen funktioniert leider nicht.

Man kann natürlich schnell alle Formulardaten auf einmal loswerden. Das geht via STRG+SHIFT+ENTF und der Auswahl „Eingegebene Suchbegriffe % Formulardaten.

Lösung

In dem Formular mit dem Cursor den „ungewollten“ Eintrag markieren und SHIFT+ENTF löschen. Ich habe nach diesem Hint grade viel zu lange gesucht 🤦‍♀️

Shift+Entf

GLS UniBox Linux Server Standard Passwort

Die GLS UniBox ist ein kleiner Linux-Server, beziehungsweise in der Regel heute eine virtuelle Appliance. Über diese kann man seine GLS Versandabwicklung steuern, einschliesslich Paketlabel-Erstellung und FTP-Datenübertragung an GLS.

Das UniBox Versandsystem basiert auf einem CentOS Linux und ist leicht angepasst. Leider sind alle dieser System mit einem Standardkennwort versehen dessen Änderung nicht vorgesehen ist. Immerhin ist zwar der Remote-Login ohne passendes Schlüsselpärchen verboten, aber das unangenehme Bauchgefühl von Standardzugangsdaten bleibt.

Soll ein solches System in ein Monitoring oder ein Security Information and Event Management (SIEM) eingefügt werden, braucht man in der Regel einen Agenten auf dem System. Dieses installiert man am besten als root.

GLS UniBox Default Password

UniBox Default Username: root
UniBox Default Password: Uni-Box-GLS

Wie kann ich verhindern, dass Kernel-Messages die lokale Konsole überfluten?

Meldungen auf der Konsole – eingeloggt oder nicht

Wenn man im Fehlerfall einen Linux-Server debuggen muss, kann es sein das die (gut gemeinte) Default Sysctl Konfiguration dem Admin die Konsole „vollmüllt“.

Die Fehlermeldungen die der Kernel in die Konsole ausgibt sind zwar in der Regel wichtig und sollten WIRKLICH gelesen werden, helfen bei der Fehlersuche und vor allem -behebung natürlich nicht. Es wäre also schön wenn man die Meldungen temporär deaktivieren könnte.

Lösung

Temporäre Abhilfe (bis zum nächsten boot) schafft dmesg. Mit dieser Zeile unterbindet man alle ungewollten Nachrichtenausgaben:

dmesg -n 1

Wobei es in aktuellen Linux-distributionen (Debian, Ubuntu, Fedora …) noch schneller geht:

dmesg -D

-D = Disable. Was einen Alias zu -n 1 darstellt. Der Parameter -E = Enable schaltet die Augabe wieder ein. Ein Reboot ist nicht notwendig.