Sehr erfreut war ich über den Newsletter von Debian, den ich heute in meinem Postfach vorgefunden habe. Ab sofort wird jeweils im Dezember eines ungeraden Jahres der aktuelle Stand für einen neuen Release eingefroren. Im folgenden Frühjahr sollte dann mit der Veröffentlichung zu rechnen sein. D.h. dass im Schnitt alle zwei Jahre mit einer neuen stabilen Version zu rechnen ist. Das wird schlussendlich dazu führen, dass stets relativ neue Pakete in den jeweiligen stabilen Releases zu finden sein werden. Ich hoffe nur bzw. bin auch relativ überzeugt davon, dass die Stablität und Qualität nicht darunter zu leiden hat.
Zur Überprüfung ob die über apt-get/aptitude geladenen Dateien aus einer vertrauenswürdigen Quelle stammen werden diese auf der Seite von Debian mit einem privaten Schlüssel signiert und auf der Benutzer-Seite mit dem zugehörigen öffentlichen Schlüssel auf Korrektheit geprüft. Die Schlüsselpaare haben bei Debian eine Gültigkeit von drei Jahren, danach müssen diese aktualisiert werden. Der alte Schlüsselpaar verliert mit 01.07.2009 seine Gültigkeit, das neue Schlüsselpaar wird ab 13.06.2009 eingesetzt. Damit die neuen öffentlichen Schlüssel auf dem System bekannt sind, müssen diese aktualisiert werden.
Führt man “apt-get update” oder “aptitude update” ohne Aktualisierung der Schlüssel aus, wird folgende Meldung ausgegeben:
W: There is no public key available for the following key IDs: 9AA38DCD55BE302B W: There is no public key available for the following key IDs: 9AA38DCD55BE302B W: GPG error: ftp://ftp.hosteurope.de etch Release: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 9AA38DCD55BE302B W: GPG error: http://ftp.de.debian.org etch Release: Die folgenden Signaturen konnten nicht überprüft werden, weil ihr öffentlicher Schlüssel nicht verfügbar ist: NO_PUBKEY 9AA38DCD55BE302B W: Probieren Sie "apt-get update", um diese Probleme zu korrigieren.
Mit dem Befehl “apt-get install debian-archive-keyring” bzw. “aptitude install debian-archive-keyring” (je nachdem ob man apt-get oder aptitude bevorzugt) können die öffentlichen Schlüssel aktualisiert werden. Aus Sicherheitsgründen muss noch eine Frage mit “Ja” bestätigt werden:
Muss 12,8kB an Archiven herunterladen. Nach dem Entpacken werden 4096B zusätzlich belegt sein. Wollen Sie fortsetzen? [Y/n/?] Y WARNUNG: nichtvertrauenswürdige Versionen der folgenden Pakete werden installiert! Nichtvertrauenswürdige Pakete können die Sicherheit Ihres Systems gefährden. Sie sollten nur dann mit der Installation fortfahren, wenn Sie sicher sind, dass dies das ist, was Sie wollen. debian-archive-keyring Wollen Sie diese Warnung ignorieren und trotzdem weitermachen? Geben Sie zum Weitermachen "Ja", zum Abbrechen "Nein" ein: Ja
Die Installation wird daraufhin durchgeführt:
Schreibe erweiterte Statusinformationen... Fertig Hole:1 ftp://ftp.hosteurope.de etch/main debian-archive-keyring 2009.01.31 [12,8kB] 12,8kB wurden in 0s heruntergeladen (81,1kB/s) (Lese Datenbank ... 29059 Dateien und Verzeichnisse sind derzeit installiert.) Vorbereiten zum Ersetzen von debian-archive-keyring 2007.07.31~etch1 (durch .../debian-archive-keyring_2009.01.31_all.deb) ... Entpacke Ersatz für debian-archive-keyring ... Richte debian-archive-keyring ein (2009.01.31) ... gpg: key 6070D3A1: "Debian Archive Automatic Signing Key (4.0/etch) <ftpmaster@debian.org>" not changed gpg: key ADB11277: "Etch Stable Release Key <debian-release@lists.debian.org>" not changed gpg: key BBE55AB3: "Debian-Volatile Archive Automatic Signing Key (4.0/etch)" not changed gpg: key F42584E6: public key "Lenny Stable Release Key <debian-release@lists.debian.org>" imported gpg: key 55BE302B: public key "Debian Archive Automatic Signing Key (5.0/lenny) <ftpmaster@debian.org>" imported gpg: key 6D849617: public key "Debian-Volatile Archive Automatic Signing Key (5.0/lenny)" imported gpg: Total number processed: 6 gpg: imported: 3 (RSA: 2) gpg: unchanged: 3 gpg: no ultimately trusted keys found
Abschließend kann man die installierten Schlüssel noch mit “apt-get list” ansehen:
/etc/apt/trusted.gpg -------------------- pub 1024D/6070D3A1 2006-11-20 [expires: 2009-07-01] uid Debian Archive Automatic Signing Key (4.0/etch) <ftpmaster@debian.org> pub 1024D/ADB11277 2006-09-17 uid Etch Stable Release Key <debian-release@lists.debian.org> pub 1024D/BBE55AB3 2007-03-31 [expires: 2010-03-30] uid Debian-Volatile Archive Automatic Signing Key (4.0/etch) sub 2048g/36CA98F3 2007-03-31 [expires: 2010-03-30] pub 1024D/F42584E6 2008-04-06 [expires: 2012-05-15] uid Lenny Stable Release Key <debian-release@lists.debian.org> pub 4096R/55BE302B 2009-01-27 [expires: 2012-12-31] uid Debian Archive Automatic Signing Key (5.0/lenny) <ftpmaster@debian.org> pub 2048R/6D849617 2009-01-24 [expires: 2013-01-23] uid Debian-Volatile Archive Automatic Signing Key (5.0/lenny)Artikel twittern
Bei HostEurope wird für vServer Virtuozzo zur Virtualisierung verwendet. Dieses setzt bei jedem Start die Dateien “/etc/hostname” und “/etc/resolv.conf” neu, d.h. geänderte Konfigurationseinstellungen gehen bei jedem Neustart verloren. Abhilfe schafft ein kleines Startup-Skript, das in “/etc/init.d/hostname-vps.sh” mit folgendem Inhalt abgelegt wird:
#!/bin/bash if [ -f /etc/hostname.override ] then cp /etc/hostname.override /etc/hostname cat /etc/hostname | xargs /bin/hostname fi if [ -f /etc/resolv.conf.override ] then cp /etc/resolv.conf.override /etc/resolv.conf fi exit 0
Wenn die Datei “/etc/hostname.override” existiert, so ersetzt diese die Datei “/etc/hostname”. Selbiges gilt analog für “/etc/resolv.conf.override” und “/etc/resolv.conf”. Damit dieses Skript beim Starten ausgeführt wird, müssen noch Links in den entsprechenden Runlevel-Ordner hinzugefügt werden. Debian stellt hierfür das Tool “update-rc.d” zur Verfügung:
# update-rc.d hostname-vps.sh defaults 09
Nun müssen noch die override-Dateien mit den gewünschten Optionen angelegt werden. Anschließend kann das System neu gestartet und die Funktionalität überprüft werden:
# rebootArtikel twittern
Am 14. Februar 2009 wurde Debian GNU/Linux 5.0 (Codename “Lenny”) veröffentlicht und löst somit Debian GNU/Linux 4.0 (Codename “Etch”) als aktuelle stabile Version des Debian-Projekts ab. Die aktuelle Version unterstützt nun zwölf unterschiedliche Architekturen, unter anderem auch aktuelle Intel und AMD-Plattformen mit 64bit, hinzugekommen ist Marvells Orion-Plattform, die in zahlreichen Speicherlösungen zum Einsatz kommt und die Unterstützung für Netbooks. Die Paketverwaltung apt bietet nun die Möglichkeit Paketbeschreibungen in der Sprache des Benutzers auszugeben, sofern eine Übersetzung vorhanden ist. Weitere Neuerungen können der Presseveröffentlichung entnommen werden.
Die grundsätzliche Funktionalität von sudo habe ich im Artikel “sudo vs. su” bereits erklärt. In diesem Artikel möchte ich darauf eingehen, wie man einem Benutzer die Verwendung von sudo erlauben kann. Unter Linux gibt es hierfür die Datei “/etc/sudoers”. Diese sollte allerdings nicht mit einem beliebigen Editor bearbeitet werden, sondern ausschließlich mit “visudo”, da hiermit vor dem Speichern eine Syntax-Überprüfung erfolgt. Darauf weist auch der Kommentar “This file MUST be edited with the ‘visudo’ command as root.” am Dateianfang hin. Außerdem weiß visudo wo die sudoers-Datei auf dem System gespeichert ist, da der Pfad auf anderen Betriebssystemen (z.B. bei Mac OS X unter “/private/etc/sudoers”) auch abweichen kann. Wie visudo zu bedienen ist, kann im Artikel “Standard-Editor vi” nachgelesen werden, außerdem werden die verfügbaren Befehle in der Statusleiste angezeigt.
Mit dem folgenden Befehl öffnet man also die sudoers-Datei als Superuser:
visudo
Unter Debian sieht die Datei standardmäßig wie folgt aus:
# /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # Defaults env_reset # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL) ALL
Damit wird dem Benutzer “root” auf allen Computern die Ausführung aller Befehle mit/unter jedem Benutzer erlaubt. Im Allgemeinen können fünf Einstellungen pro Zeile festgelegt werden:
- Benutzer: Ein Benutzer oder Alias (Standard: muss festgelegt werden).
- Host: Ein Host oder Alias (Standard: muss festgelegt werden).
- =
- (Runas): Mit/Unter welchem Benutzer der Befehl ausgeführt wird (in runden Klammern geschrieben) (Standard: root).
- Authentifizierung: Ob nach dem Benutzer-Passwort gefragt werden soll (PASSWD) oder nicht (NOPASSWD) gefolgt von “:” und anschließend Befehl (Standard: nach Passwort fragen).
- Befehl: Ein oder mehrere Befehle oder Alias (Standard: muss festgelegt werden).
# User privilege specification root ALL=(ALL) ALL
könnte mit der selben Wirkung vereinfacht
# User privilege specification root ALL=ALL
oder erweitert wie folgt geschrieben werden:
# User privilege specification root ALL=(ALL) PASSWD:ALL
Auch mehrere Befehle können angegeben werden, z.B. dass immer nach dem Benutzer-Passwort gefragt wird, außer für /sbin/reboot:
username ALL=NOPASSWD:/sbin/reboot,PASSWD:ALL
Wie bereits erwähnt können für Benutzer, Host und Befehl auch ein Alias angegeben werden. Diese können wie folgt festgelegt und aktiviert werden:
# Host alias specification Host_Alias SERVER=host1,host2 # User alias specification User_Alias MAINTAINER=username1,username2 # Cmnd alias specification Cmnd_Alias DEB=/sbin/reboot,/usr/bin/aptitude # User privilege specification root ALL=(ALL) ALL MAINTAINER SERVER=(root) PASSWD:DEB
Die oben erwähnten Konfigurationen nochmals übersichtlich zusammengefasst:
# User privilege specification # USER HOST =(RUNAS) PASSWD/NOPASSWD COMMAND root ALL =(ALL) ALL root ALL = ALL # same as above root ALL =(ALL) PASSWD: ALL # same as above MAINTAINER SERVER=(root) PASSWD: DEBArtikel twittern