Kategorien
Betriebssysteme

Drucker duerqxesz5090

Gelegentlich tauchte in der Druckerauswahl ein Drucker mit dem sprechenden Namen „duerqxesz5090“, der immer den Status „Aufträge werden abgewiesen“ hatte:

Auffällig war, daß dieser Drucker nicht in den Geräteeinstellungen zu finden war, aber immer dann auftauchte, nachdem der Brother HL-2250DN eingeschaltet wurde. Auf der Suche nach dem Grund entpuppte sich das Internet Printing Protocol als Verursacher.

Nach Deaktivieren der Option und anschließendem Speichern der Konfiguration blieb der Geisterdrucker dauerhaft verschwunden, der HL-2250DN druckt aber weiterhin.

Kategorien
Betriebssysteme

Laufwerke von der Kommandozeile ohne Kennwort einbinden

Normalerweise kann auf einem Linux-System nur root ein Laufwerk auf der Kommandozeile ein- oder aushängen, „normale“ Benutzer verwenden hierfür die benötigten Befehle zusammen mit den sudo-Mechanismus.

Bei der automatisierten Einbindung eines Laufwerks ist es allerdings hinderlich, wenn das „sudo“-Kommando beim Einhängen jedesmal nach dem Kennwort des Benutzers fragt, weshalb mit einer Änderung in der Datei „/etc/sudoers“ die Kennwortabfrage für bestimmte Befehle abgeschaltet werden kann.

Achtung: Änderungen an der Datei „/etc/sudoers“ können neben dem Erzeugen von Sicherheitslücken auch dazu führen, daß man sich selbst aussperrt. Deshalb immer ein zweites Terminalfenster öffnen und mittels

$ sudo -i
[sudo] Passwort für localuser:
root@localhost:~#

parallel als root anmelden. So kann – falls die Datei durch eine Änderung beschädigt wird – jederzeit eingegriffen und die Änderung rückgängig gemacht werden. Auch sollten alle Änderungen ausschließlich mit dem Editor „visudo“ durchgeführt werden, der beim Speichern eine Syntaxprüfung durchführt.

Die Änderung ist schnell gemacht und besteht aus dem Hinzufügen einer einzigen Zeile:

$ sudo visudo

...
%sudo ALL=NOPASSWD: /usr/bin/mount, /usr/bin/umount
...

Hiermit wird für alle Benutzer der Gruppe „sudo“ die sudo-Kennwortabfrage für die beiden Befehle „/usr/bin/mount“ sowie „/usr/bin/umount“ deaktiviert.

Kategorien
Betriebssysteme

Wahl der Desktopumgebung

Viele Distributionen setzen GNOME als Default-Desktopumgebung ein, unter Debian schlicht „Debian Desktop Environment“ genannt. Neben GNOME gibt es mit KDE noch eine zweite „große“ Desktopumgebung, welche versucht, für möglichst viele Anwendungsfälle ein eigenes Programm(paket) anzubieten, während mit LXDE, XFCE (und anderen) auch schlanke(re) Alternativen zur Verfügung stehen.

Jede der Umgebungen folgt ihrer eigenen Philosophie, aber während man sich bei der Distributionswahl vorerst für eine Distribution entscheiden muss, können problemlos mehrere Desktopumgebungen parallell installiert und getestet werden.

Schon GNOME und KDE unterscheiden sich in ihrer Grundausrichtung gewaltig: während GNOME dem Prinzip „weniger ist mehr“ folgt und man sich zur stressfreien Nutzung auf die Philosophie einlassen sollte, statt GNOME zu verbiegen, ist KDE mehr an die von Microsoft Windows bekannte Oberfläche angelehnt und bietet Einstelloptionen für fast jeden Pixel auf dem Bildschirm.

Dazu gibt es bei beiden Umgebungen noch eine ganze Reihe von Standardprogrammen, mit ein Grund, weshalb während der Installation des Betriebssystems keine Desktopumgebung ausgewählt wurde.

Bei der nachträglichen Installation kommt der Mechanismus der Metapakete zum tragen, Pakete die dazu dienen, eine Untermenge an logisch zusammenhängenden Paketen zu mit einer einzigen Paketangabe zu installieren. Für viele der Anwendungsfälle gibt es neben dem eigentlichen Metapaket noch ein entsprechendes „…-core“-Paket, welches statt der vollständigen Funktionalität nur die Basisfunktionalität und minimal benötigten Komponenten installiert. Für die GNOME-Desktopumgebung sind dies die beiden Metapakete „gnome“ (rund 1.100 Pakete mit 2.600 MB) und „gnome-core“ (820 Pakete mit 1.500 MB).

