Login
Newsletter
Werbung

So, 13. Juli 2003, 00:00

Crypto File System - Sesam schließe dich!

Installation von CFS

Vorbetrachtung

Ich habe im Verzeichnis /mnt/export freien Plattenplatz. Dort wird später der dem User joern gehörendende verschlüsselbare Ordner untergebracht. Wenn ich, der User joern, dann dieses Verzeichnis aufschließe, soll der entschlüsselte Inhalt in meinem Homeverzeichnis unter dem Ordner Crypt zugänglich sein. Den Ordner /home/joern/Crypt hatten wir ja schon für den Test angelegt. So legen wir noch den Ordner export an und übertragen die Rechte dem User joern:

mkdir /mnt/export
chown joern:users /mnt/export

Achtung: Mit dem so angewendeten chown-Befehl (wechsle Eigner) bekommen der Benutzer und seine Gruppe Eigentumsrechte an diesem Verzeichnis. Nun verwenden die Distributionen aber unterschiedliche Gruppen für die normalen User. Manche nennen die Gruppe users und andere wiederum geben der Gruppe die gleiche Bezeichnung wie dem User.

Unseren Gruppennamen stellen wir am schnellsten durch die Eingabe von id fest.

id
uid=500(joern) gid=500(joern) Gruppen=500(joern)

so verändert sich der Befehl zu:

chown joern:joern /mnt/export

Bezug des RPM-Paketes

Die Software erhält man als RPM-Paket unter http://sourceforge.net/projects/cfsnfs/ Die zum Zeitpunkt des Enstehens dieses Artikels aktuelle Version trägt die Bezeichnung cfs-1.4.1-5.i386.rpm.

Wir installieren nach der uns vom Abschnitt NFS bekannten Weise:

rpm -ihv /Pfad_zum_Paket/cfs-y.x.z-n.i386.rpm

Mit der Installation bekommen wir die Verzeichnisse /crypt und /.cfsfs angelegt. Da ich das Filesystem anders mounten will, lösche ich diese erst einmal:

rmdir /.cfsfs /crypt

Auch wurde die Datei /etc/exports modifiziert. Wir bleiben root, entfernen die Einträge, auch die von unserem letzten Test, und beschreiben die Datei wie folgt:

/mnt/export localhost(rw)

Ebenfalls wurden bei der Installation ein Start-/Stopp-Skript angelegt und es wurden Links in die Runlevel gelegt.

Kontrolle:

ls -l /etc/rc5.d |grep cfs

oder auch

rpm -qal |grep cfsd

In diesem Skript ist aber außerdem der cfs-nfs-Mountaufruf enthalten. Diesen müssen wir noch im Pfad anpassen. Dazu suchen wir in der im Editor geöffneten Datei /etc/rc.d/init.d/cfsd folgenden Eintrag unter "Starting Crypto Filesystem":

/bin/mount -o port=3049,intr localhost:/.cfsfs /crypt >/dev/null 2>&1

und korrigieren die Verzeichnisse nach unseren Bedürfnissen:

/bin/mount -o port=3049,intr localhost:/mnt/export/ /home/joern/crypt
> /dev/null 2>&1

und unter "Stopping Crypto filesystem: " ändern wir die umount-Anweisung zu:

umount /home/joern/crypt

Am besten, wir fahren jetzt die Dienste wie folgt herunter und wieder herauf:

/etc/init.d/cfsd stop
/etc/init.d/nfs stop
/etc/init.d/nfs start
/etc/init.d/nfs reload
/etc/init.d/cfsd start

Jetzt sollte keine Fehlermeldung mehr kommen und wir sind mit dem system-administrativen Teil fertig.

CFS-Administration

Die wichtigsten Befehle für die Administration des CFS sind:

cmkdir [Option] <Exportverzeichnis/Verzeichnisname> Erstellen des verschlüsselten Verzeichnisses (3DES)
Optionen:
Ohne: Triple DES
-b: Blowfish

cattach [Option] <Home/Verzeichnisname> Öffnen oder Anlegen eines virtuellen Verzeichnisses
Optionen:
-t n: Aushängen nach n Minuten;
-i n: Löschen nach n Minuten Inaktivität

