AVM Fritz!Cards unter Fedora Core 5

Aufgrund der vielen Reaktionen zu meinem HowTo für Fedora Core 4 hier eine Version für Core 5. Es hat sich doch einiges getan, insbesondere bei udev. Die aktuelle Version der isdn4k-utils kommt jetzt von Hause aus mit einer capi.conf und einem Initskript. Deshalb hier nur das Wichtigste, für Details bitte in den alten Artikel schauen.

Kernelmodul bauen:

Für dieses HowTo nutze ich eine AVM Fritz!Card PCI.

su -
yum install kernel-devel gcc wget
wget ftp://ftp.avm.de/cardware/fritzcrd.pci/linux/suse.93/fcpci-suse93-3.11-07.tar.gz
tar -xzf fcpci-suse93-3.11-07.tar.gz
cd fritz
OBJ=`find . -name '*lib.o'`
for i in $OBJ; do
mv $i $i.old
objcopy -L memcmp \
-L memcpy \
-L memmove \
-L memset \
-L strcat \
-L strcmp \
-L strcpy \
-L strlen \
-L strncmp \
-L strncpy \
$i.old $i
done

(mehr dazu auf der ISDN4Linux Mailingliste)

$EDITOR src/tools.h

Zeilen 73-81:

\*—————————————————————————*/
static inline unsigned long atomic_xchg (
volatile atomic_t * v,
unsigned value
) {
return __xchg (value, &v->counter, sizeof (unsigned));
} /* atomic_xchg */