Zur Installation genügt ein einfaches

$ sudo apt install gnome-core

Vor einem Neustart des Systems (der einfachste Weg, alle benötigten Dienste für die graphische Anmeldung zu starten) sind allerdings noch ein paar Nacharbeiten notwenig.

NetworkManager

Der für die Konfiguration der Netzwerkumgebung zuständige NetworkManager kümmert sich grundsätzlich nicht um Schnittstellen, welche bereits in der Datei „/etc/network/interfaces“ definiert sind. Da das System ursprünglich ohne GNOME installiert wurde, ist dies aktuell der Fall.

Damit er diese Schnittstellen zukünftig ebenfalls konfiguriert, gibt es zwei Möglichkeiten:

Es kann entweder die Datei „/etc/NetworkManager/NetworkManager.conf“ angepasst werden, wozu im Abschnitt „ifupdown“ der vorhandene Wert der Option „managed“ von „false“ in „true“ geändert werden muss:

$ sudo vi /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=true

Alternativ können alle in der Datei „/etc/network/interfaces“ eingetragenen Netzwerkschnittstellen außer dem internen Loopback-Interface auskommentiert oder gelöscht werden:

$ sudo vi /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# allow-hotplug enp0s25
# iface enp0s25 inet dhcp

Weitere Anpassungen

Eine weitere Nacharbeit ist die (Nach-)Installation des Pakets „alsa-utils“

$ sudo apt install alsa-utils

welches bewirkt, daß die eingestellte Lautstärke innerhalb der Desktopumgebung nach dem nächsten Neustart wieder automatisch eingestellt wird.

Auch wenn die benötigten Sprachpakete für GNOME selbst direkt installiert werden, fehlt das deutsche Sprachpaket für den als Standard installierten Browser Firefox. Ein

$ sudo apt install firefox-esr-l10n-de

löst das Problem. Ebenso sollte man auch gleich die Druckdienste sowie den zueghörigen PDF-Drucker installieren, was ebenfalls schnell erledigt ist:

$ sudo apt install cups cups-pdf

GNOME Dateien (Nautilus)

Manche Dinge sind so offensichtlich, daß man sie leicht übersieht: Eine der irritierendsten Dinge scheint zu sein, daß man nicht mehr mit einem einfachen Rechtsklick ein neues (leeres) Dokument erzeugen kann.

Nachdem man allerdigs den Ordner „Vorlagen“ im „home“-Verzeichnis entdeckt und geöffnet hat, hilft der am oberen Fensterrand eingeblendete Satz

Dateien in diesem Ordner erscheinen im Menü >>Neues Dokument<< als Vorlage.

bei der Erleuchtung. Und tatsächlich: nach einem

$ touch ~/Vorlagen/Neue\ Textdatei.txt

erscheint ab sofort bei jedem Rechtsklick in Nautilus ein Menüpunkt „Neues Dokument“, welcher als Unterauswahl „Neue Textdatei.txt“ anbietet.

Wer die standardmäßig angelegten Verzeichnisse „Bilder“, „Dokumente“, „Downloads“, „Musik“, „Öffentlich“ sowie „Videos“ und „Vorlagen“ nicht benötigt oder gerne an einem anderen Ort haben möchte, kann dies in der Datei „~/.config/user-dirs.dirs“ konfigurieren:

$ vi ~/.config/user-dirs.dirs

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Schreibtisch"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Vorlagen"
XDG_PUBLICSHARE_DIR="$HOME/Öffentlich"
XDG_DOCUMENTS_DIR="$HOME/Dokumente"
XDG_MUSIC_DIR="$HOME/Musik"
XDG_PICTURES_DIR="$HOME/Bilder"
XDG_VIDEOS_DIR="$HOME/Videos"

Hierbei ist zu beachten, daß an dieser Stelle nur Verzeichnisse hinzugefügt oder verschoben werden können. Wird eine Zeile entfernt oder auskommentiert, so wird bei der nächsten Anmeldung der Standardwert aus der Datei „/etc/xdg/user-dirs.defaults“ verwendet.

Soll ein Ordner entfernt werden, so ist der Datei „~/.config/user-dirs.dirs“ des entsprechenden Benutzers der Eintrag

enabled=False

hinzuzufügen. Anschließend kann der Ordner gelöscht werden und wird bei der nächsten Anmeldung nicht wiederhergestellt.

GNOME Shell Extensions

Eine der Möglichkeiten, GNOME anzupassen, sind die sogenannten „Shell Extensions“, welche man entweder über den Paketmanager der Distribution oder direkt von der GNOME-Website installieren kann. Beide Methoden haben Vor- und Nachteile:

