Jul 06, 2016
Seit geraumer Zeit schlage ich mich mit dem Gedanken herum, meine
Webseite auf einen eigenen Rootserver umzuziehen. Hauptgrund ist dabei
die Möglichkeit den gesamten Verkehr über https laufen zu lassen (Let's
Encrypt lässt grüßen :-) ) und darüber hinaus auch automatisiert
regelmäßige Backups anlegen zu können. Ersteres lässt sich mein
momentaner Webspaceanbieter nämlich fürstlich bezahlen, Letzteres war
bisher von mir nur sporadisch gepflegt worden da man Backups nur manuell
in der Administrationsoberfläche anstoßen konnte.
Das Mehr an Flexibilität (den Spaß nicht zu vergessen :-) ) geht jedoch
einher mit einem gestiegenen Wartungsaufwand sowie einem hohen Maß an
Verantwortung; schließlich ist man auch direkt verantwortlich, wenn der
Server gekapert wird, weil man ihn nicht richtig abgesichert hat und nun
Amok läuft. Entscheiden musste ich mich letztendlich nur noch, ob ich
mir einen eigenen kleinen Server zu Hause hinstelle oder ob ich etwas
Passendes miete. Nach einigem hin und her habe ich mich dann für die
Mietoption entschieden, jedoch statt eines echten physischen Servers
"nur" einen virtualisierten gemietet. Zum einen war mir ein
ausgewachsener Rootserver mit 8-Kern-CPU und Gigabytes voll RAM dann
doch 'ne Nummer zu oversized für meine Bedürfnisse, zum anderen zahlt
man für solche Rechenknechte auch ein hübsches Sümmchen monatlich. Da
bieten gerade die kleineren vServer eine gute Mischung aus Preis und
verfügbarer Leistung und sollten für kleinere Projekte vollkommen
ausreichen. Gesagt getan, der
Server war
bestellt und schon nach 5 (!) Minuten bekam ich die Mail mit den
Zugangsdaten. Und das am Freitag Abend nach 19 Uhr; Respekt :-)
Erste Schritte
Mit den Zugangsdaten kann man sich nun via SSH auf dem Server als root
einloggen. Das erste, was man auf jeden Fall tun sollte ist das Passwort
zu ändern:
da der Server bei Auslieferung noch auf Englisch gestellt war, habe ich
ihn kurzerhand auf Deutsch umgestellt:
#: dpkg-reconfigure locales
dort die entsprechenden locales auswählen und dann mittels
generieren. Da ich nicht gerne ständig im root-Kontext arbeite erstelle
ich mir gleich einen eigenen Benutzer
SSH-Dienst absichern
Neben einer Firewall wohl der wichtigste Punkt. Momentan kann man sich
via SSH mittels Passwort anmelden und auch root kann sich dort anmelden.
Um auch hier ein gesteigertes Maß an Sicherheit zu bekommen, sollte man
auf jeden Fall den SSH-Login auf Publickey Authentication umstellen und
die Anmeldung via Passwort unterbinden; darüber hinaus sollte es dem
root user nicht erlaubt sein, sich überhaupt per SSH einzuloggen. Die
einzelnen Punkte habe ich
hier schonmal
beschrieben.
Firewall einrichten
Der nächste Punkt auf der Liste ist die Einrichtung einer Firewall, wenn
man nicht will, das die Serverdienste munter und unkontrolliert mit der
Außenwelt kommunizieren können. Ich setze dabei auf die 'uncomplicated
firewall' bzw. 'ufw', die ein leicht zu bedienendes Frontend für
iptables bietet. Als erstes erstellen wir eine Standardregel und
verbieten grundsätzlich alles, danach erlauben wir speziell den
ssh-Dienst und dann schalten wir noch das logging ein:
#: ufw default deny
#: ufw allow ssh
#: ufw logging on
fail2ban
Ich hatte den Server keine halbe Stunde und schon klopften die ersten
Idioten an die Tür, wie mir ein Blick in die Datei
verrät. Standardmäßig haben sie beliebig viele Versuche um reinzukommen.
Um das einzuschränken, bietet sich fail2ban an. Dieses nützliche, in
Python geschriebene Programm, scant periodisch verschiedene Logdateien
nach verdächtigen Inhalten (z.B. mehrfach gescheiterte Login-Versuche
pro IP) und sperrt bspw. eine IP-Adresse nach zuvielen gescheiterten
Loginversuchen. Den Status eines 'jails' kann man jederzeit via
#: fail2ban-client status ssh
abrufen.
Fazit
Ich denke, wenn man diese Punkte erst einmal abgearbeitet hat, hat man
seinen Server schon ein bedeutendes Maß sicherer gemacht und kann nachts
etwas ruhiger schlafen. Absolute Sicherheit gibt es leider nicht, daher
sollte man seinen Server regelmäßig kritisch beobachten und vor allem
regelmäßg Sicherheitsaktualisierungen einspielen.
Mär 24, 2015
Was gibt es schöneres an einem sonnigen Tag als auf einem etwas betagten
Laptop Linux zu installieren? Obwohl das Thinkpad 600E mit seinem
Pentium II Prozessor und 192 MB Ram durchaus genug Power besitzt um eine
grafische Oberfläche zu zeichnen, habe ich mich diesmal für eine
Konsole-only Variante entschieden. Als Basis hierfür habe ich diesmal
Slitaz genommen, dass in dem Ruf steht auch auf einem 486er mit nur 16
MB Ram noch lauffähig zu sein (ein Test steht da noch aus :-) )
Iso-Image besorgen und davon booten
Zunächst habe ich mir auf der Slitaz-Homepage
ein aktuelles Iso-Image der Stable-Version heruntergeladen. Dabei kann
man zwischen verschiedenen Versionen (‘Flavors’) wählen.
Hier
gibts eine direkte Übersicht. Ich habe mich für die ‘base’ Variante
entschieden, mit lediglich 8 MB. Für die Installation habe ich mich an
die unter folgendem
Link
einsehbaren Anleitung gehalten.
Partitionen erstellen
Als erstes muss die Festplatte partitioniert werden. Im Prinzip reichen
mir zwei Partitionen aus; eine ‘Root-Partition’ und eine
‘Swap-Partition’. Natürlich kann man das aber machen wie man will.
Gerade wenn man noch andere Betriebssysteme auf dem Rechner installiert,
lohnt es sich vielleicht noch über eine separate ‘Home-Partition’
nachzudenken. Nach dem Partitionieren müssen noch die erstellten
Partitionen mit dem gewünschten Dateisystem formatiert werden:
~# mkswap /dev/hda2 && swapon /dev/hda2
~# mkfs.ext4 /dev/hda1
Danach sollte ~# blkid etwa folgendes ausgeben:
/dev/hda1: UUID="42ea812e-58c6-437f-a624-05e162ae116b" TYPE="ext4"
/dev/hda2: UUID="8962e5a4-1630-44e6-85fe-71b3254c9ac3" TYPE="swap"
Partition einbinden
Als nächstes muss die Root-Partition in das Dateisystem eingebunden
werden:
~# mkdir /mnt/slitaz && mount /dev/hda1 /mnt/slitaz
Da bei mir das Einbinden der base-CDRom aus einem mir unerfindlichen
Grund nicht klappen wollte, habe ich mir das Iso-Image manuell
heruntergeladen und als loop-device eingebunden:
~# wget http://mirror.switch.ch/ftp/mirror/slitaz/iso/stable/flavors/slitaz-4.0-base.iso
~# mount -o loop slitaz-4.0-base.iso /media/cdrom
Boot-Verzeichnis erstellen:
~# mkdir /mnt/slitaz/boot
Bootkernel kopieren:
~# cp -a /media/cdrom/vmlinuz-* /mnt/slitaz/boot
gepacktes Root-FS kopieren:
~# cp /media/cdrom/rootfs.gz /mnt/slitaz
In das Dateisystem wechseln:
Root-FS entpacken und dekomprimieren:
~# lzma d rootfs.gz -so | cpio -id
~# rm rootfs.gz init
Bootloader installieren:
~# grub-install --root-directory=/mnt/slitaz /dev/hda
GRUB-Konfigurationsdatei menu.lst in /slitaz/boot/grub/ mit
folgendem Inhalt erstellen:
title slitaz
root(hd0,0)
kernel /boot/vmlinuz-2.6.37-slitaz root=/dev/hda1 vga=791
Die Option vga=791 aktiviert beim Thinkpad 600E praktischerweise den
Framebuffer und stellt die Auflösung auf 1024x768x16.
Nach einem Reboot hat man (hoffentlich :-) ) ein schlankes, frisches
Slitaz auf der Festplatte. Was jetzt noch fehlt ist nur noch die Audio
Unterstützung.
Audio
Die Treiber für die im Thinkpad verbaute Cirrus Logic CS 4610/11
Soundkarte befinden sich im Paket hardware-thinkpad-600e-1.0, welches
mittels folgendem Kommando installiert werden kann:
~# tazpkg get-install hardware-thinkpad-600e-1.0
Fehlt nur noch alsa:
~# tazpkg get-install alsa-lib alsa-utils
Soundhardware konfigurieren:
Jetzt sollte die Soundkarte fertig eingerichtet sein. Ruft man jetzt den
alsamixer auf, sollte die Soundkarte dort angezeigt werden. Falls beim
Abspielen eines Audiostückes kein Ton kommt, sollte man prüfen ob der
Benutzer auch in der Gruppe audio ist und der Ausgabekanal im
alsamixer nicht auf mute steht :-)
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 :-)
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 :-)
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 :-).
Mai 25, 2013
Endlich habe ich mal meinen ~~Ar...~~ Allerwertesten hoch bekommen und
angefangen ein Projekt zu realisieren, das schon seit längerer Zeit in
meinem Unterbewusstsein brodelt. Und zwar habe ich mir überlegt,
inspiriert von Apo und
K.Mandla, ein Blog über meine
Linux-Erfahrungen zu betreiben. Ebenso wie diese beiden Herren lege ich
den Schwerpunkt auf leichtgewichtige Anwendungen mit denen man auch
ältere (manche würden schon antik sagen) Rechnergenerationen für die
tägliche Arbeit einsetzen kann. Dabei wird es durchaus auch
Überschneidungen und Doppelungen mit einzelnen Artikeln o. g. Herren
geben, was auch durchaus von mir gewollt ist (quasi im Sinne eines
dezentralen Backups :-) ) - andererseits hoffe ich natürlich, dass ich
bei meinen Versuchen und Erfahrungen auch vielleicht ein paar neue
Erkenntnisse zu Tage fördere. Und überhaupt möchte ich natürlich auch
mein eigenes Wissen rund um das Thema Open Source und Linux vertiefen
und erweitern.
Ein weiterer wesentlicher Grund für dieses Blog ist die Tatsache, dass
ich mir manche Konfigurationsdetails beim besten Willen einfach nicht
merken kann (z.B. welche Optionen ich dem Linux-Kernel beim Booten
übergeben muss, damit die alte ISA-Soundkarte auch tut, wozu sie gedacht
war ;-) ). Da ich solch dementen Situationen immer wieder mühsam das WWW
nach der jeweiligen Konfiguration durchsuchen muss, habe ich mir
überlegt, das einfach selbst auf meiner Seite zusammenzutragen und das
Ganze auch online (ganz im Sinne von
Open-Source) bereitzustellen
- und wer weiß, vielleicht verirrt sich ja mal ein ebenso mühsam
Suchender und wird hier fündig.
Auf der Seite Hardware findet ihr
eine Zusammenstellung meiner bisherigen Rechnersammlung. Weil Laptops
wesentlich kompakter und Platz-sparender als ihre Desktop-Brüder sind
beschränke ich mich auch momentan auf diese (und weil ich meinen Schatz
zu Hause auch nicht mit zu viel herumstehenden "Computer-Zeugs" unnötig
strapazieren will - so ein Laptop verschwindet ja recht schnell mal eben
im Schrank :-) ).
Auf der Seite Software entsteht
demnächst eine (weitere?) lose Zusammenstellung an interessanter und
leichtgewichtiger Software. Hier muss ich allerdings aber erstmal
demnächst noch eine Inventur machen :-)
So nun aber genug geredet, Beiträge wollen geschrieben werden. Ich habe
da auch schon eine Idee für einen ersten Beitrag und auch ein grobes
Konzept; ist aber noch ein wenig unausgegoren...man darf aber gespannt
sein :-)
In diesem Sinne, bis bald! Euer Marcel