PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Home Partition verschlüsslen



Ferdi
28.03.04, 05:22
Ich möchte, dass jeder User eine verschlüsselte Parition/Container erhält und jeder User nach erfolgreichen Login nach seimen Passwort zur Entschlüsselung gefragt wird und daraufhin NUR sein Homeverzeichnis/Partitione/Container entschlüsselt wird.
Aufgund der vielen einfach zu benutzenden Live CD's, Rettungs CD's und auch Knopix erscheinen mir die Sicherheitsmechanismen zu leicht zu überlisten, d.h. ohne größere Probleme ist man als root in jedem normalen System.

Benutze für die Verschlüsselung z. Zeit losetup.

Wenn ich diese Partitionen in fstab mit auto einbinde, so muss schon beim Start für jede Partition das Passwort eingegeben werden. Das ist bei mehreren Usern lästig.
Wenn in fstab nicht auto steht, so fehlt dieses Homeverzeichnis und es wird / benutzt


(Habe diesen Artikel schon mal unter einer anderen Rubrik veröffentlicht. Hoffe, damit ich hier richtig bin.)

Vielen Dank für Tips.

FH

emba
29.03.04, 08:17
vllt. kannst du das problem mit den dateien für die bash

.profile bzw.
.bashrc

lösen, indem du dort einträge wie "mount /home/user"
machst und der user dann sein entschlüsseltes homeverzeichnis bekommt, nachdem er das passwort eingegeben hat

hab es selbst noch nicht probiert, evtl. klappts ?

greez

-hanky-
29.03.04, 10:14
vllt. kannst du das problem mit den dateien für die bash

.profile bzw.
.bashrc

lösen, indem du dort einträge wie "mount /home/user"
machst und der user dann sein entschlüsseltes homeverzeichnis bekommt, nachdem er das passwort eingegeben hat

hab es selbst noch nicht probiert, evtl. klappts ?

greez

Hi,

das Gleiche hatte ich auch gerade gedacht. Allerdings - wenn er das Home-Verzeichnis verschlüsselt bekommt er ja diese Dateien vor dem Entschlüsseln nicht zu sehen.

Eine andere Lösung die mir spontan einfällt wäre vielleicht eine if/then-Abfrage in der globalen profile-Datei. Ich stelle mir da z.B. vor dass dort bei jedem Aufruf über einen Befehl wie id der Nutzername extrahiert wird ( sollte ja problemlos klappen ) und je nach Nutzername die richtige Partition gemountet wird ( bzw. zuvor nach dem Passwort für die Partition gefragt wird ).

Diese Lösung wäre natürlich etwas aufwendig und eventuell langsam ( ich weiss nicht wie schnell so eine if/then-Abfrage abgearbeitet wird ) bei sehr vielen Nutzern - aber das müsste man ausprobieren.

-hanky-

taylor
29.03.04, 10:17
Hi,

das Gleiche hatte ich auch gerade gedacht. Allerdings - wenn er das Home-Verzeichnis verschlüsselt bekommt er ja diese Dateien vor dem Entschlüsseln nicht zu sehen.

Ich denke, wenn man das in /etc/profile oder /etc/bash.bashrc schreibt, funktioniert das.

Ich spekuliere halt mal drauf, dass /etc/bash* vor ~/.bash* aufgerufen wird.

-hanky-
29.03.04, 11:22
Ich denke, wenn man das in /etc/profile oder /etc/bash.bashrc schreibt, funktioniert das.

Ich spekuliere halt mal drauf, dass /etc/bash* vor ~/.bash* aufgerufen wird.

Klar, das schon. Kam nur für mich so rüber als hätte emba die Dateien gemeint die in ~/ liegen. Kann mich aber auch geirrt haben ( und habe es wahrscheinlich auch :D ).

-hanky-

Ferdi
30.03.04, 18:52
Hallo,

Danke. Habe es probiert, aber noch ohne Erfolg

in /etc/profile eingefügt:
losetup -e twofish /dev/loop1 /home/cfile00u2
mount -t ext2 /dev/loop1 /home/u2b

Fehlermeldungen:
-bash losetup Komando nicht gefunden
mount kann nur root ausf?hren

Habt ihr eine Idee?
Könnt ihr mir bitte auch bei if auf die Sprünge helfen
ich dachte an
if $LOGNAME="user1" ; then
losetup -e ...
mount ...
fi

Irgendwie klappt aber der Vergleich ($LOGNAME="user1") nicht. Ich weiß bash Grundlagen. Vielleicht kennt jemand eine gute Hilfeseite für die bash.

Danke

taylor
30.03.04, 18:58
1) Absolute Pfade verwenden: /sbin/losetup, /bin/mount
2) sudo verwenden, um an der 'mount kann nur von root' Beschränkung vorbeizukommen (oder einen fstab Eintrag erstellen)

Ferdi
30.03.04, 21:10
Hallo,

nach einigen Änderungen in /etc/fstab kann nun jeder (testweise) /home/u2b mounten incl. Entschlüsselung.
habe aber beim login immernoch den folgenden Effekt
login

have a lot of fun...
no directory /home/u2b
login with home = "/".
Passwort:

nun wird erst versucht /home/u2b einzuhängen.
zuerst wird die /etc/bash.bashrc und danach die /etc/profile abgearbeitet,
aber selbst die 1. Zeile in /etc/bash.bashrc ist zu "spät".


PS
> if $LOGNAME="user1" ; then
if test $LOGNAME = "user1" ; then
...
wäre richtig gewesen. Manchmal ist man blind.

dipesh
30.03.04, 21:41
Vielleicht hilft dir das folgende Script weiter. Ansonsten sei auf _diese_ (http://www.linuxfibel.de/bashprog.htm) gute Dokumentation hingewiesen.



#!/bin/sh

# Ermitteln welches /dev/loop noch frei ist.
i=0
while [ $i -lt 100 ]
do
MNT=`mount | grep /dev/loop$i`
test -z "$MNT" && break
i=$((i+1))
done

# Ggf. abbrechen
if [ $i -eq 100 ]
then
exit
fi

# Verschluesselte Datei mounten
USER_WHOAMI=`whoami`
if [ -d "/home/$USER_WHOAMI" ]
then
sudo mount -t ext2 -o loop=/dev/loop$i,encryption=AES128 /myfiles/$USER_WHOAMI /home/$USER_WHOAMI
fi