Während man bei der Installation mittels Paketmanager nicht unbedingt die neueste Version erhät und auch auf eine deutlich kleinere Auswahl an Extensions zurückgreifen kann, ist aber sichergestellt, daß die angebotenen Extensions zu der installierten GNOME-Version kompatibel sind. Bei Extensions direkt von der GNOME-Website kann es passieren, daß diese eine neuere GNOME-Version voraussetzen oder von anderen Rahmenbedingungen ausgehen, als sie die installierte Version der Desktopumgebung bietet.

Die Installation ist schnell erledigt, wer sich einen Überblich über die angebotenen Extensions verschaffen möchte, kann dies über die Debian-Paketsuche erledigen.

$ sudo apt install gnome-shell-extension-dashtodock gnome-shell-extension-weather gnome-screenshot

 

Kategorien
Betriebssysteme

Grundinstallation Debian

Die Grundinstallation von Debian ist schnell erledigt, um allerdings bereits bei der Installation Fine-Tuning betreiben zu können, sollte der Modus „Expert install“ gewählt werden. Dieser bietet nicht nur mehr und detailliertere Optionen, sondern ist an mancher Stelle (z.B. „Benutzer und Passwörter einrichten“) logischer aufgebaut als der „Graphical install“.

Im Debian Installer Menu die Option „Advanced options“ und dann „Expert install“ wählen.

Bei „Select a language“ die Option „German“ auswählen und den Rest der Spracheinstellungen bestätigen, zusätzliche Gebietsschemen müssen keine installiert werden. Die Tastatureinstellungen ebenfalls bestätigen.

Für eine Standardinstallation müssen keine weiteren Installer-Komponenten hinzugefügt werden.

Sofern im Netz ein DHCP-Server in Betrieb ist, können bei einem Großteil der Netzwerkinstallation die Vorgabewerte übernommen werden. Lediglich beim Rechnernamen (sowie ggf. Domänennamen) sollten entsprechende Eingaben gemacht werden.

Im Bereich „Benutzer und Passwörter einrichten“ kann die Vorgabe „Shadow-Passwörter benutzen?“ ebenfalls bei „Ja“ belassen, aus Sicherheitsgründen sollte aber „root das Anmelden erlauben?“ mit „Nein“ beantwortet werden. Als Folge hieraus wird bereits bei der Installation des Betriebssystems ein normales Benutzerkonto angelegt und „sudo“ direkt so eingerichtet, daß hierüber Arbeiten am System vorgenommen werden können.

Sofern kein eigener Zeitserver irgendwo in Betrieb ist, können die Vorgaben bei „Uhr einstellen“ ebenfalls übernommen werden.

Rund um „Festplatten partitionieren“ sind einige Überlegungen zu treffen, welche weitreichende Auswirkungen haben:

Die erste Entscheidung ist, ob die Partitionierung geführt oder manuell erfolgen soll, ob dafür der LVM verwendet werden soll und ob der Inhalt der Festplatte verschlüsselt werden soll oder nicht.

Bei einer Installation auf einer leeren Platte auf einem Desktoprechner ist wahrscheinlich „Geführt – vollständige Festplatte verwenden“ die richtige Option, auf einem mobilen Rechner sollte auf jeden Fall „Geführt – gesamte Platte mit verschlüsseltem LVM“ gewählt werden.

Nach Auswahl der Festplatte muss noch über die Partitionierung der Festplatte entschieden werden. Sofern man nicht einen guten Grund hat, eine der anderen Optionen zu wählen, ist dem Ratschlag

Wenn Sie Sich nicht sicher sind, wählen Sie den ersten Eintrag

zu folgen und „Alle Dateien auf eine Partition, für Anfänger empfohlen“ zu wählen. Anschließend die „Partitionierung beenden und Änderungen übernehmen“.

Bei der Installation des Basissystems kann die Vorgabe „linux-image-amd64“ übernommen werden, sofern man nicht vor hat, demnächst die Hardware des Systems zu ändern, kann bei den „in die initrd aufzunehmende Treiber“ die Option „angepasst: nur für das System benötigte Treiber einbinden“ gewählt werden.

Der Paketmanager wird im Normalfall so konfiguriert, daß ein Netzwerkspiegel statt einer anderen CD oder DVD verwendet wird. Hierbei nicht davon verwirren lassen, daß trotz „HTTPS everywhere“ die Option „http“ gewählt werden sollte. Bei der Auswahl des Spiegelservers können ebenfalls die Vorgaben bestätigt werden.