/*—————————————————————————*\

löschen.

make clean
make install
depmod

udev konfigurieren:

$EDITOR /etc/udev/rules.d/49-capi.rules

KERNEL==“capi“, NAME=“capi20″, GROUP=“uucp“, MODE=“0660″, SYMLINK=“faxCAPI“
KERNEL==“capi*“, NAME=“capi/%n“, GROUP=“uucp“, MODE=“0660″

Der SYMLINK faxCAPI wird nur für CAPI4Hylafax benötigt.

udevstart

CAPI konfigurieren und ISDN deaktivieren:

Die verwendete Karte in /etc/capi.conf eintragen. Für die Fritzcard PCI reicht ein

echo fcpci - - - - - - >> /etc/capi.conf

Für andere Karten könnt ihr in der capi.conf aus dem Gentoo CVS nachschauen.

service isdn stop
chkconfig isdn off
service capi start
chkconfig capi on

Fertig!

Ein Hoch auf SELinux

An dieser Stelle mal ein Lobgesang auf SELinux: Der jüngst bekannt gewordene „0day“-Exploit CVE-2006-3626, bei dem sich ein lokaler Nutzer über eine Schwachstelle im /proc-Dateisystem innerhalb von Sekunden root-Rechte verschaffen kann, wird von SELinux abgefangen. Dies berichtet Joshua Brindle auf der selinux-list. Auch das SANS Internet Storm Center bestätigt den Schutz durch SELinux.

James Morris stellt die Frage, wieviel weitere Exploits durch SELinux verhindert wurden (oder auch nicht) und was man daraus für die Entwicklung lernen sollte. In diesem Zusammenhang weist er auf einen interessanten Artikel von Mark Cox im Red Hat Magazine hin.

Noch mal der Hinweis an alle Fedora-, RHEL- und CentOS-Nutzer da draußen: Freut Euch, daß diese Distributionen auf SELinux setzen, eine solide Ausgangskonfiguration mitbringen und durchaus brauchbare Tools besitzen (z. B das neue system-config-selinux). Setzt Euch lieber ein wenig mit SELinux auseinander, anstatt es bei der erst(best)en Gelegenheit zu deaktivieren.

Via Fedora Weekly News Issue 55 (in Deutsch)

USB-Netlink Kabel unter Linux

Ich besitze ein altes USB 1.1 Laplink-Kabel. Nicht wirklich besonders nützlich, dachte ich bisher. Zuletzt hatte ich es unter Windows 98 benutzt, über ein mitgeliefertes Programm im klassichen 2-Fenster Design konnte man Dateien von einem Rechner auf den anderen verschieben. Unter Windows 2k und XP ist das Ding ziemlich nutzlos, Windows erkennt zwar, daß da ein USB-Kabel ist, weiß aber nichts damit anzufangen. Zeit, es entweder bei ebay zu verkaufen oder mal zu testen, ob es unter Linux läuft.
Es läuft. Mit dem usbnet Treiber. Und wie!

Ein erster Test:

Kabel am ersten Rechner (bei mir Fedora Core) einstecken:

$ ifconfig usb0 10.0.0.1

Kabel am zweiten Rechner (Debian Sarge) einstecken:

$ ifcofig usb0 10.0.0.2
$ ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=3.52 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=1.79 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=1.78 ms
64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=1.74 ms

Das nenne ich mal Hot Plug&Play! Das Interface usb0 verhält sich genau wie eine Netzwerkkarte. Man kann also alles machen, was auch über Ethernet geht: TPC/IP, UDP usw. Keine weitere Software nötig.

Weitere Konfiguration:

Damit eine automatische Aktivierung und Konfiguration der Netzwerkschnittstelle usb0 bein Neustart des Rechners erfolgen kann, gilt es, einige Einstellungen vorzunehmen.

Konfiguration für Fedora Core

Für die Konsolenfaulen: Die Netzwerk-Konfiguration system-config-network starten, unter Hardware eine neue Netzwerkkarte, Typ Ethernet, Modell USB CDC Ethernet driver hinzufügen. Dann unter Geräte eine neue Netzwerkverbindung mit den gewünschten Einstellungen (IP, Gateway, etc.) erstellen. Dummerweise vergibt system-confign-network als Gerätenamen ethX, deshalb nehme ich den Editor meiner Wahl und erstelle eine /etc/sysconfig/networking/devices/ifcfg-usb0:

IPV6INIT=no
ONBOOT=no
USERCTL=yes
PEERDNS=yes
TYPE=Ethernet
DEVICE=usb0
BOOTPROTO=none
NETMASK=255.0.0.0
IPADDR=10.0.2.2
HWADDR=46:F2:FF:99:06:F7

Die Hardware-Adresse kann frei bleiben. Da beim Booten des Fedora Rechners (quasi Server) der Debain Client selten an ist, wähle ich “ ONBOOT=no“. Praktisch: Trotzdem wird die Verbindung durch einen Hotplug-Event gestartet, wenn der zweite Rechner bootet.

Konfiguration für Debain Sarge:

In die /etc/network/interfaces trage ich folgendes ein:

# usb link cable
iface usb0 inet static
address 10.0.2.3
netmask 255.0.0.0
network 10.0.2.0
broadcast 10.255.255.255
gateway 10.0.2.2

Die IP-Adressen 10.0.2.2. und .2.3 habe ich aus Gründen der Übersichtlichkeit gewählt. Auch in anderen Subnetzen (192.168.2.0 für das Ethernet und WLAN) haben die Rechner diese Endziffern.

Probleme:

Manchmal kommt keine Verbindung zustande, der Handshake scheitert. Dann gibt es keine Pings, sondern fragmentierte Pakete oder gar nichts. Der Support für den in meinem Kabel verwendeten PL-2301 Chipsatz von Prolific ist etwas wacklig, zur Zeit hilft nur kurzzeitiges Steckerziehen.

Planet CCRMA goes Fedora Extras

Falls sich jemand über Flut neuer Pakete in Fedora Extras und die Fülle offener und aktueller Paket-Reviews wundert: Das ist Planet CCRMA (sprich „Planet Karma“), die auf Red Hat Linux basierende Sammlung von Audio- und Multimediasoftware der Stanfort University, die jetzt in die Extras integriert wird.

Eine offizielle Ankündigung über den Zusammenschluss beider Repos gibt es bisher nicht, beim letzten FESCO-Meeting wurde das Thema kurz besprochen. Vieles ist noch unklar, beispielsweise die leidige Frage alternativer Kernel in den Extras. All diese Fragen werden jetzt auf der eigens eingerichteten Fedora-music-list diskutiert.

VSFTPD Monitoring

Der vsftpd arbeitet in der Ausgangskonfiguration von Fedora sehr schweigsam. Logwatch schickt einen zwar die wichtigsten Informationen wie fehlgeschlagene Login-Versuche und Transfervolumen, wer aber mehr wissen will, muß etwas Hand anlegen. Ich möchte vorallem wissen, was der vsftpd jetzt macht und nicht, was er gestern gemacht hat. Also habe ich zur /etc/vsftpd/vsftpd.conf die folgenden beiden Zeilen hinzugefügt:

session_support=YES
setproctitle_enable=YES

Die erste Zeile aktiviert den Session-Support, also Logging in /var/log/wtmp. Jetzt tauchen die letzen Sessions auch im Output des last-Befehls auf.

Die zweite Zeile schreibt den Namen der Session in den Programmtitel, den man beispielsweise mit ps sehen kann. Um das ganze etwas komfortabler zu gestalten, ändere ich das initscript /etc/init.d/vsftpd etwas:

status)
status $prog
RETVAL=$?
;;

wird zu

status)
status $prog
RETVAL=$?
ps ax | grep vsftpd | grep -v grep | grep -v init.d | grep -v service
;;

service vsftpd status meldet jetzt:

vsftpd (PID 14122 14120 13231) wird ausgeführt...
13231 ? S 0:00 vsftpd: LISTENER
14120 ? Ss 0:00 vsftpd: 127.0.0.1: connected
14122 ? S 0:00 vsftpd: 127.0.0.1/ftp: IDLE

Funktioniert selbsverständlich auch in Fedoras system-config-services. Das reicht mir für’s Erste, wenn mir noch was auf- oder einfällt, sehen wir weiter.

Viel los im Chat

Auf #fedora-extras geht’s grade richtig ab:

(23:22:54) [splinux]: skvidal, ping?
(23:23:16) skvidal: [splinux]: what’s up
(23:34:30) ignacio: bpepple: Ping.
(23:40:05) [splinux]: spot, ping?
(23:40:17) spot: hmm?

Hmm, wirklich spannend.

Ausreden (Teil 1)

Ich bin so dumm, das ich mich selbst beißen könnte, habs geschafft, alles kaputt zu machen, und kam um eine Neuinstallation nicht rum.
Hab noch mal yum remove Kernel bla bla eingebenen, um eigentlich zu posten was dort so steht, dann sprang meine Katze auf die Tastatur, weil sie sich erschrocken hat und. wohl die richtige Taste für Yes getroffen, rumms waren die Kernel weg, aber beide.

gefunden im Fedoraforum (Hervorhebungen von mir)

AppArmor vs. SELinux

Am vergangenen Dienstag hat die Diskussion um AppArmor, Novells Alternative zu SELinux, die fedora-devel-list erreicht. Wie immer fing es harmlos an, geht ein wenig offtopic und ein kleiner Einwurf löst eine Grundsatzdiskussion aus, an der auch Größen wie Alan Cox oder Arjan van de Ven nicht vorbeikommen. Ein wirklich lesenswerter Thread mit großartigen Zitaten:

[…] Snowball’s chance in hell the Fedora kernels are going to include apparmor specific patches that should be going into mainline kernel for everyone to use. You want to see it ported and see it available in Fedora Extras… then go chew the novell developers ears off about getting the required kernel patches into the mainline kernel. Please go read up in the lkml archives about Immunix’s SubDomain (newly renamed as Novell AppArmor) to gain insight on where in the process things are to get Immunix’s..err i mean Novell’s kernel patches into the mainline kernel.

-jef“New name==new press release==old news“spaleta

maybe it’s time to accept that SELinux as technology is doomed. Not because the code is bad, but because it’s Just Too Complex(tm).
Complexity kills, and I think the time it is taking to get to the point where at least less than 99% of the people turns selinux off first thing is waay too long already.
[…]

Arjan van de Ven

Lots of things can look pretty but it doesn’t mean they actually solve the fundamental problems. SELinux uses more complex ideas like roles because in the 1960s people working on this stuff realised the simple model actuallydoesn’t work.

Alan Cox

Hier der komplette Thread zum Nachlesen. Unbedingt lesen sollte man auch diesen im Thread erwähnten Artikel im Blog von Daniel Walsh.