Jul 17, 2014
Seit geraumer Zeit betreibe ich einen kleinen stromsparenden Server, der
auch über das Internet von überall mittels ssh erreichbar ist. Dieser
dient mir als Zugangspunkt zu meinem Heimnetzwerk, falls ich doch einmal
eine bestimmte Datei o. Ä. unterwegs brauche. Um diesen abzusichern,
sollte man die Standardkonfiguration ein wenig anpassen. Die
Konfigurationsdatei für den SSH-Server findet man unter
'/etc/ssh/sshd_config'.
Port umlegen
Standardmäßig arbeitet der SSH-Server auf dem Port 22. Das ist leider
auch so ziemlich jedem klar, der mit dem Begriff "SSH" etwas anfangen
kann. Was liegt also näher, als einfach einen anderen - möglichst von
keinem anderen Dienst belegten Port - einzustellen. Dazu trägt man in
der 'sshd_config' folgendes ein:
Einziger Nachteil ist, dass man von nun an beim Aufruf von ssh mit der
Option -p explizit den Port angeben muss. Allerdings bietet die Umlegung
des Ports allein keinen wirklichen Sicherheitsgewinn. Ein vollständiger
Portscan würde relativ schnell den richtigen Port enttarnen.
$ ssh -p 12345 user@serveradress.de
Rootlogin verbieten
Auf jeden Fall sollte man die Anmeldung als Root verbieten. So muss ein
potentieller Angreifer nicht nur das Passwort, sondern auch gleich noch
den richtigen Benutzernamen erraten. Um die Anmeldung als Root zu
verbieten muss die Option
...
Permit RootLogin no
...
gesetzt werden. Danach kann man sich nur noch mit einem "normalen" User
anmelden.
SSH-Keypair erzeugen
Wesentlich sicherer als die Eingabe eines bloßen Passwort ist die
Authentifizierung mittels RSA-Key. Dabei wird auf dem Client ein Private
Key und ein Public Key erzeugt und der Public Key anschließend auf den
Server transferiert. Die Erstellung eines RSA-Schlüsselpaars geschieht
über:
Danach kopiert man mittels folgendem Befehl den Schlüssel auf den
Server:
$ ssh-copy-id user@serveradress.de
Von nun an wird man bei der Authentifizierung immer nach der
RSA-Passphrase des RSA-Schlüssels gefragt, statt nach einem regulären
Passwort.
Passwortbasierte Anmeldung verhindern
Hat man einmal eine solche Authentifizierung eingerichtet, kann man
gleich auch die passwortbasierte Anmeldung unterbinden. Der Vorteil ist,
dass sich jetzt nur noch derjenige anmelden kann, der über den passenden
Schlüssel verfügt. Dazu muss man nur folgende Option setzen:
...
PasswortAuthentication no
...
Der Nachteil ist, dass man nun auf seinen private-Key Acht geben muss
und ihn irgendwo sicher aufbewahren muss. Hat man physisch keinen
Zugriff auf den Server, hilft bei Verlust des Schlüssels nur noch ein
trauriger Anruf beim Hoster.
StrictHostKeyChecking
Hat man einmal die Authentifizierung mittels RSA-Keys eingerichtet, ist
man im Prinzip schon recht gut abgesichert gegen Personen, die auf dem
Server nichts zu suchen haben. Hat man allerdings seinen Private-Key
verloren ist es prinzipiell dem Finder möglich sich auf dem Server
einzuloggen (falls er die richtige Passphrase für den Private Key
kennt). Zugegeben, dass sind schon recht viele Wenn's, aber 'Unverhofft
kommt oft :-)'Jedenfalls kann man zusätzlich noch das Strict Host Key
Checking aktivieren. Dazu setzt man folgende Option:
...
StrictHostKeyChecking yes
...
Das bewirkt, dass sich nur dem Server bereits bekannte Hosts anmelden
dürfen. Dabei wird der Client-Host-Key mit denjenigen Keys in der Datei
'\~/.ssh/known_hosts' bzw. '/etc/ssh/known_hosts' abgeglichen.
Fazit
Mit diesen relativ einfachen Mitteln hat man gegenüber der
Standardkonfiguration schon einiges an zusätzlicher Sicherheit gewonnen.
Absolute Sicherheit wird es wohl leider nie geben, sodass man auch
weiterhin Serverlast und die Log-Files auf Unstimmigkeiten überwachen
sollte. Man kann also nur hoffen, dass man es einem potentiellen
Angreifer so schwer wie möglich macht und dass dieser sich dann lieber
weniger aufwändigen Zielen zuwendet.
Jun 21, 2014
Jüngstes Mitglied in meiner immer umfangreicher werdenden Sammlung von
Laptops ist ein gebrauchtes Lenovo Thinkpad T500. Seit längerer Zeit
schon suchte ich nach einem gebrauchten Laptop mit einem ausreichend
großen Bildschirm. Mein 12'' Zoll Thinkpad X60s ist mir mittlerweile zu
klein, wenn es darum geht längere Texte, Webseiten oder Programme zu
bearbeiten. Man wird halt alt und die Augen werden auch nicht besser :-)
Eher zufällig stieß ich letztens auf der Seite eines bekannten
Auktionsportals auf diesen gebrauchte Thinkpad. Et volià
Hardwareausstattung:
Zugegeben, die Hardwareausstattung dieses Laptops ist ganz und gar nicht
mehr zeitgemäß und haut keinen mehr vom Hocker. Im Inneren werkelt ein
schon etwas betagter Core2Duo mit 2 Kernen @ 2,26 Ghz sowie 2 GB
DDR3-RAM. Verbaut war eine 160 GB SATA Festplatte von Seagate, welche
ich durch ein größeres und performanteres Modell von Western Digital
ersetzt habe. Größtes Plus - und der eigentliche Grund, warum ich dieses
Modell schließlich gekauft habe - ist der große 15'' Bildschirm mit
einer grandiosen Auflösung von 1680 x 1050 Bildpunkten. Gelitten hat
über die Jahre lediglich der Akku, der nur noch eine verbleibende
Restkapazität von etwa 48% aufweist. Alles in allem ist der T500 in
einem sehr guten Zustand mit nur minimalen Gebrauchsspuren.
OS:
Wie immer, wenn ich einen Rechner neu einrichte, stehe ich vor der Qual
der Wahl eines passenden Betriebssystems. Vor allem stellt sich die
Frage, bleibe ich beim alten, vertrauten Weg und richte ein
Debian-basiertes OS ein oder versuche ich mal etwas Neues und
installiere z.B. ArchLinux? Letztendlich habe ich mich für Debian
entschieden. Damit kenne ich mich momentan am besten aus und darüber
hinaus möchte ich das Thinkpad produktiv einsetzen, sodass allzu
umfangreiche Testereien an der Konfiguration des OS sich eh verbieten.
Da die Hardware nicht mehr ganz so taufrisch ist, war mir klar, dass
hier nur die bewährte Methode Debian + leichtgewichtiger Fenstermanager
zum Einsatz kommt. So habe ich mich auch hier wieder für i3 als
Fenstermanager entschieden.
Die Installation von Debian-Wheezy klappte reibungslos. Lediglich die
Firmware für die integrierte Intel-WLAN-Karte musste ich im Nachgang
manuell installieren. Out of the work funktionieren leider ein paar
Sondertasten nicht, darunter auch diejenigen für Mute, VolumeUp und
VolumeDown. Ich habe aber im Internet dafür schon ein passendes
Workaround gefunden; dazu demnächst mehr.
Die Installation von i3 und ein paar nützlichen Programmen war ebenso
ein Kinderspiel und ist mittlerweile nur noch Routine.
Fazit:
Das Thinkpad T500 ist ein rundum solides Notebook, dass ich jedem
vorbehaltlos empfehlen kann. Darüber hinaus bleibt es im Betrieb
angenehm kühl und den Lüfter hört man kaum. Der Core2Duo mag aus
heutiger Sicht zwar schon als total veraltet gelten, mit den richtigen,
leichtgewichtigen Anwendungen blüht er jedoch richtig auf und in Sachen
Schwuppdizität kann er sich durchaus mit einem aktuellen Core-I*
messen. Mit gerade einmal etwa 180MB RAM-Verbrauch nach dem Boot,
bleiben bei insgesamt 2GB RAM, noch genügend Reserven für eine ganze
Reihe an parallel laufenden Anwendungen.
Mai 09, 2014
Bei mir hat sich in den letzten Jahren ein ansehnliches Sammelsurium
verschiedenster Rechner, vor allem Laptops, sowie ein ganzer Berg an
Festplatten, Wlan-Karten, Netzwerkkarten und sonstiger Hardware
angesammelt; eben alles was man immer mal so braucht :-) . Wenn ich
allerdings gefragt wurde, was ich mit all dem "alten" Krempel will,
musste ich bisher immer arg ausschweifend werden. Es fehlte mir immer
ein einschlägiger Begriff für das was ich tue. Bis neulich. Eher durch
Zufall fand ich einen Begriff, der mir sehr passend erscheint:
Retrocomputing.
Die deutschsprachige Wikipedia sagt da
folgendes zu:
"Retrocomputing (von lat. retro = rückwärts und Computer) ist das
bewusste Nutzen veralteter Computer-Technologie als Hobby, zur Nutzung
älterer Computerspiele
(Retrospiele), zur Datensicherung (indem die Inhalte alter Datenträger
auf moderneren Medien gesichert werden) und zur Sicherung des Wissens
über alte Technik und Software."
Das trifft es schon ziemlich genau (die englischsprachige Wikipedia ist
da noch einmal genauer
und listet sogar eine ganze Reihe an "Klassikern" auf.), aber weil sich
da die meisten immer noch nicht so richtig etwas drunter vorzustellen
vermögen habe ich mal selber überlegt, was mich daran eigentlich
begeistert:
1. Kostenfaktor:
Ganz klar, alte Computer kosten nicht viel und Ersatzteile sind
vergleichsweise billig. Zumindest was momentan die Hardware der späten
90er Jahre betrifft. Ältere Hardware
ist da schon schwieriger zu bekommen und wenn, dann mitunter auch
(leider) nicht gerade billig. Für die richtigen Klassiker zahlt man
bereits heute ein Vermögen.
2. Spielwiese:
Beim Übertakten ein wenig zu viel Spannung auf den Prozessor gegeben und
nun ist er geschmolzen? Gut, dass das nicht der neue
8-Kern-Server-Prozessor war. Soll heißen: wenn ich mal einen Fehler
mache und die Hardware kaputt geht (wobei man sich da schon ziemlich
anstrengen muss), dann ist das nicht gleich der Weltuntergang und ein
Ersatzgerät ist (momentan) schnell beschafft.
3. Experimentieren:
Nichts ist ärgerlicher, als ein Produktivsystem, dass nicht mehr booten
will, nur weil man wieder einmal zu leichtsinnig in den Config-Files
herumgeschraubt hat. Meistens führt dann kein Weg an einer
Neuinstallation - mit allem was dazugehört - vorbei. Umso besser, wenn
man einen separaten Rechner zum Herumspielen hat. Da stört es auch
(meistens) nicht, wenn man mal was Dummes tut und sein System zerschießt
:-)
4. Minimalismus:
Da könnte man jetzt eine ganze Philosophie 'drüber entwickeln, aber um
es kurz zu machen ich verstehe darunter folgendes: Mit minimalen Mitteln
(hard- und softwarewaretechnisch gesehen) das Maximale herausholen.
Darüber hinaus stellt sich hier auch immer die sinnbildlich Frage
"Brauche ich um bspw. eine CD zu brennen eine ganze Software-Suite, die
mir auch noch das aktuelle Wetter in San Francisco mit auf die CD
brennt?". Ich denke man kann viele Dinge des Alltags auch mit kleinen,
ressourcensparenden Anwendungen erledigen. Daraus abgeleitet stelle ich
an ein Programm auch nur eine zentrale Anforderung: "Do one thing, but
do it well".
5. Ökologisches Bewusstsein
Generell trenne ich mich sehr ungern von einem Stück Technik, dass noch
anstandslos funktioniert. Warum wegwerfen, was noch gut funktioniert und
nicht weiternutzen? Bedenkt man zudem wie viele Ressourcen und Energie
benötigt werden um nur einen Laptop herzustellen, erscheint es mir schon
allein aus diesem Grund angeraten die einmal gekaufte Hardware auch so
lange zu nutzen, wie sie funktioniert.
6. Nostalgie, Computergeschichte:
Zugegeben, ein etwas sentimentaler Geschichtspunkt. Aber ich komme immer
wieder ins Schwärmen, wenn ich an meinen ersten Computer mit Pentium-II
Prozessor und gigantischen 32 MB Arbeitsspeicher zurück denke. Aber:
wirkten damals die 2 Gigabyte an Festplattenspeicherplatz noch schier
unendlich, so würde heute nicht einmal mehr ein DVD-Spielfilm dort Platz
finden. Blickt man auf die letzten fünfzehn Jahre zurück, so hat sich
einiges getan und heutige Computer sind - verglichen mit denen aus den
Anfängen der 2000er Jahre - so dermaßen leistungsstark, dass man gar
nicht mehr weiß wohin mit der geballten Rechenpower :-) Fakt ist jedoch:
das Herumfummeln an alten Computern lässt mich immer wieder eintauchen
in diese längst vergangene Zeit :-)
Unspannend ist dabei auch nicht die Geschichte der Computer im
generellen und die der Betriebssysteme im Speziellen. Viele der
Verhaltensweisen und Eigenarten moderner Betriebssysteme tragen bspw.
immer noch die Spuren ihrer Vorfahren in sich und es macht Spaß diese zu
entdecken.
7. Nerdfaktor
Matrix gegen den Framebuffer gucken, macht doch einiges her :-)
Fazit:
Ich bin mir sicher, wenn ich noch eine Weile weiter brainstormen würde,
würde ich bestimmt noch ein paar mehr Punkte auf meine Liste
bekommen. Aber so ist das ja mit allen Hobbies :-)
Mai 09, 2014
Da ich eine neue Festplatte in das Thinkpad T21 eingebaut habe, stand
ich wieder vor der Wahl des passenden Betriebssystems. Da ich bisher mit
Debian sehr gute Erfahrungen gemacht hatte, war für mich eigentlich
schnell klar, dass es wieder ein Debian-System werden soll. Diesmal
wollte ich jedoch nur eine Minimalinstallation machen und mein System
nach und nach ausbauen.
Hat man sich einmal durch die Debian-Grundinstallation durchgehangelt,
hat man direkt nach dem Reboot ein einsatzfähiges System. Allerdings
sieht es noch nicht wirklich hübsch aus und außerdem müssen noch ein
paar Dinge konfiguriert werden. Beispielsweise muss noch für die alte
Soundkarte im T21 das entsprechende Kernelmodul geladen werden. Ob es
Probleme mit fehlender Firmware gibt, verrät ein 'dmesg|grep firmware'.
Ansonsten geht die Installation ziemlich problemlos über die Bühne,
sodass im Nachgang nur noch wenig Hand angelegt werden muss.
1. Framebuffer aktivieren und Auflösung einstellen:
Ein 'lspci|grep VGA' verriet mir, dass im T21 ein Grafikchip von S3
verbaut ist. Das zugehörige Kernelmodul für den Framebuffer heißt s3fb.
Um den Framebuffer zu aktivieren, kommentiert man das entsprechende
Modul in der '/etc/modprobe.d/fbdev-blacklist.conf' aus.
Um auch gleich in eine höhere Auflösung zu booten muss man aber noch die
'/etc/default/grub' entsprechend editieren:
GRUB_GFXMODE=1024x768x24
GRUB_GFXPAYLOAD_LINUX=keep
2. Netzwerk einrichten:
Sofern man bei der Installation nicht schon gleich zur Debian-Version
greift (Link
hier)
musste ich beim T21 für die eingebaute Intel-Karte noch die
entsprechende Firmware nachinstallieren. Diese findet sich im Paket
firmware-linux-nonfree.
Als nächstes muss man noch das entsprechende Interface in
'/etc/network/interfaces' konfigurieren. Dort trägt man folgende
Zeilen ein:
3. Sound:
Für die Soundkarte im T21 muss man ein eigenes Kernelmodul kompilieren.
Wie das genau geht, steht hier
Offenbar führt der Link zu Torvalds' GitHub Repository ins Leere. Man
kann sich die Datei cs46xx_image.h aber hier besorgen:
$ wget https://casper.berkeley.edu/svn/trunk/roach/sw/linux/sound/pci/cs46xx/cs46xx_image.h
Danach kann man wie in der Anleitung beschrieben weiter machen.
Das war es auch schon im Grunde. Jetzt kann man daran gehen, das frische
System mit der Software seiner Wahl zu befüllen oder gleich noch eine
grafische Oberfläche installieren.
Apr 22, 2014
Spieletechnisch tut sich momentan ja recht viel in der Linuxwelt.
Nachdem Steam seit letztem jahr offiziell Ubuntu unterstützt und zudem
gerade an der Entwicklung eines eigenen SteamOS auf Debian-Basis sitzt,
ist Steam nun auch für die ArchLinux-User in den offiziellen
Paketquellen enthalten und lässt sich mittels
installieren. Juchu :-)
Mär 17, 2014
Da ich mir letzten Monat ein neues Notebook gekauft habe stand ich
wieder einmal vor der Qual der Wahl, welches OS es denn diesmal sein
sollte. Eher ein schlankes Debian, vielleicht mal ein Arch oder doch
eins mit mehr optischem Schnick-Schnack? Darüber hinaus sollte es
einfach zu warten und simpel zu bedienen sein. So gerne ich auch mit
verschiedenen Konfigurationen herumspiele, manchmal möchte man doch
einfach nur ein Gerät, das einfach funktioniert. Man wird halt alt
:-)
Nach einigem Stöbern auf Distrowatch fiel meine Wahl auf
elementaryOS.
Elementary OS ist eine relativ junge Distribution, die aktuelle Version
"elementary OS Luna" basiert auf der Ubuntu 12.04 LTS Version. Dass
heisst, das für diese Version fünf Jahre Updates bereit gestellt werden.
Grundsätzlich verfolgt eOS das Ziel eine einfach zu handhabende
Distribution zu sein und gestaltet sich in gewohnter Ubuntu-Manier sehr
einsteigerfreundlich. Das Design erinnert m.E. sehr stark an MacOS und
sieht auch sehr hübsch aus. Interessant ist, dass es eine ganze Reihe an
weniger bekannten Programmen mit der Installation mit ausliefert und
dazu auch einen eigenen Dateimanager "Files".
Installation:
Die Installation gestaltet sich, wie vom traditionellen Ubuntu gewohnt,
sehr unkompliziert. Man besorge sich das aktuelle Image von der Website
und packe dies mittels dd if=/pfad\_zum\_iso of=/pfad\_zum\_device
bs=1M auf einen handelsüblichen USB-Stick und boote davon. Zum Einsatz
kommt hier der hervorragende Ubuntu-Installer, der auch Laien sicher
durch die Installation führt. Wahlweise kann man manuell die Festplatte
seinen Wünschen nach partitionieren oder dies aber dem Installer
überlassen; wer will kann hier auch gleich die /home-Parition
verschlüsseln. Nach Abschluss der Installation und einem Reboot hat man
ein schönes und sofort einsetzbares System.
Bei meinem Thinkpad quittierte das System allerdings nach der
Installation in unregelmäßigen Abständen mit einem totalen Systemfreeze
immer wieder den Dienst; da half nur ein Aus- und wieder Einschalten.
Sehr ärgerlich. Auch konnte ich in den logs nirgends einen Grund finden.
Abhilfe schaffte hier einen aktuelleren Kernel zu installieren. Danach
lief alles rund. Besonders komfortabel finde ich im Ubuntuumfeld ja
immer die nachträgliche Installation der Grafiktreiber. Ich weiß nicht
mehr wie oft (aber es war auf jeden Fall sehr oft) ich das System wieder
geschrottet habe, weil ich die Grafiktreiber falsch installiert habe.
Erweiterungen:
Standardmäßig bietet eOS schon einige Möglichkeiten zur Konfiguration
und Individualisierung. Wem dies noch zu wenig ist - ich gehöre da bspw.
dazu - der füge auf jeden Fall die Community PPA hinzu "sudo
add-apt-repository ppa:versable/elementary-update". Darin enthalten ist
u.a. das Paket "elementary Tweaks", das eine Vielzahl an individuellen
Konfigurationen ermöglicht. Besonders interessant fand ich in diesem
Zusammenhang die Möglichkeit das Terminal gleich im Solarized-Theme
erstrahlen zu lassen.
Fazit:
Elementary OS macht auf mich einen sehr soliden Eindruck. Persönlich
finde ich das MacOS-ähnliche Design sehr ansprechend und es ist in der
Bedienung sehr intuitiv bedienbar. Generell läuft nach dem Kernel-Update
alles rund und smooth. Genauso wie ich es mag :-)
Feb 04, 2014
Manchmal schraubt man nichts ahnend (und hin und wieder auch nichts
wissend :-)) an seinem Debian herum und will irgendwann die Paketlisten
mittels "apt-get update" aktualisieren und dann das:
W: GPG-Fehler: http://security.debian.org wheezy/updates Release:
Die folgenden Signaturen waren ungültig: BADSIG 8B48AD6246925553
Debian Archive Automatic Signing Key (7.0/wheezy) <ftpmaster@debian.org>
Spitze, denke ich mir. Nach ein wenig googeln hatte ich zwar immer noch
keine Ahnung, wo das Problem lag bzw. was schief gelaufen war, aber ein
Entfernen des Inhalts in "/var/lib/apt/lists/" mittels:
rm -rf /var/lib/apt/lists/
brachte Abhilfe. Danach nocheinmal ein "apt-get update" durchführen und
schon läuft wieder alles.
Dez 09, 2013
Es ist zwar noch ein paar Wochen hin aber ich will es mir trotzdem nicht
nehmen lassen schon jetzt ein kurzes Resumée für das Jahr 2013 und einen
Ausblick für 2014 zu schreiben. Grundsätzlich halte ich es für eine gute
Idee am Ende eines Jahres kurz inne zu halten und zu schauen, womit man
das Ganze Jahr über wieder massenweise Zeit vertrödelt hat.
Was hat sich 2013 bei mir getan:
1. ich habe begonnen über meine Erfahrungen mit Linux zu bloggen
Angefangen ist schon halb fertig gestellt. Getreu diesem Motto habe ich
- inspiriert von Apo und
K.Mandla - im April dieses Jahres
angefangen über meine Experimente mit Linux und alter Hardware zu
bloggen. Es macht mir persönlich sehr viel Spaß über meine Hardware oder
die ein oder andere Software zu schreiben, wobei ich gestehen muss, dass
es mir immer noch etwas schwer fällt die richtige Form und Stil zu
finden. Aber das ist vermutlich nur eine Frage der Übung. Aufwändig ist
es zudem auch wenn man selbst noch nicht so tief in der Materie steckt,
aber mit den Begrifflichkeiten präzise umgehen will. Sollte ich daher
irgendwo etwas Falsches erzählen oder etwas durcheinanderbringen,
schreibt's mir einfach in die Kommentare :-)
2. habe jede Menge Computerschrott gekauft
Ausrüstung ist alles :-) . Eben drum habe ich mich auch
hardwaretechnisch ein wenig eingedeckt, mit dem Ergebnis, dass ich nun
über mehrere Laptops unterschiedlicher Generationen sowie ein hübsches
Sortiment an Ersatzteilen (hauptsächlich HDDs) verfüge. Ich denke aber,
dass ich nun für die nächste Zeit erst einmal saturiert bin und da
erstmal nicht mehr allzuviel dazu kommt. Wobei...:-)
3. habe einiges über die Grundlagen von Linux gelernt
Es ist mir bei der Recherche für den Artikel zu den
Zugriffsrechten
auf Ordner und Dateien besonders aufgefallen, dass ich mir nie die Zeit
genommen habe das Elementare zu begreifen. Stand ich vor einem Problem,
war google immer mein Freund und so hackte ich die Lösung immer gleich
ins Terminal und fertig. Kann man machen, ist aber verständlicherweise
nicht ganz so nachhaltig :-). Dabei hätte ich mit ein wenig Wissen und
Verstehen mir durchaus selbst helfen können. Ich finde gerade wenn man
überwiegend auf grafischen Oberfläschen unterwegs ist mit schönen
Konfigurationstools wo man nur noch hier und da ein Häkchen setzen muss,
merkt man gar nicht mehr "was unter der Haube abgeht". Wozu auch?
Quittiert aber der X-Server nach dem Nvidia-Treiber-Update den Dienst
steht man da und dann ist "Holland in Not" :-)
4. habe auch gemerkt, dass ich noch am Anfang stehe
Ich weiß, dass ich - gemessen an dem, was es über Linux zu wissen gibt -
noch gar nicht allzu viel weiß und bisher nur ein wenig an der
Oberfläche gekratzt habe. Zugegeben es ist wohl mehr als unrealistisch
irgendwann einmal den vollkommenen Durchblick zu haben aber
perspektivisch möchte ich mir dennoch ein solides Grundwissen über Linux
aneignen.
Wie geht es 2014 weiter?
1. Fenstermanager testen
Einen Artikel über einen Fenstermanager habe ich bereits geschrieben und
bin von dem Thema regelrecht begeistert, sodass ich im kommenden Jahr
auf jeden Fall noch weitere Fenstermanager testen möchte. Zu nennen
wären da bspw. dwm, ratpoison, icewm, openbox, fluxbox, awesome, etc
2. Raspberry Pi als Heimserver
Ja ich gehöre auch zu den über 2 Millionen Raspberry-Pi
Besitzern.
Es ist einfach ein niedlicher kleiner Computer mit einem Minimum an
Stromverbrauch. Das ist für mich besonders wichtig, da der teils hohe
Stromverbrauch mich bisher immer daran gehindert hat den Rechner
tageelang laufen zu lassen. Trotzdem hätte ich natürlich gern einen
kleinen Server zuhause, den ich nicht immer wieder booten muss, der mir
aber stromtechnisch nicht gleich die Haare vom Kopf frisst.
3. exotische Distributionen testen
Jeder kennt [A-Z|Aa-Zz]buntu, openSuse oder Debian. Aber was ist mit
Archlinux, PuppyLinux, elementaryOS, TurboLinux, Tiny Core Linux und wie
sie alle heißen? Ich möchte gern im nächsten Jahr die eine oder andere
vielleicht nicht so bekannte Linux Distribution testen. Ein besonderes
Augenmerk soll aber nach wie vor auf Leichtgewichtigkeit liegen.
4. Konsolenanwendungen
Neben den Programmen für eine x-Server-Umgebung möchte ich auch
komplementäre Anwendungen für die Kommandozeile kennen lernen. Es
erstaunt mich immer wieder, dass man für viele meiner alltäglichen
Computertätigkeiten eigentlich keine grafische Umgebung erfordern.
5. einen eigenen Kernel kompilieren
Ein Thema, mit dem ich mich noch nie beschäftigt habe und von dem ich
absolut keine Ahnung habe :-?. Besonders auf Rechnern mit wenig RAM
denke ich bringt es eine Menge Performance, den Kernel um nicht
benötigte Module und Treiber zu bereinigen und so wertvollen Speicher
freizumachen.
6. Software aus den Quelltext kompilieren
Auch so ein Thema, mit dem ich mich noch nie beschäftigt habe. Bisher
war ich immer sehr verwöhnt von der Debian-Paketverwaltung. Die wenigen
Male, wo ein Softwarepaket dort nicht verfügbar war habe ich mir immer
irgendwie anders geholfen. So war bspw. meine Rückfallversicherung immer
ein parallel installiertes Windows. Das soll nun anders werden.
7. Artikel für freiesMagazin schreiben
Ich lese das freiemagazin nun schon seit über vier Jahren regelmäßig und
bin jedesmal wieder begeistert. Besonders mag ich dort die sehr schön
aufgearbeiteten Vorstellungen verschiedenster Software. Leider finden
sich dort wohl immer weniger Autoren und das Editorial der Dezember
Ausgabe stimmt mich mehr denn je düster, sodass ich gerne mal den ein
oder anderen Artikel dort schreiben möchte.
Dez 01, 2013
Ein Thema mit dem ich mich lange überhaupt nicht auseinander gesetzt
habe sind die Zugriffsrechte im Linux-Betriebssystem. Hat man das System
dahinter aber erst einmal durchdrungen und verstanden, ist es auch gar
nicht mehr schwer (zugegeben, das ist wohl bei den meisten Dingen so
:-)). Dummerweise bin ich aber eine übelst vergessliche Person (muss
wohl mit dem Alter zusammen hängen), von daher muss ich das einfach mal
aufschreiben :-)
1. Grundlegendes zu den Zugriffsrechten
Übersicht über die Zugriffsrechte:
$ ls -l
insgesamt 8
-rw-r--r-- 1 massel massel 0 Nov 27 18:58 testfile1.txt
-rw-r--r-- 1 massel massel 0 Nov 27 18:58 testfile2.txt
drwxr-xr-x 2 massel massel 4096 Nov 27 19:00 verzeichnis1
drwxr-xr-x 2 massel massel 4096 Nov 27 19:00 verzeichnis2
Die erste Stelle gibt den Dateityp an, wobei "-" für Datei, "d" für
Verzeichnis (Directory) und "l" für Link steht. Danach kommen drei mal
drei Zeichen. Die ersten drei Zeichen definieren die Rechte des
Eigentümers (u = user), die mittleren drei Zeichen die Rechte der
Gruppe (g = group) zu der die Datei/Verzeichnis/Link gehört und die
letzten drei Zeichen stehen für Rechte der anderen (o = others),
also "den Rest" bzw. "global" oder "world". Dazu kommen Angaben zum
Eigentümer und zur Gruppe. Dabei ist der erste "massel" der Eigentümer
und der zweite "massel" die Gruppe. Als nächstes folgt die Angabe der
Größe in Bytes sowie ein Zeitstempel (Erstellungs- bzw.
Änderungsdatum) gefolgt vom eigentlichen Datei- oder
Verzeichnisnamen. Schaut man sich das genauer an, ergibt sich für jede
der drei Gruppen die folgenden Rechte:
r = lesen (read)
w = schreiben (write)
x = ausführen (execute)
Handelt es sich um ein Verzeichnis, ergeben sich folgende Rechte:
r = lesen, erlaubt den Inhalt des Verzeichnisses aufzulisten
w = schreiben, erlaubt Dateien hinzuzufügen oder zu löschen
x = ausführen, erlaubt auf Dateien im Verzeichnis zuzugreifen
(insbesondere auf Dateiattribute wie Dateigröße etc.)
So weit so unspektakulär...
2. Ändern der Zugriffsrechte mit "chmod"
Möchte man nun die Zugriffsrechte für einzelne Dateien oder
Verzeichnisse ändern, so gibt es unter Linux das Programm "chmod"
(change mode). Um den "Modus" einer Datei oder eines Verzeichnisses zu
ändern muss man entweder Eigentümer oder "root" sein. Dabei sieht die
Syntax wie folgt aus:
chmod [ugoa] [+-=] [rwx] Dateiname
So erlaubt bspw. ein chmod u+x install.sh dem Eigentümer der Datei
"install.sh" diese auszuführen.
Alternativ bietet chmod die Möglichkeit die Rechte über einen
numerischen Modus zu ändern. Wer darüber mehr erfahren möchte kann
einfach "man chmod" auf der Konsole eingeben.
3. Ändern des Eigentümers mit chown
Möchte man für eine Datei oder ein Verzeichnis den Eigentümer und die
Gruppe ändern, so bietet sich hierfür das Programm "chown" (change
owner) an. Das Kommando hierfür sieht folgendermaßen aus:
chown [user]:[group] Dateiname
Ich denke das ist selbsterklärend :-)
Alternativ lässt sich die Gruppe noch mit dem Programm "chgrp" (change
group) ändern, welches sich syntaktisch ebenso bedienen lässt wie chown.
4. Fazit
Wie man sieht ist die Rechtevergabe und Rechteverwaltung unter Linux
kein Voodoo oder "rocket-science". Mir persönlich sind beim schreiben
diese Artikels einige Groschen (im Wert von mehreren Thalern :-))
gefallen und ich habe Lust bekommen, noch weitere Grundlagen linuxoider
Betriebssyteme aufzuarbeiten :-).
Nov 24, 2013
Nein in diesem Artikel geht es nicht um den sportlichen BMW
i3, sondern um einen
Fenstermanager namens i3. Wer also auf der Suche
nach Fahrberichten oder Ähnliches hier gelandet ist, den muss ich leider
enttäuschen ;-). Im nachfolgenden Aktikel geht es vielmehr um einen
sogenannten Fenstermanager namens i3. Fenstermanager, hä? Genau!
Bis vor kurzer Zeit hätte ich mit dem Begriff genauso wenig anfangen
können. Grob gesagt ist ein Fenstermanager für das Minimieren,
Maximieren, Öffnen und Schließen von Fenstern innerhalb einer grafischen
Oberfläche zuständig. Irgendwann im letzten Jahr stolperte ich eher
durch Zufall im ubuntuusers wiki über eine Seite auf der mehere
Fenstermanager aufgelistet waren. Das machte mich ein wenig neugierig,
kannte ich doch bis dato nur komplette Desktopumgebungen wie Gnome, Xfce
oder Kde; aus der Windows-Welt war mir dieser Begriff ebenso
unbekannt...
Dabei kommen zwei unterschiedliche Konzepte zum Einsatz: Bei "normalen"
Fenstermanagern kann man die einzelnen Fenster beliebig verschieben und
sie verdecken sich gegenseitig und/oder überlappen einander. Im
Gegensatz dazu ordnen Tiling-fähige (wie eben bspw. i3 oder dwm)
wiederum alle Fenster neben und untereinander an, sodass kein Fenster
verdeckt ist. Ein großer Vorteil dieses bereits seit den 80er-Jahren
bekannten Konzepts ist, dass sich Tiling-fähige Fenstermanager auch sehr
gut über die Tastatur steuern lassen.
Installieren lässt sich i3 bequem aus den Debian-Paketquellen mittels
apt-get install i3. Gleich mit installiert wird dabei eine hübsche
Statusleiste "i3-bar"(wer nur den reinen Fenstermanager ohne die
Statusleiste möchte installiert einfach nur das Paket i3-wm). Nun trägt
man noch in der .xinitrc die Zeile "exec i3" ein und kann mittels startx
den Fenstermanager starten. Wer möchte kann sich auch einfach einen
Loginmanager wie z.B. slim oder
xdm installieren. Will man bequem auf
seine installierten Anwendungen mittels Menü zugreifen, sollte man sich
auf jeden Fall noch das Paket "suckless-tools" installieren (wird bei
der Installation von i3 automatisch mit installiert). Das darin
befindliche "dmenu" integriert sich wunderbar in i3. Nach dem ersten
Start wird man gefragt, wo i3 seine Konfigurationsdatei ablegen soll und
welche Meta-Taste (Alt oder die Windows-Taste; ich nehme lieber die
Alt-Taste) verwendet werden soll. Danach kann man direkt los legen.
Die wichtigsten Tastenkombinationen sind wohl:
- ALT+Enter: Terminal öffnen
- ALT+D: Dmenu öffnen
- ALT+SHIFT+Q: aktuelles Fenster schließen
- ALT+SHIFT+E: i3 beenden
- ALT+j: Fokuswechsel nach links
- ALT+k: Fokuswechsel nach oben
- ALT+l: Fokuswechsel nach unten
- ALT+ö: Fokuswechsel nach rechts
- ALT+v: vertikaler Split
- ALT+h: horizontaler Split
- ALT+e: Wechsel zwischen horizontalem und vertikalem Split
- ALT+s: Stacking-Modus
- ALT+w: Tabbing-Modus
- ALT+f: Vollbild des aktuellen Fensters
- ALT+1,2,3,n: Arbeitsfläche 1,2,3,n wechseln
Eine vollständige Übersicht und zudem eine Anleitung zur Konfiguration
von i3 kann man der offiziellen
Dokumentation entnehmen.
Beschrieben ist dort bspw. wie man eine andere Schriftart einstellt,
oder wie man Tastenbelegungen ändert. Darüber hinaus ist dort
beschrieben, wie man die Statusleiste "i3-bar" seinen Bedürfnissen
anpassen kann.
Für mich persönlich ist i3 genau das, was ich gesucht habe. Ein
einfacher, mächtiger Fenstermanager, der sich vollkommen über die
Tastatur bedienen lässt. Das Tilingkonzept finde ich in höchstem Maße
spannend und ich habe vor in der nächsten Zeit noch den ein oder anderen
Kollegen aus dieser Zunft auszuprobieren. Insbesondere im
Ressourcenverbrauch denke ich, geht noch was :-)