Kategorien
Betriebssysteme

Internet-Zugriff für Sublime Text unter Debian unterbinden

Als Texteditor ist hier Sublime Text in der lizenzierten Version im Einsatz.

Es ist aus meiner Sicht vollkommen legitim, daß ein Lizenzinhaber gelegentlich überprüft, ob die zugewiesene Lizenz noch gültig ist. Sublime Text führt diese Online-Überprüfung aber nach jedem Start durch, was im Hinblick auf die Privatsphäre suboptimal ist – letzendlich geht es im Rahmen der erworbenen Lizenz die Entwickler nichts an, ob der Editor fünfzig mal am Tag oder um drei Uhr nachts gestartet wird.

Eine Diskussion mit dem Thema „Sublime Text calling home to license.sublimehq.com on every start?“ im offiziellen Sublime Text-Forum hat leider zu keinem greifbaren Ergebnis geführt. Da auch die Sales FAQ nicht verlangt, daß das Programm nach Hause telefonieren darf / kann / soll / muss, ist eine anwendungsbezogene Sperrung des Netzwerk-Zugriffs eine naheliegende Option.

Unter Windows konnte der Internet-Zugriff für ein beliebiges Programm mit Hilfe der bordeigenen Firewall mit wenigen Klicks blockiert werden, unter Linux ist dies etwas komplizierter. Unter Linux blockiert die Firewall Internetzugriffe von außen basierend auf IP-Adresse und Port und eben nicht wie im aktuellen Fall gewünscht unabhängig  von IP und Port den Zugriff einer Anwendung nach aussen.

Zur Realisierung bietet sich AppArmor an, das unter Debian 10 standardmäßig installiert und aktiviert ist, so daß keine zusätzliche Software benötigt wird. AppArmor verfügt über weitreichende Konfigurationsmöglichkeiten, wer aber einen kurzen Blick in die unter „/etc/apparmor.d“ gespeicherten Profile wirft, wird davon ohne Vorkenntnisse regelrecht erschlagen.

Glücklicherweise gibt es mit den AppArmor Utils die Möglichkeit, ein Profil für eine Anwendung interaktiv zu erstellen.

An der Kommandozeile wird als erster Schritt die Erstellung eines neuen Profils gestartet:

$ sudo aa-genprof /opt/sublime_text/sublime_text

Anschließend wird Sublime Text gestartet und nach Möglichkeit alle darin benötigten Aktionen ausgeführt.

Nach dem Beenden von Sublime Text wird mit Druch auf „S“ im ursprünglichen Fenster die interaktive Generierung gestartet. „aa-genprof“ untersucht nun die anwendungsbezogenen Einträge im Syslog und stellt zu jedem Eintrag die Frage, ob eine Aktion erlaubt sein soll oder nicht.

Das Ergebnis ist ein Profil, das in der Datei „/etc/apparmor.d/opt.sublime_text.sublime_text“ erzeugt wird und nur recht wenige Zeilen enthält.

Um den Netzwerkzugriff zu blockieren, muß – falls vorhanden – die Zeile

#include <abstractions/nameservice>

entfernt werden, denn diese schaltet den Netzwerkzugriff frei, so daß ein anschließend eingefügtes

deny network

keinerlei Wirkung mehr zeigt.

Das fertige Minimal-Profil für Sublime Text sieht dann wie folgt aus:

# Last Modified: Mon May 11 20:28:54 2020
#include <tunables/global>