Der Einsatz von „Non-free“-Software hängt im Wesentlichen davon ab, ob zum Betrieb des Rechners irgendwelche nicht freien Bestandteile benötigt werden, was i.d.R. bei WLAN- oder Grafiktreibern der Fall ist. Die Paketdepots für Quellpakete können angewählt bleiben. „Sicherheitsaktualisierungen“ sollten auf jeden Fall installiert werden, die Auswahl von „Release-Updates“ ist im Normalfall ebenfalls sinnvoll. Die Option „Rückportierte Software“ sollte nur dann ausgewählt werden, wenn auch ein tatsächlicher Bedarf besteht.

Die automatische Installation von Sicherheitsupdates ins Geschmacksache, sofern kein zwingender Grund dagegen spricht, sollte „Keine automatischen Updates“ gewählt werden.

Um ein möglichst schlankes System zu erhalten sollten bei der Sofwareauswahl alle Optionen des „Debian desktop environment“ abgewählt und lediglich „SSH server“ sowie „Standard-Systemwerkzeuge“ selektiert werden. Der Rest wird gezielt nachinstalliert.

Als letztes wird noch der Bootmanager installiert. Hier können – sofern kein Dual-Boot o.ä. geplant ist, die Vorgaben ebenfalls übernommen werden, eine Installation in den EFI-Wechseldatenträgerpfad ist nur selten nötig.

Beim Einstellen der Uhrzeit muß als Letztes noch die Entscheidung getroffen werden, ob die Systemzeit auf UTC gesetzt ist. Ist Debian als einziges System installiert, kann hier mit „ja“ geantwortet werden, im Dual Boot-Betrieb ist entweder hier ein „nein“ oder eine Anpassung des anderen Betriebssystems notwendig.

Nach Abschluss der Installation sollte das neu installierte Betriebssystem dann starten.

Kategorien
Betriebssysteme

SSH Anmeldung mit Public-Key-Authentifizierung

Als Alternative zur „herkömmlichen“ Anmeldung mit Benutzername und Kennwort gibt es auch die Möglichkeit, sich über SSH mittels einer Kombination von privatem und öffentlichem Schlüssel auf einem anderen Rechner anzumelden. Dies hat den Vorteil, daß – sobald einmal eingerichtet – eine sichere Verbindung zwischen den beiden Rechnern hergestellt werden kann, ohne daß jedesmal das Kennwort eingegeben werden muss.

Im ersten Schritt wird hierzu das Schlüsselpaar aus privatem und öffentlichem Schlüssel erzeugt:

$ ssh-keygen -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/andreas/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
...

Während die Frage nach dem Speicherort einfach mit „Enter“ bestätigt werden kann, sollte die Vergabe einer Passphrase gut überlegt sein. Ohne Passphrase liegt der erzeugte Schlüssel ungeschützt am Speicherort und kann bei einem Diebstahl problemlos verwendet werden, mit Passphrase ist eine Verwendung nur mit Kenntnis eben dieser möglich.

Als Ergebnis des Befehls werden zwei Dateien erzeugt: zum einen die Datei „id_rsa“, weche den geheimen (=privaten) Schlüssel enthält und die Datei „id_rsa.pub“, in welcher der öffentliche Schlüssel gespeichert ist.

Im zweiten Schritt kann der soeben erzeugte öffentliche Schlüssel nun auf den anderen Rechner übertragen werden. Die Syntax hierzu ist „ssh-copy-id -i ~/Pfad/zur/Schlüsseldatei Benutzername@Rechnername“

$ ssh-copy-id -i /home/andreas/.ssh/id_rsa.pub remoteuser@remotehost
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/andreas/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
remoteuser@remotehost's password:

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'remoteuser@remotehost'"
and check to make sure that only the key(s) you wanted were added.

Sofern alles funktioniert hat, wurde auf dem Zielrechner im Verzeichnis „/home/remoteuser/.ssh“ eine Datei „authorized_keys“ erzeugt, in welche der öffentliche Schlüssel kopiert wurde.

Ist dies erfolgt, kann die Anmeldung ab sofort mit

$ ssh -i /home/andreas/.ssh/id_rsa remoteuser@remotehost

durchgeführt werden, wobei hier der private Schlüssel angegeben werden muss. Sofern beim Speichern des Schlüsselpaares die Vorgabewerte für den Namen übernommen wurden, kann die Angabe des Schlüssels entfallen, so daß die Anmeldung einfach über

$ ssh remoteuser@remotehost

möglich ist. Sofern beim Erzeugen des Schlüssels eine Passphrase vergeben wurde, wird diese bei Zugriff auf den Schlüssel abgefragt.