<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>martin-grandrath.de &#187; Linux</title>
	<atom:link href="http://martin-grandrath.de/tags/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://martin-grandrath.de</link>
	<description>Ein neues WordPress-Weblog</description>
	<lastBuildDate>Fri, 23 Oct 2009 22:35:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Linkdump Februar 2009</title>
		<link>http://martin-grandrath.de/2009/03/linkdump-februar-2009/</link>
		<comments>http://martin-grandrath.de/2009/03/linkdump-februar-2009/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 19:32:18 +0000</pubDate>
		<dc:creator>Martin Grandrath</dc:creator>
				<category><![CDATA[Fundstücke]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Framework]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ltsp]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Surftipp]]></category>
		<category><![CDATA[VNC]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://martin-grandrath.de/?p=86</guid>
		<description><![CDATA[Eine Liste der Seiten, die im Februar in meinen Bookmarks gelandet sind:
WordPress

Layer-Navigation mit wp_list_categories » Beitrag » WordPress Magazin
WordPress 2.7: HTML-Struktur der Kommentare ändern &#124; I am Jeriko
Separating Pings from Comments in WordPress 2.7 &#124; Sivel.net
WP Themer Kit &#8211; WordPress
WordPress 2.5 Plugin Style Guide &#8211; bueltge.de [by:ltge.de]

CSS

Introducing SelectorGadget: point and click CSS selectors
In the Woods [...]]]></description>
			<content:encoded><![CDATA[<p>Eine Liste der Seiten, die im Februar in meinen Bookmarks gelandet sind:</p>
<h3>WordPress</h3>
<ul>
<li><a href="http://www.wordpress-magazin.de/layer-navigation-mit-wp_list_categories/" rel="external">Layer-Navigation mit wp_list_categories » Beitrag » WordPress Magazin</a></li>
<li><a href="http://www.i-jeriko.de/2008/11/08/wordpress-27-html-struktur-der-kommentare-andern/" rel="external">WordPress 2.7: HTML-Struktur der Kommentare ändern | I am Jeriko</a></li>
<li><a href="http://sivel.net/2008/10/wp-27-comment-separation/#comment-1509" rel="external">Separating Pings from Comments in WordPress 2.7 | Sivel.net</a></li>
<li><a href="http://wpthemerkit.com/" rel="external">WP Themer Kit &#8211; WordPress</a></li>
<li><a href="http://bueltge.de/wordpress-25-plugin-style-guide/614/" rel="external">WordPress 2.5 Plugin Style Guide &#8211; bueltge.de [by:ltge.de]</a></li>
</ul>
<h3>CSS</h3>
<ul>
<li><a href="http://www.selectorgadget.com/" rel="external">Introducing SelectorGadget: point and click CSS selectors</a></li>
<li><a href="http://blog.themeforest.net/tutorials/vertical-centering-with-css/" rel="external">In the Woods &#8211; Vertical Centering With CSS</a></li>
<li><a href="http://dean.edwards.name/IE7/" rel="external">/IE7/</a></li>
<li><a href="http://drewish.com/tools/vertical-rhythm" rel="external">CSS with vertical rhythm | drewish.com</a></li>
</ul>
<h3>Webdesign</h3>
<ul>
<li><a href="http://www.dackworld.de/2009/02/02/10-wp-themes-in-grunge-design/" rel="external">10 WP-Themes in Grunge Design | Dackworld</a></li>
<li><a href="http://www.webdesign.org/web/photoshop/web-layout/making-the-clean-grunge-blog-design.17054.html" rel="external">Making the &#039;Clean Grunge&#039; Blog Design | Web Layout</a></li>
<li><a href="http://www.smashingmagazine.com/2009/02/16/50-beautiful-useful-and-free-icon-sets/" rel="external">50 Free High-Quality Icon Sets | Graphics | Smashing Magazine</a></li>
</ul>
<h3>Linux</h3>
<ul>
<li><a href="http://www.heise.de/netze/Das-Linux-Terminal-Server-Project--/artikel/119273" rel="external">heise Netze &#8211; 26.11.08 &#8211; Das Linux Terminal Server Project</a></li>
<li><a href="http://www.linux-magazin.de/heft_abo/ausgaben/2007/10/simplify_your_systems" rel="external">NX, LTSP, Wine &amp;amp; Co. läuten das Ende der „Turmschuh“-Administration ein « 10 « 2007 « Ausgaben « Heft &amp;amp; Abo « Linux-Magazin Online</a></li>
<li><a href="http://www.linux-magazin.de/heft_abo/ausgaben/2007/10/einer_fuer_alle" rel="external">Terminalservices mit Edubuntu und LTSP 5 « 10 « 2007 « Ausgaben « Heft &amp;amp; Abo « Linux-Magazin Online</a></li>
<li><a href="http://www.pl-berichte.de/t_netzwerk/fernsteuerung.html" rel="external">Pro-Linux: Linux fernsteuern mit ssh, X11 und VNC</a></li>
</ul>
<h3>Sonstiges</h3>
<ul>
<li><a href="http://www.ranum.com/security/computer_security/editorials/dumb/" rel="external">The Six Dumbest Ideas in Computer Security</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://martin-grandrath.de/2009/03/linkdump-februar-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How does your Conky setup look like?</title>
		<link>http://martin-grandrath.de/2008/05/how-does-your-conky-setup-look-like/</link>
		<comments>http://martin-grandrath.de/2008/05/how-does-your-conky-setup-look-like/#comments</comments>
		<pubDate>Thu, 15 May 2008 08:59:54 +0000</pubDate>
		<dc:creator>Martin Grandrath</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Conky]]></category>
		<category><![CDATA[Konfiguration]]></category>
		<category><![CDATA[Screenshot]]></category>
		<category><![CDATA[Setup]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.martin-grandrath.de/?p=48</guid>
		<description><![CDATA[Pavs shows his Conky configuration and asks for other examples.  Here is mine:


# conky configuration ~/.conkyrc

# set to yes if you want Conky to be forked in the background
background no

# Use Xft?
use_xft yes

# Xft font when Xft is enabled
#xftfont Bitstream Vera Sans Mono:size=8
xftfont Terminus:size=8

# Text alpha when using Xft
xftalpha 0.8

# Print everything to console?
# [...]]]></description>
			<content:encoded><![CDATA[<p>Pavs shows his <a href="http://conky.sourceforge.net/" rel="external">Conky</a> configuration and <a href="http://www.linuxhaxor.net/2008/05/14/how-does-your-conky-setup-look-like/" rel="external">asks</a> for other examples.  Here is mine:</p>
<p><a href='http://www.martin-grandrath.de/wp-content/uploads/2008/05/screenshot_2008-05-15.jpg'><img src="http://www.martin-grandrath.de/wp-content/uploads/2008/05/screenshot_2008-05-15-300x240.jpg" alt="Screenshot of my desktop running fvwm and conky" title="Screenshot of my desktop running fvwm and conky" width="300" height="240" class="aligncenter size-medium wp-image-49" /></a></p>
<p><span id="more-48"></span></p>
<pre class="code"># conky configuration ~/.conkyrc

# set to yes if you want Conky to be forked in the background
background no

# Use Xft?
use_xft yes

# Xft font when Xft is enabled
#xftfont Bitstream Vera Sans Mono:size=8
xftfont Terminus:size=8

# Text alpha when using Xft
xftalpha 0.8

# Print everything to console?
# out_to_console no

# mail spool
mail_spool $MAIL

# Update interval in seconds
update_interval 2.0

# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0

# Create own window instead of using desktop (required in nautilus)
own_window no

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Maximum width of window
maximum_width 140

# Minimum size of text area
minimum_size 140 5

# Draw shades?
draw_shades yes

# Draw outlines?
draw_outline no

# Draw borders around text
draw_borders no

# Stippled borders?
stippled_borders 8

# border margins
border_margin 0

# border width
border_width 1

# Default colors and also border colors
default_color white
default_shade_color black
default_outline_color white

# Text alignment, other possible values are commented
#alignment top_left
alignment top_right
#alignment bottom_left
#alignment bottom_right

# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 20
gap_y 5

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2

# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2

# Force UTF8? note that UTF8 support required XFT
override_utf8_locale yes

# Add spaces to keep things from moving about?  This only affects certain objects.
use_spacer yes
#Note: doesn't work in conky 1.2 =(

# stuff after 'TEXT' will be formatted on screen

TEXT
${color slate grey}${time %a, } ${color }${time %e %B %G}
${color slate grey}${time %Z,    }${color }${time %H:%M:%S}
${color slate grey}UpTime: ${color }$uptime
${color slate grey}Kern:${color }$kernel
${color slate grey}CPU:${color } $cpu% ${acpitemp}C
${cpugraph 20,130 000000 ffffff}
${color slate grey}Load: ${color }$loadavg
${color slate grey}Processes: ${color }$processes
${color slate grey}Running:   ${color }$running_processes

${color slate grey}Highest CPU:
${color #ddaa00} ${top name 1}${top_mem cpu 1}
${color lightgrey} ${top name 2}${top cpu 2}
${color lightgrey} ${top name 3}${top cpu 3}
${color lightgrey} ${top name 4}${top cpu 4}

${color slate grey}Highest MEM:
${color #ddaa00} ${top_mem name 1}${top_mem mem 1}
${color lightgrey} ${top_mem name 2}${top_mem mem 2}
${color lightgrey} ${top_mem name 3}${top_mem mem 3}
${color lightgrey} ${top_mem name 4}${top_mem mem 4}

${color slate grey}MEM:  ${color } $memperc%
${membar 3,100}
${color slate grey}SWAP: ${color }$swapperc%
${swapbar 3,100}

${color slate grey}NET:
${color}Up: ${color }${upspeed eth0} k/s
${upspeedgraph eth0 20,130 000000 ffffff}
${color}Down: ${color }${downspeed eth0}k/s${color}
${downspeedgraph eth0 20,130 000000 ffffff}

${color slate grey}Mail:
${color lightgrey} ${new_mails} Inbox
${color lightgrey} ${new_mails $MAIL/some_maildir_folder/} More mail
# ... other mailboxes in the same fashion</pre>
]]></content:encoded>
			<wfw:commentRss>http://martin-grandrath.de/2008/05/how-does-your-conky-setup-look-like/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Linux für Webworker</title>
		<link>http://martin-grandrath.de/2008/05/linux-fuer-webworker/</link>
		<comments>http://martin-grandrath.de/2008/05/linux-fuer-webworker/#comments</comments>
		<pubDate>Fri, 09 May 2008 11:28:09 +0000</pubDate>
		<dc:creator>Martin Grandrath</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Surftipp]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.martin-grandrath.de/?p=45</guid>
		<description><![CDATA[Peter Kröner hat eine (bis jetzt) dreiteilige Artikelserie unter dem Titel Linux für Webworker veröffentlicht.  Im ersten Teil geht er auf ganz allgemeine Aspekte zum Thema Linux ein, erläutert was Linux bzw. GNU/Linux eigentlich ist und welche Gründe dafür oder dagegen sprechen sich mit Linux auseinanderzusetzen.  Anschließend zeigt er in Teil&#160;2 am Beispiel [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.peterkroener.de/" rel="external">Peter Kröner</a> hat eine (bis jetzt) dreiteilige Artikelserie unter dem Titel <a href="http://www.peterkroener.de/linux-fuer-webworker-teil-1-was-linux-ist-und-warum-man-sich-dafuer-interessieren-sollte/" rel="external">Linux für Webworker</a> veröffentlicht.  Im ersten Teil geht er auf ganz allgemeine Aspekte zum Thema Linux ein, erläutert was Linux bzw. GNU/Linux eigentlich ist und welche Gründe dafür oder dagegen sprechen sich mit Linux auseinanderzusetzen.  Anschließend zeigt er in <a href="http://www.peterkroener.de/linux-fuer-webworker-teil-2-unverbindliches-ausprobieren/" rel="external">Teil&nbsp;2</a> am Beispiel von Ubuntu wie man ein GNU/Linux-System mit Hilfe einer Live-CD unverbindlich und gefahrlos ausprobieren kann und stellt schließlich im <a href="http://www.peterkroener.de/linux-fuer-webworker-teil-3-programme-programme-programme/" rel="external">3.&nbsp;Teil</a> eine umfassende Liste verschiedener Programme in den Kategorien &raquo;Grafik und Design&laquo;, &raquo;IDEs und Editoren&laquo; und &raquo;Tools&laquo; vor.  Auch das Multimedia-Komplettpaket <a href="http://ubuntustudio.org/" rel="external">Ubuntu Studio</a> findet ebenso Erwähnung wie die Möglichkeit Windows-Software unter <a href="http://www.winehq.org/" rel="external">wine</a> zu betreiben. Eine ausführliche Beschreibung von wine ist für Teil&nbsp;4 angekündigt.  Man darf gespannt sein&#8230;</p>
<p><strong>Update:</strong> Kurz nachdem ich dieses Posting geschrieben hatte, ist nun auch der <a href="http://www.peterkroener.de/linux-fuer-webworker-teil-4-photoshop-und-andere-windows-anwendungen-unter-linux/">4.&nbsp;Teil</a> erschienen.  Er befasst sich wie angekündigt mit unterschiedlichen Möglichkeiten, Windows-Programme unter Linux zu nutzen und enthält ein Mini-HOWTO zur Installation von Photoshop unter Ubuntu mit Hilfe von wine.</p>
]]></content:encoded>
			<wfw:commentRss>http://martin-grandrath.de/2008/05/linux-fuer-webworker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remote-Desktop per VNC mit Debian</title>
		<link>http://martin-grandrath.de/2008/05/remote-desktop-per-vnc-mit-debian/</link>
		<comments>http://martin-grandrath.de/2008/05/remote-desktop-per-vnc-mit-debian/#comments</comments>
		<pubDate>Thu, 08 May 2008 12:35:18 +0000</pubDate>
		<dc:creator>Martin Grandrath</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Remote Desktop]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[VNC]]></category>

		<guid isPermaLink="false">http://www.martin-grandrath.de/?p=44</guid>
		<description><![CDATA[Ich betreue diverse Desktop-Computer von Anwendern, die (wie soll ich sagen) &#187;unbedarft&#171; in Sachen PC-Bedienung sind.  Daher kommt es bisweilen vor, dass mich Anfragen erreichen, die nur schwer oder gar nicht per E-Mail oder Telefon aus der Ferne zu beantworten sind.  Aus diesem Grund habe ich nach einer Möglichkeit gesucht, mir bei Bedarf [...]]]></description>
			<content:encoded><![CDATA[<p>Ich betreue diverse Desktop-Computer von Anwendern, die (wie soll ich sagen) &raquo;unbedarft&laquo; in Sachen PC-Bedienung sind.  Daher kommt es bisweilen vor, dass mich Anfragen erreichen, die nur schwer oder gar nicht per E-Mail oder Telefon aus der Ferne zu beantworten sind.  Aus diesem Grund habe ich nach einer Möglichkeit gesucht, mir bei Bedarf den Desktop des jeweiligen Anwenders auf meinen Bildschirm zu holen.</p>
<p>Das GNOME-Environment bringt zwar schon eine entsprechende Funktion mit, die den eigenen Desktop für einen Zugriff von außen freigibt, diese basiert aber leider auf &raquo;reinem&laquo; VNC, d.h. die Daten der Verbindung werden unverschlüsselt übertragen.  In einem LAN mag das gehen, für die Übertragung im Internet habe ich nach einer verschlüsselten Variante gesucht.</p>
<p>Letztlich habe ich mich dafür entschieden, eine VNC-Verbindung über ssh zu tunneln.  NX habe ich mir zwar auch angesehen, der Client unterstützt aber leider keine Pubkey-Authentifizierung und war auch sonst in der Bedienung eher umständlich.  Das System auf beiden Seiten ist jeweils Debian GNU/Linux &raquo;Etch&laquo; und so geht es:</p>
<p><span id="more-44"></span></p>
<h3>1. ddclient</h3>
<p>Zunächst muss dafür gesorgt werden, dass man den zu betreuenden Rechner auch erreichen kann.  Sofern dieser keine statische IP-Adresse hat, muss man auf Dienste wie z.B. DynDNS oder easyDNS ausweichen.</p>
<p>Ist der betreffende Rechner direkt mit dem Internet (ohne Router) verbunden, gibt es hier keine Hürden:</p>
<pre class="code"># aptitude install ddclient</pre>
<p> installiert <code>ddclient</code>, das sich mit einer ganzen Reihe von Diensten verwenden lässt.  Debconf fragt direkt nach allen relevanten Konfigurationsparametern, die man später wie gewohnt durch den Aufruf von <code>dpkg-reconfigure ddclient</code> noch ändern kann. <code>ddclient</code> meldet dann die aktuelle IP-Adresse an den jeweiligen Dienst, sobald eine Internetverbindung hergestellt wird.</p>
<p>Ein wenig komplizierter wird es, wenn ein Router ins Spiel kommt.  In diesem Fall muss sich nämlich dieser um das Update beim DNS-Dienst kümmern &#8212; ob der jeweilige Router dies kann, ist der entsprechenden Dokumentation zu entnehmen.  Darüber hinaus muss noch ein <em>Port Forwarding</em> eingerichtet werden, d.h. alle Verbindungen auf einen Port am Router werden zu einem Port eines der angeschlossenen Rechner weitergeleitet.  Auch hierfür sei auf die Dokumentation des Herstellers verwiesen.</p>
<h3>2. ssh</h3>
<p>Sofern noch nicht vorhanden, muss auf dem Zielrechner ein ssh-Server installiert werden:</p>
<pre class="code"># aptitude install openssh-server</pre>
<p>Aus Sicherheitsgründen sollte auf jeden Fall der Login für root gesperrt und auch Passwort-Logins deaktiviert werden.  Diese Zeilen müssen dafür in <code>/etc/ssh/sshd_config</code> stehen:</p>
<pre class="code">PermitRootLogin no
PasswordAuthentication no
UsePAM no</pre>
<p>Als nächstes ist ein Schlüsselpaar zu erzeugen und dessen öffenlicher Teil den autorisierten Schlüsseln des zu betreuenden Benutzerkontos hinzuzufügen:
<pre class="code">$ ssh-keygen -t dsa -f /path/to/id_file
# cat /path/to/id_file &gt;&gt; /home/username/.ssh/authorized_keys</pre>
<p>Den geheimen Teil des Schlüssels sollte man auf keinen Fall auf dem PC des Anwenders zurücklassen!  Die Gefahr, dass der Schlüssel und damit der Zugang zu dem Rechner in Hände gerät, in die er nicht gehört, ist groß.  Am besten erzeugt man sich ein entsprechendes &raquo;Support&laquo;-Schlüsselpaar zu Hause und nimmt es auf einem USB-Stick mit.</p>
<h3>3. VNC</h3>
<p>Als letztes muss noch der VNC-Server installiert werden:
<pre class="code"># aptitude install x11vnc</pre>
<p>Als letztes muss noch ein Passwort für diesen vergeben werden.  Dazu füht man im Kontext des zu betreuenden Nutzers folgenden Befehl aus:
<pre class="code">$ x11vnc -storepasswd ~/.vnc/passwd</pre>
<p>Das Passwort ist wichtig, da sonst ein Zugriff auf den VNC-Server durch andere Benutzer, die auf dem gleichen PC angemeldet sind, möglich wäre.</p>
<p>Damit ist die Konfiguration abgeschlossen und man kann sich mit dem Rechner verbinden.</p>
<h3>4. Eine Verbindung aufbauen</h3>
<p>Wir befinden uns jetzt wieder am eigenen PC und möchten den Desktop unseres Nutzers auf unseren Monitor holen.  Dazu wird zunächst der VNC-Server auf dem entfernten Rechner gestartet und dessen Port (5900) auf (den eigenen) localhost umgeleitet:
<pre class="code">$ ssh -C -i /path/to/id_file -L 5900:localhost:5900 USER@HOST "x11vnc -localhost -display :0 -rfbauth ~/.vnc/passwd"</pre>
<p>Zur Erklärung:</p>
<ul>
<li><code>-C</code> komprimiert die übertragenen Daten</li>
<li><code>/path/to/id_file</code> muss ersetzt werden durch den Pfad zum privatekey</li>
<li><code>-L 5900:localhost:5900</code> leitet Port 5900 des entfernten Rechners auf Port 5900 von localhost um</li>
<li><code>USER</code> und <code>HOST</code> sind durch den Benutzernamen und den (dynamischen) Hostnamen zu ersetzen</li>
<li>Der Rest der Zeile ist das Kommando, das auf dem entfernten Rechner ausgeführt werden soll: starten des VNC-Servers und Bereitstellung des Displays <code>:0</code> auf localhost</li>
</ul>
<p>Das Ergebnis sollte eine Meldung sein, dass der VNC-Server erfolgreich gestartet wurde und auf Verbindungen wartet.</p>
<p>Nun kann man sich mit einem VNC-Client der Wahl (z.B. vncviewer) am Server anmelden:
<pre class="code">$ vncviewer localhost</pre>
<p>Nach Eingabe des Passwortes ist man nun mit dem Desktop des entfernten PCs verbunden.</p>
<h3>Noch ein Hinweis</h3>
<p><strong>Ich möchte ausdrücklich darauf hinweisen, dass selbstverständlich das Einverständnis des jeweiligen Benutzers vorliegen muss, bevor man sich mit dessen Computer verbindet!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://martin-grandrath.de/2008/05/remote-desktop-per-vnc-mit-debian/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firefox Beta in Ubuntu LTS</title>
		<link>http://martin-grandrath.de/2008/04/firefox-beta-in-ubuntu-lts/</link>
		<comments>http://martin-grandrath.de/2008/04/firefox-beta-in-ubuntu-lts/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 15:40:52 +0000</pubDate>
		<dc:creator>Martin Grandrath</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Distribution]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.martin-grandrath.de/?p=21</guid>
		<description><![CDATA[Eben im Heise-Newsticker:
Wie auch die letzte LTS-Version Ubuntu 6.06 legt das aktuelle Release 8.04 mit dem Namen &#187;Hardy Heron&#171; den Fokus mehr auf Stabilität und Bedienerfreundlichkeit als auf sensationelle neue Features.
Nun, das ist ja die Idee bei der LTS-Version, mit der vor allem Unternehmenskunden angesprochen werden sollen. Drei Zeilen weiter liest man dann aber das:
Als [...]]]></description>
			<content:encoded><![CDATA[<p>Eben im <a href="http://www.heise.de/newsticker/meldung/106982" rel="external">Heise-Newsticker</a>:</p>
<blockquote><p>Wie auch die letzte LTS-Version Ubuntu 6.06 legt das aktuelle Release 8.04 mit dem Namen &raquo;Hardy Heron&laquo; den Fokus mehr auf Stabilität und Bedienerfreundlichkeit als auf sensationelle neue Features.</p></blockquote>
<p>Nun, das ist ja die Idee bei der <abbr title="Long term support">LTS</abbr>-Version, mit der vor allem Unternehmenskunden angesprochen werden sollen. Drei Zeilen weiter liest man dann aber das:</p>
<blockquote><p>Als erste Linux-Distribution installiert Ubuntu 8.04 den neuen Firefox 3 als Standardbrowser.</p></blockquote>
<p>Was bitte hat eine Betaversion in einem Stablerelease zu suchen? &#8212; Diese Distribution wird mir kontinuierlich unsympatischer&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://martin-grandrath.de/2008/04/firefox-beta-in-ubuntu-lts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#187;pgp_autoencrypt&#171; für mutt automatisieren</title>
		<link>http://martin-grandrath.de/2008/04/pgp_autoencrypt-fuer-mutt-automatisieren/</link>
		<comments>http://martin-grandrath.de/2008/04/pgp_autoencrypt-fuer-mutt-automatisieren/#comments</comments>
		<pubDate>Mon, 21 Apr 2008 07:41:18 +0000</pubDate>
		<dc:creator>Martin Grandrath</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[GPG]]></category>
		<category><![CDATA[Mutt]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.martin-grandrath.de/?p=15</guid>
		<description><![CDATA[Mutt bietet von sich aus keine Möglichkeit Nachrichten an Empfänger, für die ein öffentlicher GPG-Schlüssel vorhanden ist, automatisch zu verschlüsseln. Man kann zwar die Option pgp_autoencrypt aktivieren, dies führt aber dazu, dass mutt versucht jede E-Mail zu verschlüsseln, was man dann regelmäßig vor dem Absenden deaktivieren muss, wenn der Empfänger keinen public key hat. Die [...]]]></description>
			<content:encoded><![CDATA[<p>Mutt bietet von sich aus keine Möglichkeit Nachrichten an Empfänger, für die ein öffentlicher GPG-Schlüssel vorhanden ist, automatisch zu verschlüsseln. Man kann zwar die Option <code>pgp_autoencrypt</code> aktivieren, dies führt aber dazu, dass mutt versucht <em>jede</em> E-Mail zu verschlüsseln, was man dann regelmäßig vor dem Absenden deaktivieren muss, wenn der Empfänger keinen public key hat. Die Alternative (<code>pgp_autoencrypt</code> deaktivieren) ist auch nicht sehr benutzerfreundlich, weil man hier viel zu leicht vergessen kann, die Verschlüsselung im Einzelfall zu aktivieren.<br />
<span id="more-15"></span></p>
<h3>Abhilfe</h3>
<p>Abhilfe schafft die Möglichkeit die automatische Verschlüsselung zunächst global zu deaktivieren und mit so genannten <code>send-hook</code>s für einzelne Empfängeradressen (eben diejenigen, für die ein Schlüssel vorhanden ist) wieder zu aktivieren. In der <code>~/.muttrc</code> sieht das Ganze dann so aus:</p>
<pre class="code">send-hook . 'unset pgp_autoencrypt'
send-hook '~t my-friend@example.com' 'set pgp_autoencrypt'</pre>
<p>Die erste Zeile deaktiviert (unset) automatische Verschlüsselung für alle Empfänger (der &#8216;.&#8217; trifft immer zu). In der zweiten Zeile wird nun die Verschlüsselung wieder aktiviert und zwar immer dann, wenn eine Mail an <code>my-friend@example.com</code> adressiert wird (der Schalter &#8216;<code>~t</code>&#8216; bezieht das Suchmuster auf das Empfänger-Feld (To:). Den passenden Schlüssel kann mutt dann selbst ermitteln, sofern <code>pgp_list_pubring_command</code> korrekt gesetzt ist.</p>
<p>Nun ist es alles andere als praktikabel für jeden einzelnen Empfänger, der einen GPG-Schlüssel besitzt, eine separate Zeile in der Konfigurationsdatei hinzuzufügen, zumal diese Information ja bereits existiert: im public keyring. Netterweise bietet GPG eine komfortable Möglichkeit, die Liste der vorhandenen Schlüssel automatisiert zu verarbeiten und zwar mit Hilfe der Schalter &raquo;<code>--list-keys --with-colons</code>&raquo;. Das Ergebnis ist eine Liste mit 15 durch Doppelpunkte getrennten Feldern. Für unsere Zwecke benötigen wir nur drei davon:</p>
<ul>
<li>Feld 1 enthält den Typ der Zeile. Uns interessieren nur diejenigen vom Typ <code>pub</code> und <code>uid</code>.</li>
<li>Feld 2 enthält den berechneten trust level. Ich habe mich dafür entschieden, alle Schlüssel zu berücksichtigen, denen ich mindestens &raquo;marginally&laquo; (&#8217;m') vertraue. Des Weiteren steht &#8216;f&#8217; für &raquo;fully&laquo; und &#8216;u&#8217; für &raquo;ultimately&laquo; trusted.</li>
<li>Feld 10 enthält die eigentliche UID, also den Namen und die E-Mail-Adresse.</li>
</ul>
<p>Als regulärer Ausdruck ergibt sich damit</p>
<pre class="code">/^(uid|pub):[mfu]:(.*:){7}.* &lt;(.+@.+)&gt;:/</pre>
<p>Die vollständige Dokumentation dieses Formats findet sich übrigens in der Datei <code>DETAILS.gz</code> im Dokumentationsverzeichnis von GnuPG (z.B. bei Debian <code>/usr/share/doc/gnupg/</code>).</p>
<h3>Alles zusammen</h3>
<p>Das folgende Script prüft zunächst, ob eine Cache-Datei existiert und diese neuer als der public keyring ist. Wenn das der Fall ist, wird einfach diese Datei ausgegeben. Andernfalls die oben beschriebene Liste aller Schlüssel mit <code>gpg --list-keys --with-colons</code> und daraus entsprechende Konfigurationszeilen für mutt erzeugt. Eingebunden wird das Script mit der Zeile</p>
<pre class="code">source ~/.muttrc.gpg.pl|</pre>
<p>in der <code>~/.muttrc</code> (das Pipe-Symbol (|) am Ende nicht vergessen!).</p>
<p>Falls die Cache-Datei nicht existiert und der Keyring einigermaßen groß ist (bei mir sind es derzeit etwas über 1800 Zeilen), verzögert sich der Start von mutt um wenige Sekunden, was durchaus im Rahmen des Erträglichen liegt.</p>
<pre class="code perl">#!/usr/bin/perl

# file:    ~/.muttrc.gpg.pl
# author:  Martin Grandrath &lt;mail@martin-grandrath.de&gt;
# date:    2008-04-19
#
# description:
#   Creates .muttrc lines in the form
#   ,----
#   | send-hook '~t trusted@example.com' 'set pgp_autoencrypt'
#   `----
#   for each trusted uid in your gpg public keyring.  The output is
#   stored in a cache file that will be refreshed whenever the keyring
#   is newer than the cache file (mtime).
#
#   This script can be included in ~/.muttrc with the following line
#   (don't forget the trailing pipe (|))
#   ,----
#   | source ~/.muttrc.gpg.pl|
#   `----

use strict;
use warnings;
use File::stat;

my $cachefile="$ENV{HOME}/.cache/muttrc.gpg";
my $keyring="$ENV{HOME}/.gnupg/pubring.gpg";

if (-s $cachefile &amp;&amp; -s $keyring &amp;&amp;
    stat($cachefile)-&gt;mtime &gt; stat($keyring)-&gt;mtime)
{
    # Just dump cachefile to stdout if it exists and is not older than
    # keyring
    open FILE, $cachefile or die "ERROR: $!\n";
    print while (&lt;FILE&gt;);
    close FILE;
}
else
{
    my %count;   # count adresses (we want no duplicates)
    my $address; # email addresses from keyring

    # Create new muttrc config and "tee" it to stdout and the
    # cachefile
    open STDOUT, "| tee $cachefile" or die "ERROR: $!\n";
    open GPG, '/usr/bin/gpg --list-keys --with-colons |' or die "Error: $!\n";

    # let mutt reset all autoencrypt settings
    print "send-hook . 'unset pgp_autoencrypt'\n";

    while (&lt;GPG&gt;)
    {
        # Get all keys which we at least "marginally" trust
        if (/^(uid|pub):[mfu]:(.*:){7}.* &lt;(.+@.+)&gt;:/)
        {
            $address = lc($3);
            $count{$address} += 1;

            # Output new send-hook line if address is no duplicate
            print "send-hook '~t $address' 'set pgp_autoencrypt'\n"
                if ($count{$address} &lt; 2);
        }
    }
    close GPG;
    close STDOUT;
}</pre>
<p>Ich setze hier voraus, dass alle E-Mails verschlüsselt werden sollen, sobald die Möglichkeit dazu besteht. Möchte man einzelne Empfänger von dieser Regel ausnehmen, kann man für diese natürlich nach der Einbindung des Scriptes weitere <code>send-hook</code>s anlegen, die die automatische Verschlüsselung wieder deaktivieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://martin-grandrath.de/2008/04/pgp_autoencrypt-fuer-mutt-automatisieren/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>FluX-Stammtisch ab sofort regelmäßig</title>
		<link>http://martin-grandrath.de/2008/04/flux-stammtisch-ab-sofort-regelmaessig/</link>
		<comments>http://martin-grandrath.de/2008/04/flux-stammtisch-ab-sofort-regelmaessig/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 11:48:45 +0000</pubDate>
		<dc:creator>Martin Grandrath</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[FluX]]></category>
		<category><![CDATA[TU Freiberg]]></category>

		<guid isPermaLink="false">http://www.martin-grandrath.de/?p=7</guid>
		<description><![CDATA[Die Freiberger Linux User Group (FluX) trifft sich ab sofort regelmäßig jeweils am 4.&#160;Sonntag im Monat im Steiger des EAC. Los geht es diesen Monat, d.h. am 27.&#160;April.
]]></description>
			<content:encoded><![CDATA[<p>Die <a href="http://www.flux.tu-freiberg.de/" rel="external">Freiberger Linux User Group (FluX)</a> trifft sich ab sofort regelmäßig jeweils am 4.&nbsp;Sonntag im Monat im Steiger des <a href="http://www.club.tu-freiberg.de/" rel="external">EAC</a>. Los geht es diesen Monat, d.h. am 27.&nbsp;April.</p>
]]></content:encoded>
			<wfw:commentRss>http://martin-grandrath.de/2008/04/flux-stammtisch-ab-sofort-regelmaessig/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Das Uni-Netz der TU Freiberg mit Linux</title>
		<link>http://martin-grandrath.de/2008/04/das-uni-netz-der-tu-freiberg-mit-linux/</link>
		<comments>http://martin-grandrath.de/2008/04/das-uni-netz-der-tu-freiberg-mit-linux/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 14:56:36 +0000</pubDate>
		<dc:creator>Martin Grandrath</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Studium]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[TU Freiberg]]></category>

		<guid isPermaLink="false">http://www.martin-grandrath.de/?p=5</guid>
		<description><![CDATA[Da die Seiten des URZ der TU Bergakademie Freiberg ein wenig unübersichtlich sind (insbesondere, was Linux angeht), habe ich hier alle Infos, die ich mir zusammensuchen musste, einmal aufgelistet. Alle Zugänge beziehen sich auf einen Internet-Zugang außerhalb des Uni-Netzes.
Diese Liste soll weder die Info-Seiten des URZ ersetzen, noch erhebt sie einen Anspruch auf Vollständigkeit. Es [...]]]></description>
			<content:encoded><![CDATA[<p>Da die Seiten des <a href="http://www.tu-freiberg.de/urz/" rel="external">URZ der TU Bergakademie Freiberg</a> ein wenig unübersichtlich sind (insbesondere, was Linux angeht), habe ich hier alle Infos, die ich mir zusammensuchen musste, einmal aufgelistet. Alle Zugänge beziehen sich auf einen Internet-Zugang <em>außerhalb</em> des Uni-Netzes.</p>
<p>Diese Liste soll weder die Info-Seiten des URZ ersetzen, noch erhebt sie einen Anspruch auf Vollständigkeit. Es ist lediglich eine Zusammenstellung von Tipps, die sich für mich als nützlich erwiesen haben. Ergänzungen sind jederzeit willkommen.<br />
<span id="more-5"></span></p>
<p>Alle Zugänge setzen selbstverständlich einen Account im Rechenzentrum voraus. Von diesem hängt auch ab, welche Dienste du in der Uni nutzen kannst.</p>
<h3>Fileserver</h3>
<p>Für Studenten von Network Computing stehen zwei Fileserver für eigene Daten zur Verfügung: </p>
<ol>
<li>
<p><strong><code>f100.mathe.tu-freiberg.de</code></strong></p>
<p>Hier finden sich neben dem obligatorischen &#8216;Eigene Dateien&#8217; noch ein Verzeichnis &#8216;public_html&#8217;, das über <code>http://www.informatik.tu-freiberg.de/~username</code> erreichbar ist. Außerdem liegen hier noch Vorlesungs- und Übungsunterlagen der IfI-Lehrveranstaltungen.</p>
</li>
<li>
<p><strong><code>znlserv.hrz.tu-freiberg.de</code></strong></p>
<p>Hier liegt das eMail-Verzeichnis, das per POP3, IMAP oder Web-Interface abgerufen werden kann.</p>
</li>
</ol>
<h3>ssh</h3>
<p>Am bequemsten ist der Zugang zum privaten Verzeichnis auf dem zentralen Fileserver <code>znlserv</code>. Auf dieses kann man nämlich einfach per <a href="http://www.openssh.com/" rel="external"><code>ssh</code></a> mit</p>
<pre class="code">ssh username@sshproxy.hrz.tu-freiberg.de</pre>
<p>zugreifen. (Siehe auch die entsprechende <a href="http://www.tu-freiberg.de/urz/anleitungen/ssh/" rel="external">Anleitung des URZ zu <code>ssh</code></a>)</p>
<p>Der Datenaustausch klappt dementsprechend einfach mit <code>scp</code> oder auch <code>sftp</code> entweder in der Shell </p>
<pre class="code">sftp username@sshproxy.hrz.tu-freiberg.de</pre>
<p>oder natürlich auch mit einem graphischen Client der Wahl (<a href="http://gftp.seul.org/" rel="external">gFTP</a>, o.ä.) </p>
<p>Der Zugriff auf die smb-Freigaben des Uni-Netzes (z.B. des <a href="http://www.informatik.tu-freiberg.de/" rel="external">Instituts für Informatik</a>) klappt dagegen nur über eine VPN-Verbindung.</p>
<h3>VPN</h3>
<p>Zum Aufbau einer VPN-Verbindung zum Uni-Netz empfiehlt es sich, entgegen der <a href="http://www.tu-freiberg.de/urz/netze/vpn/linux_vpnclient_installation.html" rel="external">Beschreibung des URZ</a>, statt des Cisco eigenen Clients <a href="http://www.unix-ag.uni-kl.de/~massar/vpnc/" rel="external"><code>vpnc</code></a> zu verwenden, da man sich so das Kompilieren von Kernelmodulen sparen kann.</p>
<p>Um <code>vpnc</code> verwenden zu können, wird die Konfigurationsdatei <code>/etc/vpnc/default.conf</code> mit folgendem Inhalt angelegt:</p>
<pre class="code">IPSec gateway 139.20.201.100
IPSec ID world
IPSec secret world
Xauth username DEIN_USERNAME
Xauth password DEIN_PASSWORT

# If Target networks is defined here, the default route is not replaced!
Target networks 139.20.0.0/16

# Don't update resolv.conf though resolvconf is installed
DNSUpdate no</pre>
<p>Da diese Datei das Uni-Passwort im Klartext enthält, sollte man die Rechte mit </p>
<pre class="code">chmod go-rw /etc/vpnc/default.conf</pre>
<p>setzen. Um dann das VPN ohne root-Rechte starten zu können, benutzt man das Tool <a href="http://www.sudo.ws/" rel="external"><code>sudo</code></a>, das ggf. noch zu installieren ist. </p>
<p>Mit <code>visudo</code> werden die Befehle <code>vpnc-connect</code> und <code>vpnc-disconnect</code> in <code>/etc/sudoers</code> eingetragen:</p>
<pre class="code">Host_Alias  LOCAL = localhost, 127.0.0.1
User_Alias  STUDENT = LOKALER_BENUTZERNAME
Cmnd_Alias  VPNCONN = /usr/sbin/vpnc-*connect
STUDENT     LOCAL = NOPASSWD: VPNCONN</pre>
<p>Dabei ist <code>LOKALER_BENUTZERNAME</code> der lokale Benutzer, der die Verbindung aufbauen darf. </p>
<p>Anschließend kann die Verbindung mit </p>
<pre class="code">sudo vpnc-connect</pre>
<p>gestartet werden. </p>
<p>Man kann auf das hinterlegen des Passwortes auch verzichten und <code>Xauth interactive</code> anstelle von <code>Xauth password ...</code> verwenden. Dann fragt vpnc beim Aufbau der Verbindung nach dem Passwort.</p>
<h3>WLAN</h3>
<p>Der Zugang ins <a href="http://www.tu-freiberg.de/urz/netze/wlan/tubafun.html" rel="external">WLAN</a> funktioniert im Wesentlichen wie der externe Zugang über VPN. Für die eigentliche Funkverbindung reicht es, als essid <code>tubafun</code> zu verwenden und eine IP-Adresse per DHCP zu beziehen. WEP- u.a. Verschlüsselungen sind abzuschalten &#8211; das VPN sorgt für die nötige Sicherheit. </p>
<p>Der Unterschied liegt allein in der Konfigurationsdatei für <code>vpnc</code>. Sollen auf einem Rechner beide Möglichkeiten genutzt werden können, bietet es sich an, eine zweite Konfigurationsdatei zu erstellen. </p>
<p>Inhalt von <code>/etc/vpnc/wlan.conf</code>:</p>
<pre class="code">IPSec gateway 172.17.1.100
IPSec ID wlan
IPSec secret wlan
Xauth username DEIN_USERNAME
Xauth password DEIN_PASSWORT</pre>
<p>Der Zugang kann jetzt mit </p>
<pre class="code">sudo vpnc-connect wlan</pre>
<p>gestartet werden.</p>
<h3>Windows-Freigaben (smb)</h3>
<p>Sobald das VPN einmal steht, kann man bequem die verfügbaren Freigaben mounten. Dazu erstellt man sich die passenden Mountpunkte (z.B. <code>/mnt/f100/lehre</code> usw.) und testet das ganze zunächst am besten auf der Konsole:</p>
<pre class="code"># mount -t smbfs -o username=DEIN_USERNAME,password=DEIN_PASSWORT //f100.mathe.tu-freiberg.de/lehre /mnt/f100/lehre</pre>
<p>Hat das geklappt, kann man sich das Leben etwas vereinfachen, und entsprechende Einträge in der <code>/etc/fstab</code> vornehmen, damit man den ganzen Sermon nicht jedesmal neu eintippen muss.</p>
<p>Dabei empfiehlt es sich, den Benutzernamen und das Passwort in einer separaten Datei abzulegen, auf die nur root zugriff hat. Der Pfad und der Name der Datei sind dabei beliebig, der Username oder das Passwort dürfen allerdings nicht mit einem Leerzeichen beginnen. </p>
<p>Inhalt von <code>/etc/tubaf.cred</code>:</p>
<pre class="code">username = DEIN_USERNAME
password = DEIN_PASSWORT</pre>
<p>Diese Datei kann man jetzt mit dem Parameter <code>credentials</code> an <code>smbmount</code> übergeben. Die Parameter <code>uid</code> und <code>gid</code> legen den Benutzer und die Gruppe fest, dem die eingebunde Freigabe gehört. <code>fmask</code> und <code>dmask</code> schließlich setzen noch die Rechtemaske für Dateien und Verzeichnisse. </p>
<p>Auszug aus <code>/etc/fstab</code>:</p>
<pre class="code">//f100.mathe.tu-freiberg.de/username /mnt/f100/home smbfs noauto,credentials=/etc/tubaf.cred,uid=1000,gid=1000,fmask=640,dmask=750 0 0

//f100.mathe.tu-freiberg.de/lehre /mnt/f100/lehre  smbfs noauto,credentials=/etc/tubaf.cred,uid=1000,gid=1000,fmask=444,dmask=555 0 0

//znlserv.hrz.tu-freiberg.de/username /mnt/znlserv smbfs noauto,credentials=/etc/tubaf.cred,uid=1000,gid=1000,fmask=640,dmask=750 0 0</pre>
<p>Leider funktioniert das Mounten dieser Verzeichnisse nur mit root-Rechten. (Falls jemand etwas anderes weiß: Bitte mailen!) Also kommt auch hier wieder <code>sudo</code> zum Zuge. Dazu ergänzt man mit <code>visudo</code> die Zeilen </p>
<pre class="code">Cmnd_Alias UNI_SRV = /bin/*mount /mnt/f100/*, /bin/*mount /mnt/znlserv/
STUDENT    LOCAL = NOPASSWD: UNI_SRV</pre>
<p>Die Mountpunkte sind natürlich ggf. anzupassen. Der Asterisk (&#8217;*') als Wildcard sorgt dafür, dass sowohl <code>/bin/mount</code> als auch <code>/bin/umount</code> zugelassen werden. </p>
<p>Wenn alles zur Zufriedenheit läuft, spricht nichts dagegen, alles zusammen mit dem Aufbau des VPNs in ein Script zu schreiben und nach Belieben auf ein Icon o.ä. zu legen: </p>
<pre class="code bash">#!/bin/sh
#
# uniconnect.sh
# Connect to vpn and mount server shares

sudo vpnc-connect &#038;&#038; (
    sudo mount /mnt/f100/home/
    sudo mount /mnt/f100/lehre/
    sudo mount /mnt/znlserv/
)</pre>
<h3>Weitere Tipps</h3>
<p>Die <a href="http://www.flux.tu-freiberg.de/" rel="external">Freiberger Linux User Group (FluX)</a> bietet auf ihrer Homepage <a href="http://www.flux.tu-freiberg.de/nuetzliches.html" rel="external">weitere Tipps</a> zum Thema an.</p>
]]></content:encoded>
			<wfw:commentRss>http://martin-grandrath.de/2008/04/das-uni-netz-der-tu-freiberg-mit-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