/opt/sublime_text/sublime_text {
  #include <abstractions/X>
  #include <abstractions/base>
  #include <abstractions/dbus-session-strict>
  #include <abstractions/evince>

  deny network,

  /opt/sublime_text/ r,
  /opt/sublime_text/** r,
  /opt/sublime_text/plugin_host mrix,
  /opt/sublime_text/sublime_text mr,
  /proc/filesystems r,
  owner /dev/shm/* rwl,
  owner /home/** rw,

}

Direkt nach Erzeugung startet AppArmor das Profil im „Enforce“-Modus, d.h. alles, was nicht explizit erlaubt ist, wird verboten. Sofern Build-Systeme o.ä. eingesetzt werden, sind noch Nachabeiten notwendig.

Diese können entweder manuell erfolgen oder durch das Wechseln des Profils in den „Complain“-Modus, dessen Aufzeichnungen anschließend wieder interaktiv ausgewertet werden können.

Zum Start von Perl als Build-System reicht z.B. das Hinzufügen von

/usr/bin/perl mrix,

welches das Starten des Perl-Internpreters mit den geerbten Berechtigungen von Sublime Text erlaubt.

Kategorien
Betriebssysteme

Ordner in Nautilus mittels Drag & Drop öffnen

Ist es ein Bug oder ein Feature? Beim Verschieben von Dateien in Ordnerstrukturen wird mitten im Drag & Drop-Vorgang nach kurzer Zeit in den Zielordner gewechselt, was gerade bei größeren Aufräumaktionen zu vielen unnötigen Mausklicks führt.

Die zuständige Funktion in Nautilus nennt sich „open-folder-on-dnd-hover“ und kann mittels dconf an- und ausgeschaltet werden:

In neueren Versionen des GNOME-Desktops (ab 3.34) kann die Funktion auch direkt im „Optimierungen“-Werkzeug konfiguriert werden.

Kategorien
Betriebssysteme

xrdp für andere Benutzer als root aktivieren

Sollte nach der Installation von xrdp die Verbindung nur als root funktionieren und für alle anderen Benutzer verweigert werden, so hilft ein Eingriff in die Datei „/etc/X11/Xwrapper.config“: In der Zeile

allowed_users=console

den Wert von „console“ auf „anybody“ ändern.

Kategorien
Betriebssysteme

Systemfehler 67 beim Zugriff auf eine WebDAV-Ressource

Nach dem Update eines Microsoft Server 2008R2 (über den Umweg Server 2012) auf Server 2016 funktionierte der Zugriff auf eine WebDAV-Ressource nicht mehr und wurde mit einem Systemfehler 67 „Der Netzwerkname wurde nicht gefunden“ beendet.

net use w: https://meintollerserver /user:benutzer kennwort
Systemfehler 67 aufgetreten.

Der Netzwerkname wurde nicht gefunden.

Nachdem vor dem Update alles funktionierte, musste der Fehler irgendwo beim Client liegen und  wurde zunächst in den Netzwerkeinstellungen gesucht, aber sowohl „nslookup“ als auch „ping“ lieferten die zu erwarteten Ergebnisse und der Internet Explorer konnte sich auch probemlos verbinden.

Letztendlich führte die Suche nach einer Lösung zum Microsoft Knowledgebase-Artikel „Using the WebDAV Redirector“ und dort im Abschnitt „Troubleshooting the WebDAV Redirector“ zum entscheidenden Hinweis:

When attempting to map a drive to a WebDAV site, you receive the following error:

System error 67 has occurred.

The network name cannot be found.

This can be caused by one of the following conditions:


You have not installed the WebDAV Redirector on your client system.

Beim Update wurde offensichtlich die Installation der bisher zuständigen „Desktopdarstellung“ nicht in die nun zuständigen Teilpakete aufgelöst.

Nach der Installation des Features „WebDAV Redirector“ über den Servermanager und einen damit verbundenen Reboot funktionierte der Zugriff auf die Quelle wieder wie erwartet.

Kategorien
Betriebssysteme

Eigene Dateien umziehen

Ablageort

Um Dateien abzulegen, hat sich das freedesktop.org-Projekt ein System von Ordnern ausgedacht, welche direkt bei der Anmeldung im „home“-Verzeichnis jedes Benutzers erzeugt werden: „Bilder“, „Dokumente“, „Downloads“, „Musik“, „Öffentlich“, „Schreibtisch“, „Videos“ sowie „Vorlagen“.

Einen (oder mehrere) davon loszuwerden ist gar nicht so einfach. Löscht man einen der Ordner, meldet sich ab und wieder an, ist der Ordner wieder da. Um dieses Verhalten zu ändern, ist ein Eingriff auf Systemebene notwendig, dieser wirkt sich allerdings auf alle Benutzer und nicht nur auf den aktuell angemeldeten Benutzer aus:

Sysadmins can configure things by editing /etc/xdg/user-dirs.conf. At the moment there are only two settings, you can disable the whole thing, and you can specify the charset encoding used for filenames.

Kopieren oder verschieben?

Beide Methoden haben ihre Vor- bzw. Nachteile: Wer die Dateien kopiert, kann jederzeit nochmal zurück zum Start und im Falle eines Falles von vorne beginnen bzw. hat immer noch ein voll funktionsfähiges Altsystem, auf dem alle Dateien vorhanden sind. Dafür fällt es schwerer, den Überblick zu behalten, ob tatsächlich alles kopiert wurde und nicht noch irgendwo in einem Ordner ein paar eigentlich benötigte Dateien vergessen wurden.

Wer verschiebt, weiss ganz sicher: was im Altsystem weg ist, ist mit an Sicherheit grenzender Wahrscheinlichkeit im neuen System gelandet. Dafür ist ab dem ersten Schritt kein einfaches „Zurück“ mehr möglich, auch weil bei einem Verschiebevorgang zurück u.U. die Zugriffsberechtigungen des Windows-Systems nicht mehr rekonstruiert werden können.

Wenn genügend Platz vorhanden ist, kann natürlich auch eine Kombination der beiden Methoden eingesetzt werden: Zuerst eine Kopie der gesamten Widows-Ordnerstruktur in einem Arbeitsverzeichnis erstellen und von dort dann verschieben.

Berechtigungen

Eine  Klippe bezüglich der Dateiberechtigungen ist beim Kopieren bzw. Verschieben allerdings zu umschiffen: da Windows seine Dateien innerhalb des NTFS-Dateisystems speichert und dies keinerlei brauchbaren Informationen bezüglich der unter Linux zu verwendenden Dateiberechtigungen beinhaltet, müssen diese neu erzeugt werden.

Wer die Dateien gerne grafisch kopieren möchte, öffnet hierzu Gnome-Dateien (interner Name: Nautilus) und wechselt in der linken Leiste auf „Andere Orte“. Dort findet er die Laufwerke seines Windows-Systems, welche sich mit einem Klick einbinden lassen.

Beim Kopieren haben sich die Entwickler entschieden, den neu angelegten Dateien die maximal möglichen Berechtigungen zu erteilen.

 4 drwxrwxrwx 2 andreas andreas 4096 Aug 11 15:02 'a directory'
52 -rwxrwxrwx 1 andreas andreas 1234 Aug 11 14:52 file.txt

Dies ist auf einem Einbenutzer-System kein Problem, auf einem System mit mehreren Benutzern allerdings ein potentielles Sicherheitsrisiko.

Umgehen lässt sich dies durch das manuelle Kopieren der Dateien auf der Kommandozeile:

Zuerst wird das benötigte Windows-Laufwerk manuell eingebunden und anschließend die Dateien mittels „cp“-Befehl (oder „mv“) an den neuen Ort kopiert (oder verschoben). Der „cp“-Befehl berücksichtigt hierbei die sogegannte UMask, die Berechtigungen, unter denen neue Dateien eines Benutzers standardmäßig angelegt werden sollen. Mit ein paar zusätzlichen Parametern werden die zu übertragenen Dateien dann im neuen System angelegt:

$ cp -r --no-preserve=owner,mode --preserve=timestamp /media/VonWoAuchImmer ~/ZielOrdner/