<?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>Matthias Lohr&#039;s technical stuff &#187; Linux</title>
	<atom:link href="http://www.matthias-lohr.net/tag/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://www.matthias-lohr.net</link>
	<description>&#34;do nothing, successfully&#34; -- man true</description>
	<lastBuildDate>Sun, 18 Dec 2011 14:00:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>DMX mit Linux</title>
		<link>http://www.matthias-lohr.net/222/dmx-mit-linux?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=dmx-mit-linux</link>
		<comments>http://www.matthias-lohr.net/222/dmx-mit-linux#comments</comments>
		<pubDate>Sat, 09 Apr 2011 14:02:36 +0000</pubDate>
		<dc:creator>Matthias Lohr</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[DMX]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.matthias-lohr.net/?p=222</guid>
		<description><![CDATA[Lang lang ists her, da haben wir mal mit ein paar Leuten angefangen, uns mit DMX zu beschäftigen. Nach vielerlei Versuchen sind wir irgendwann auf das DMX-Interface von Digital Enlightenment gestoßen, welches (wenn Elektronik-Grundkenntnisse vorhanden sind) leicht selbstzubauen ist. Leider gab es dafür aber keine Linux-Treiber oder sonstwas, weswegen wir einen kleinen Versuch starteten, diesen [...]]]></description>
			<content:encoded><![CDATA[<p>Lang lang ists her, da haben wir mal mit ein paar Leuten angefangen, uns mit DMX zu beschäftigen. Nach vielerlei Versuchen sind wir irgendwann auf das DMX-Interface von <a href="http://www.digital-enlightenment.de/">Digital Enlightenment</a> gestoßen, welches (wenn Elektronik-Grundkenntnisse vorhanden sind) leicht selbstzubauen ist. Leider gab es dafür aber keine Linux-Treiber oder sonstwas, weswegen wir einen kleinen Versuch starteten, diesen Treiber selbst zu schreiben.</p>
<p>Um nicht lange um den heißen Brei herumzureden: Wir haben es nicht geschafft (Zeit, Lust, und andere Ausreden&#8230;). Gestern hab ich nun eine nette Mail bekommen, dass es ab sofort unter <a href="https://github.com/fx5/usbdmx">https://github.com/fx5/usbdmx</a> einen Linux-Treiber gibt. Vielen Dank an Frank Sievertsen für den freundlichen Hinweis und die Entwicklung eines solchen Treibers!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthias-lohr.net/222/dmx-mit-linux/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebDAV-Server &#8211; Ich will nicht mehr</title>
		<link>http://www.matthias-lohr.net/208/webdav-server-ich-will-nicht-mehr?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=webdav-server-ich-will-nicht-mehr</link>
		<comments>http://www.matthias-lohr.net/208/webdav-server-ich-will-nicht-mehr#comments</comments>
		<pubDate>Thu, 03 Feb 2011 12:22:33 +0000</pubDate>
		<dc:creator>Matthias Lohr</dc:creator>
				<category><![CDATA[ZIMK]]></category>
		<category><![CDATA[LDAP]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Redmine]]></category>
		<category><![CDATA[WebDAV]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.matthias-lohr.net/?p=208</guid>
		<description><![CDATA[WebDAV? Der Begriff ist normalerweise nicht unbekannt, gerade für Remote-Laufwerke für z. B. Backuplösungen usw. werden WebDAV-Server sehr gerne verwendet, zumal sie selten durch Firewalls und/oder Proxies geblockt werden. Als dann an der Uni nach einem WebDAV-Server gefragt wurde, dachte ich &#8220;klar, kein Problem, ist bestimmt schnell einzurichten&#8221; &#8211; Fail. Es stimmt, an sich ist [...]]]></description>
			<content:encoded><![CDATA[<p>WebDAV? Der Begriff ist normalerweise nicht unbekannt, gerade für Remote-Laufwerke für z. B. Backuplösungen usw. werden WebDAV-Server sehr gerne verwendet, zumal sie selten durch Firewalls und/oder Proxies geblockt werden. Als dann an der Uni nach einem WebDAV-Server gefragt wurde, dachte ich &#8220;klar, kein Problem, ist bestimmt schnell einzurichten&#8221; &#8211; Fail.<span id="more-208"></span></p>
<p>Es stimmt, an sich ist es nicht schwer, einen WebDAV-Server aufzusetzen. Ein (klein) wenig spannender wird das schon, wenn man den Anspruch hat, dass der Server auch mit mehr als nur Linux kompatibel sein soll. Die ersten Selbstmordgedanken kommen dann, wenn man sich gegen LDAP authentifizieren möchte und spätestens, wenn dann noch ein System hinter dem WebDAV sitzen soll, welches Berechtigungen überprüft ist es gut, wenn alle Fenster des Raums auf Erdgeschosshöhe sind.</p>
<p>Zu den Problemen im Einzelnen:</p>
<ul>
<li><strong>Inkompatibilitäten:</strong> Windows verwendet eine nicht 100% kompatible Implementierung von WebDAV, d. h. dass man bestimmte Eigenheiten berücksichtigen muss, bevor Windows sich erfolgreich authentifizieren kann. Wenn der Server bereits beim initialisierenden OPTIONS-Request nach Benutzer/Passwort fragt, meckert Windows über eine ungültige Resource.</li>
<li><strong>LDAP:</strong> Für HTTP gibt es zwei Authentifizierungs-Methoden: Basic und Digest. Der Unterschied ist, dass bei Basic Auth das Passwort im Klartext übertragen, bei Digest ein gesalzener Hash verwendet wird. Die Schwierigkeit dabei ist, dass LDAP nur Abfragen zulässt á la &#8220;stimmt das Passwort hier?&#8221;, also nur mit Klartextpasswörtern arbeiten kann. Wenn man also LDAP verwenden möchte, muss man dabei die Basic Auth-Methode verwenden.<br />
Jetzt kommt aber wieder Microsoft und sagt: Nein, ohne SSL mag ich kein Basic Auth (oder, um ausführlicher zu sein: Manche Windows-Versionen mögen garkein Basic-Auth, manche nur per SSL und manchen ist es egal. Aber Dokumentationen dazu findet man, außer in der 1&amp;1-FAQ, nicht wirklich, von daher war das ein Probieren ohne Ende) .</li>
<li><strong>Redmine:</strong> Wenn man die ersten Hürden gemeistert hat, bleibt noch, die Authentifizierung über das Redmine-System laufen zu lassen. Es gibt von Redmine selbst ein Perl-Modul für Apache, welches die Authentifizierung für SVN übernehmen kann, testweise hat auch Git funktioniert, spannend (da ebenfalls mager dokumentiert) war, ob das auch für das normale WebDAV funktioniert &#8211; tut es.</li>
</ul>
<p>Wenn man also jetzt keine Ahnung hat, an welcher Stelle dieses Monstrums die vielen Fehler, die man um die Ohren geschmissen bekommt, verursacht werden verzweifelt man regelrecht an den immerwieder auftauchenden niederschmetternden Fehlermeldungen, die &#8211; ausführlich, wie man es von Windows und Konsorten gewohnt ist &#8211; lediglich besagen: &#8220;Geht nicht&#8221;.</p>
<p>Rückblickend kann ich sagen: War doch eigentlich ganz einfach, sofern man verstanden hat, was die einzelnen Systeme von einem wollen und wie man sie richtig konfiguriert. Hier mal meine Konfiguration, die man innerhalb eines SSL-vHosts verwenden kann, um WebDAV zu aktivieren:</p>

<div class="wp_syntax"><div class="code"><pre class="apache" style="font-family:monospace;">&lt;<span style="color: #000000; font-weight:bold;">Location</span> /webdav&gt;
<span style="color: #00007f;">DAV</span> <span style="color: #0000ff;">on</span>
<span style="color: #00007f;">AuthType</span> Basic
<span style="color: #00007f;">AuthName</span> <span style="color: #7f007f;">&quot;Redmine WebDAV&quot;</span>
PerlAccessHandler Apache::Authn::Redmine::access_handler
PerlAuthenHandler Apache::Authn::Redmine::authen_handler
RedmineDSN <span style="color: #7f007f;">&quot;DBI:Pg:dbname=redmine;host=localhost&quot;</span>
RedmineDbUser <span style="color: #7f007f;">&quot;redmine&quot;</span>
RedmineDbPass <span style="color: #7f007f;">&quot;topsecret&quot;</span>
&lt;<span style="color: #000000; font-weight:bold;">Limit</span> OPTIONS&gt;
<span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
<span style="color: #00007f;">Allow</span> from <span style="color: #0000ff;">all</span>
<span style="color: #00007f;">Require</span> valid-<span style="color: #00007f;">user</span>
<span style="color: #00007f;">Satisfy</span> any
&lt;/<span style="color: #000000; font-weight:bold;">Limit</span>&gt;
&lt;<span style="color: #000000; font-weight:bold;">LimitExcept</span> OPTIONS&gt;
<span style="color: #00007f;">Require</span> valid-<span style="color: #00007f;">user</span>
&lt;/<span style="color: #000000; font-weight:bold;">LimitExcept</span>&gt;
<span style="color: #00007f;">Options</span> +<span style="color: #0000ff;">Indexes</span>
&lt;/<span style="color: #000000; font-weight:bold;">Location</span>&gt;</pre></div></div>

<p>Viel Erfolg beim Einrichten!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthias-lohr.net/208/webdav-server-ich-will-nicht-mehr/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux-Rechner als Gateway zum Internet</title>
		<link>http://www.matthias-lohr.net/202/linux-rechner-als-gateway-zum-internet?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linux-rechner-als-gateway-zum-internet</link>
		<comments>http://www.matthias-lohr.net/202/linux-rechner-als-gateway-zum-internet#comments</comments>
		<pubDate>Tue, 01 Feb 2011 16:38:44 +0000</pubDate>
		<dc:creator>Matthias Lohr</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Auf die Schnelle]]></category>
		<category><![CDATA[Gateway]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.matthias-lohr.net/?p=202</guid>
		<description><![CDATA[Hallo! Da ich immer wieder gefragt werde (und auch selbst immer wieder nach den entsprechenden Zeilen im Internet suche), wie man einen Linux Rechner, der mit dem Internet verbunden ist, Gateway für andere PCs spielen lassen kann, die sehr einfache Lösung hier als Copy&#38;Paste. Bitte das Netzwerkinterface (bei mit eth0) anpassen, damit ist das ausgehende [...]]]></description>
			<content:encoded><![CDATA[<p>Hallo!</p>
<p>Da ich immer wieder gefragt werde (und auch selbst immer wieder nach den entsprechenden Zeilen im Internet suche), wie man einen Linux Rechner, der mit dem Internet verbunden ist, Gateway für andere PCs spielen lassen kann, die sehr einfache Lösung hier als Copy&amp;Paste. Bitte das Netzwerkinterface (bei mit eth0) anpassen, damit ist das ausgehende Netzwerkinterface des Gateway-Rechners gemeint:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>proc<span style="color: #000000; font-weight: bold;">/</span>sys<span style="color: #000000; font-weight: bold;">/</span>net<span style="color: #000000; font-weight: bold;">/</span>ipv4<span style="color: #000000; font-weight: bold;">/</span>ip_forward</pre></div></div>

<p>Jetzt bei dem/den Client-Rechner(n) die IP des Gateway-Rechners eintragen, fertig.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthias-lohr.net/202/linux-rechner-als-gateway-zum-internet/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VMWare: Pfeiltasten öffnen Windows Startmenü</title>
		<link>http://www.matthias-lohr.net/72/vmware-pfeiltasten-offnen-windows-startmenu?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=vmware-pfeiltasten-offnen-windows-startmenu</link>
		<comments>http://www.matthias-lohr.net/72/vmware-pfeiltasten-offnen-windows-startmenu#comments</comments>
		<pubDate>Tue, 12 May 2009 20:45:50 +0000</pubDate>
		<dc:creator>Matthias Lohr</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[VMWare]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.ml.vg/?p=72</guid>
		<description><![CDATA[Aus verschiedenen Gründen habe ich unter meinem Linux eine Installation von VMWare mit einem Windows XP als Gastsystem. Allerdings quält mich schon seit geraumer Zeit das Problem, dass als Reaktion auf die Pfeiltasten das Windows-Startmenü geöffnet wird, statt den Cursor in die gewünschte Richtung zu bewegen. Nach ein wenig Googlen habe ich dafür eine ganz [...]]]></description>
			<content:encoded><![CDATA[<p>Aus verschiedenen Gründen habe ich unter meinem Linux eine Installation von VMWare mit einem Windows XP als Gastsystem. Allerdings quält mich schon seit geraumer Zeit das Problem, dass als Reaktion auf die Pfeiltasten das Windows-Startmenü geöffnet wird, statt den Cursor in die gewünschte Richtung zu bewegen. Nach ein wenig Googlen habe ich dafür eine ganz einfache Lösung gefunden, die ich hier einfach auch mal auf Deutsch poste:</p>
<p>Im Home-Verzeichnis einfach (sofern nicht vorhanden) ein Verzeichnis mit dem Namen <em>.vmware</em> anlegen, dort eine Datei <em>config</em> die folgenden Inhalt bekommt:</p>
<blockquote><p>xkeymap.keycode.108  = 0&#215;138 # Alt_R<br />
xkeymap.keycode.106  = 0&#215;135 # KP_Divide<br />
xkeymap.keycode.104  = 0x11c # KP_Enter<br />
xkeymap.keycode.111 = 0&#215;148 # Up<br />
xkeymap.keycode.116 = 0&#215;150 # Down<br />
xkeymap.keycode.113 = 0x14b # Left<br />
xkeymap.keycode.114 = 0x14d # Right<br />
xkeymap.keycode.105 = 0x11d # Control_R<br />
xkeymap.keycode.118 = 0&#215;152 # Insert<br />
xkeymap.keycode.119 = 0&#215;153 # Delete<br />
xkeymap.keycode.110 = 0&#215;147 # Home<br />
xkeymap.keycode.115 = 0x14f # End<br />
xkeymap.keycode.112 = 0&#215;149 # Prior<br />
xkeymap.keycode.117 = 0&#215;151 # Next<br />
xkeymap.keycode.78 = 0&#215;46 # Scroll_Lock<br />
xkeymap.keycode.127 = 0&#215;100 # Pause<br />
xkeymap.keycode.133 = 0x15b # Meta_L<br />
xkeymap.keycode.134 = 0x15c # Meta_R<br />
xkeymap.keycode.135 = 0x15d # Menu</p></blockquote>
<p>Damit sollten die Probleme erledigt sein. Vielen Dank an <a href="http://throwingmywindows.blogspot.com/2008/12/vmware-arrow-key-problem.html">http://throwingmywindows.blogspot.com/2008/12/vmware-arrow-key-problem.html</a>, von dieser Seite habe ich diese Lösung.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthias-lohr.net/72/vmware-pfeiltasten-offnen-windows-startmenu/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Authentifizierung über libnss-mysql</title>
		<link>http://www.matthias-lohr.net/42/authentifizierung-uber-libnss-mysql?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=authentifizierung-uber-libnss-mysql</link>
		<comments>http://www.matthias-lohr.net/42/authentifizierung-uber-libnss-mysql#comments</comments>
		<pubDate>Sun, 22 Feb 2009 22:52:03 +0000</pubDate>
		<dc:creator>Matthias Lohr</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Authentifizierung]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[OpenVPN]]></category>

		<guid isPermaLink="false">http://blog.ml.vg/?p=42</guid>
		<description><![CDATA[Manchmal hat man den Wunsch, ein zentrales Benutzerverzeichnis über mehrere Server hinweg anzubieten. Bei solchen Szenarien fällt einem eigentlich sofort LDAP ein, allerdings kann es manchmal von Vorteil sein, eine datenbankbasierte Authentifikation durchzuführen. Nach ein wenig Recherche im großen Netz bin ich dann auf libnss-mysql gestoßen (zu meinem großen Bedauern hab ich kein libnss-pgsql für [...]]]></description>
			<content:encoded><![CDATA[<p>Manchmal hat man den Wunsch, ein zentrales Benutzerverzeichnis über mehrere Server hinweg anzubieten. Bei solchen Szenarien fällt einem eigentlich sofort LDAP ein, allerdings kann es manchmal von Vorteil sein, eine datenbankbasierte Authentifikation durchzuführen. Nach ein wenig Recherche im großen Netz bin ich dann auf libnss-mysql gestoßen (zu meinem großen Bedauern hab ich kein libnss-pgsql für PostgreSQL gefunden&#8230;). Ich Copy&amp;Paste hier im Wesentlichen nun einfach meine Ergebnisse und Configs, falls ihr jemand das Bedürfnis habt, ein ähnliches System aufzusetzen.</p>
<p>Der Server mit den Benutzerdaten ist ein &#8220;echter&#8221; Host, der irgendwo als physische Maschine rumsteht. Damit man sich nicht groß mit SSL, Verschlüsselung und Sicherheit rumschlagen muss habe ich kurzerhand auf Server und Client <a title="OpenVPN-Webseite" href="http://www.openvpn.org/">OpenVPN</a> installiert. Wie genau die Einrichtung funktioniert entnehme man bitte der verlinkten Seite. Jedenfalls hatte ich so ein eigenes Netzwerk, welches sogar Verschlüsselung zwischen den einzelnen Knoten hat, damit sind (vorerst) die gröbsten Löcher gestopft.</p>
<p>Nun schnell MySQL umkonfigurieren, damit der DB-Dienst nicht an localhost sondern an meinem neuen virtuellen VPN-Interface lauscht. Dazu passt man einfach den Eintrag &#8216;bind-address&#8217; in der Datei /etc/mysql/my.cnf an. Beispiel (unsichere Methode, lauscht überall):</p>
<blockquote><p>bind-address = *</p></blockquote>
<p>Außerdem muss man noch (per phpMyAdmin o. ä.) die Datenbank+Tabellen erstellen und, wenn man das System auch benutzen möchte, Daten einpflegen. Hier poste ich nun einfach mal meine Struktur der Tabellen</p>
<blockquote><p>CREATE TABLE IF NOT EXISTS `sys_groupmembers` (<br />
`uid` int(11) NOT NULL default &#8217;0&#8242;,<br />
`gid` int(11) NOT NULL default &#8217;0&#8242;<br />
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;</p>
<p>CREATE TABLE IF NOT EXISTS `sys_groups` (<br />
`gid` int(11) NOT NULL auto_increment,<br />
`groupname` varchar(30) character set latin1 NOT NULL,<br />
`group_password` varchar(64) character set latin1 NOT NULL default &#8216;x&#8217;,<br />
PRIMARY KEY  (`gid`)</p>
<p>) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1000;</p>
<p>CREATE TABLE IF NOT EXISTS `sys_users` (<br />
`uid` int(11) NOT NULL auto_increment,<br />
`username` varchar(50) character set latin1 NOT NULL,<br />
`realname` varchar(32) character set latin1 NOT NULL default &#8221;,<br />
`shell` varchar(20) character set latin1 NOT NULL default &#8216;/bin/sh&#8217;,<br />
`password` varchar(40) character set latin1 NOT NULL default &#8221;,<br />
`gid` int(11) NOT NULL default &#8217;65534&#8242;,<br />
`homedir` varchar(32) character set latin1 NOT NULL default &#8216;/bin/sh&#8217;,<br />
`lastchange` varchar(50) character set latin1 NOT NULL default &#8221;,<br />
`min` int(11) NOT NULL default &#8217;0&#8242;,<br />
`max` int(11) NOT NULL default &#8217;0&#8242;,<br />
`warn` int(11) NOT NULL default &#8217;7&#8242;,<br />
`inact` int(11) NOT NULL default &#8216;-1&#8242;,<br />
`expire` int(11) NOT NULL default &#8216;-1&#8242;,<br />
PRIMARY KEY  (`uid`)<br />
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1000 ;</p></blockquote>
<p>Auf dem Client installiert man nun die Pakete nscd und libnss-mysql (ich benutze eigentlich immer Debian/Ubuntu, da heißen die Pakete direkt so und die Installation ist mit apt-get install schnell erledigt. Bei anderen Distributionen bitte entsprechende Befehle verwenden oder die Pakete einfach von Hand installieren). Dann werden die entsprechenden Konfigurations-Dateien angepasst:</p>
<p>nsswitch.conf ist für das Betriebssystem ein Hinweis wo/wie überall nach Benutzern gesucht werden kann. nss-mysql.conf gibt an, wie man alle interessanten User-Details mit Ausnahme des Passworts bekommen kann. nss-mysql-root.conf füllt eben genau diese Lücke. Daher sollten für beide Configs verschiedene Benutzer verwendet werden, der Datenbankbenutzer der nss-mysql.conf &#8211; Config (also der, der nicht nach dem PW gefragt wird) sollte auch keine Rechte haben, auf die Passwort-Spalte in MySQL zuzugreifen. Außerdem verlangt libnss, dass die nss-mysql-root.conf nur von Benutzer root gelesen werden kann (also chmod 600), denn niemand außer root sollte generell an die System-Passwörter kommen, was man allerdings mit Hilfe des in dieser Datei notierten MySQL-Passworts doch erreichen könnte.</p>
<p><strong>/etc/nsswitch.conf</strong>:<br />
An das Ende der Zeilen, die mit &#8220;passwd&#8221;, &#8220;group&#8221; bzw. &#8220;shadow&#8221; anfangen, hängt man (mit einem Leerezeichen Abstand zum bisherigen letzten Wort) das Wörtchen &#8220;mysql&#8221; hintendran. So siehts dann aus:</p>
<blockquote><p>passwd:         compat mysql<br />
group:          compat mysql<br />
shadow:         compat mysql</p></blockquote>
<p><strong>/etc/nss-mysql.conf</strong>:<br />
Ich gebe hier nur die Zeilen wieder, die kein Kommentar sind. Hostname, Datenbankname, Benutzername und Passwort sind erfunden und sollten den jeweiligen Bedingungen angepasst werden:</p>
<blockquote><p>conf.version = 2;<br />
users.host = inet:mein.server.tld:3306;<br />
users.database = userdata;<br />
users.db_user = nss-auth-normal;<br />
users.db_password = 123geheim;<br />
users.table = sys_users;<br />
users.where_clause =;<br />
users.user_column = sys_users.username;<br />
users.password_column = sys_users.password;<br />
users.userid_column = sys_users.uid;<br />
users.uid_column = sys_users.uid;<br />
users.gid_column = sys_users.gid;<br />
users.realname_column = sys_users.realname;<br />
users.homedir_column = sys_users.homedir;<br />
users.shell_column = sys_users.shell;<br />
groups.group_info_table = sys_groups;<br />
groups.where_clause =;<br />
groups.group_name_column = sys_groups.groupname;<br />
groups.groupid_column = sys_groups.gid;<br />
groups.gid_column = sys_groups.gid;<br />
groups.password_column = sys_groups.group_password;<br />
groups.members_table = sys_groupmembers;<br />
groups.member_userid_column = sys_groupmembers.uid;<br />
groups.member_groupid_column = sys_groupmembers.gid;</p></blockquote>
<p><strong>/etc/nss-mysql-root.conf</strong>:<br />
Diese Konfiguration wird für den Abgleich von Passwörtern verwendet:</p>
<blockquote><p>conf.version = 2;<br />
shadow.host = inet:mein.server.tld:3306;<br />
shadow.database = userdata;<br />
shadow.db_user = nss-auth-root;<br />
shadow.db_password = 124geheim;<br />
shadow.table = sys_users;<br />
shadow.where_clause =;<br />
shadow.userid_column = sys_users.uid;<br />
shadow.user_column = sys_users.username;<br />
shadow.password_column = sys_users.password;<br />
shadow.lastchange_column = sys_users.lastchange;<br />
shadow.min_column = sys_users.min;<br />
shadow.max_column = sys_users.max;<br />
shadow.warn_column = sys_users.warn;<br />
shadow.inact_column = sys_users.inact;<br />
shadow.expire_column = sys_users.expire;</p></blockquote>
<p>Das wars eigentlich. Nun noch alle betroffenen Dienste (nscd, mysql,openvpn) neustarten und der Spaß sollte funktionieren.</p>
<p>Was ich leider noch nicht geschafft habe, ist die Administration der in der Datenbank gespeicherten Benutzer und Gruppen per Kommandozeilen-Tools, ein erster Ansatz wäre z. B. schonmal passwd, aber selbst das klappt (noch) nicht&#8230; Sollte jemand wissen, wie das funktioniert: Da unten ist ein Kommentarfeld <img src='http://www.matthias-lohr.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Ansonsten: Viel Erfolg bei euren Installationen, bei Fragen und Problemen einfach melden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthias-lohr.net/42/authentifizierung-uber-libnss-mysql/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