cdetach <Home/Verzeichnisname> Schließen des veschlüsselten Verzeichnisses

cpasswd Ändern der Passwortphrase, min. 16 Zeichen

Unser Beispiel

Erstellen eines verschlüsselbaren Haupt-Verzeichnisses, einer Art Container, im Export-Pfad:

cmkdir /mnt/export/datasafe

und Aufforderung zur Passphraseneingabe.

Anlegen (bzw.Öffnen) einer virtuellen Datei:

cattach /mnt/export/datasafe cryptfile

Anmerkung:Es wird das Verzeichnis cryptfile unter /home/joern/crypt gemountet.

Verschließen dieser Datei:

cdetach cryptfile

Passwortwechsel:

cpasswd /mnt/export/datasafe

Wie sieht es in den Verzeichnissen aus?

Der das Verzeichnis besitzende User benutzt es wie ein gewöhnliches Verzeichnis.

cd crypt
ls -l
insgesamt 4
drwx------ 2 joern joern 4096 Okt 11 16:55 cryptfile
cd cryptfile
ls -l
insgesamt 20
-rwxr-xr-x 1 joern joern 19280 Okt 1 2001 ext2_acl.html

Im Export-Verzeichnis sieht es zu gleichen Zeit so aus:

ls -la /mnt/export/datasafe
insgesamt 44
drwxrwxr-x 2 joern joern 4096 Okt 11 16:55 .
drwxr-xr-x 3 joern users 4096 Okt 11 16:01 ..
-rw-rw-r-- 1 joern joern 8 Okt 11 16:01 ...
-rwxr-xr-x 1 joern joern 19280 Okt 1 2001 577d5e95d3bac66de412d108480e85c5
-rw-rw-r-- 1 joern joern 1 Okt 11 16:01 ..c
-rw-rw-r-- 1 joern joern 32 Okt 11 16:55 ..k
lrwxrwxrwx 1 joern joern 8 Okt 11 16:07
.pvect_577d5e95d3bac66de412d108480e85c5 -> 8bd5beae
-rw-rw-r-- 1 joern joern 7 Okt 11 16:01 ..s

Das für den User geöffnete crypt-Verzeichnis aus der Sicht von root:

# ls -la /home/joern/crypt
ls: /home/joern/crypt/cryptfile: Die Operation ist nicht erlaubt
insgesamt 9
drwxrwxrwx 4 root root 8192 Okt 12 16:11 .
drwx------ 122 joern joern 8192 Okt 12 16:24 ..
# ls -la /home/joern/crypt/cryptfile
ls: /home/joern/crypt/cryptfile/ext2_acl.html: Die Operation ist nicht erlaubt
insgesamt 5
drwx------ 2 joern joern 4096 Okt 11 16:55 .
drwxrwxrwx 4 root root 8192 Okt 12 16:11 ..
# more /home/joern/crypt/cryptfile/ext2_acl.html
/home/joern/crypt/cryptfile/ext2_acl.html: Die Operation ist nicht erlaubt
# cp /home/joern/crypt/cryptfile/ext2_acl.html /root
cp: Aufruf von stat für »/home/joern/crypt/cryptfile/ext2_acl.html« nicht möglich: Die Operation ist nicht erlaubt

Hinweis: Lösche niemals mittels rm die Dateien im Export-Verzeichnis, während der NFS-Daemon aktiv ist.

Über den Zaun geschaut

Nicht ganz so aufregend ist die Installation in der Debian-Distribution:

Wir wählen im Tool "dselect" das cfs-Paket aus. Es ist Bestandteil dieser Distribution. Mit diesem Paket wird gleichzeitig der NFS-Kernelserver zur Installation markiert. Nach dem Installieren dieser Pakete sind von beiden deren Start-/Stopp-Skripte in die Runlevels verlinkt. Der manuelle Eingriff bei dieser Installtion beschränkt sich auf die Änderung der Export- und Mountverzeichnisse nach unsere Wünschen. Die Lage dieser Verzeichnisse wird dem cfsd-Start-/Stopp-Skript dann über Variablen, welche in der Datei /etc/cfs.conf mit dem Pfaden verknüft sind, mitgeteilt.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung