[[Vorlage(Getestet, feisty, dapper)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Paketen] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Rechte: Rechte für Dateien und Ordner ändern] }}} Diese Seite gehört zu dem Beitrag [:Archiv/TrueCrypt:]. Sie beschreibt, wie das Einhängen eines TC-Laufwerkes in die Verzeichnisstruktur mittels Passwortdialog realisiert werden kann. = Vorbereitung = [[Bild(./truecrypt-xlogin_s.png, align=right)]] Um nicht jedes mal über die Konsole zu gehen, wenn man ein TC-Laufwerk einhängen will, kann man sich auch einen Passwortdialog (Bild rechts) anzeigen lassen (z.B. nach dem Start der [:Desktop:Desktop-Umgebung]). Dazu muss folgendes Paket installiert werden [[:Pakete_installieren:1]]: * '''xdialog''' (''universe'', [[:Paketquellen_freischalten:2]]) = Skripte anlegen = Anschließend müssen zwei Skripte angelegt werden, eines für das Einhängen eine TC-Laufwerkes und eines, und eines, um es wieder auszuhängen. Dazu öffnet man einen Editor [[:Editor:4]] mit Root-Rechten und legt die Datei '''/usr/local/bin/truecrypt-mount''' mit folgendem Inhalt an: {{{#!/bin/bash # Skript zum Einbinden eines TrueCrypt-Volumens. # by Hansgeorg Schwibbe, # Copyright(c) 2007 filesystem=$1; volume=$2; mountpoint=$3; mountoptions=$4; helpbox_call_title="Hilfe"; helpbox_call_text="Aufruf: $0 [Mount-Optionen]"; inputbox_pw_title="TrueCrypt-Volumen einbinden"; inputbox_mount_text_basic="Verschlüsseltes $filesystem-Volumen $volume\n\ in das Verzeichnis $mountpoint einbinden."; inputbox_mount_text_mntoptions="Verschlüsseltes $filesystem-Volumen $volume\n\ mit den Parametern $mountoptions\n\ in das Verzeichnis $mountpoint einbinden." inputbox_tcpw_text="Bitte das TrueCrypt-Kennwort eingeben:"; successbox_mount_title="Einbinden erfolgreich"; successbox_mount_text="Das TrueCrypt-Volumen wurde erfolgreich eingebunden!"; errorbox_mount_title="Fehler beim Einbinden"; errorbox_mounted_text="Das TrueCrypt-Volumen ist bereits eingebunden!"; errorbox_mounting_text="Das TrueCrypt-Volumen konnte nicht eingebunden werden!\n\ Möglicherweise ist das TrueCrypt-Kennwort oder einer der Argumente falsch!"; if [ "$filesystem" = "" ] || [ "$volume" = "" ] || [ "$mountpoint" = "" ] then echo $helpbox_call_text; Xdialog --buttons-style text --title "$helpbox_call_title" --msgbox "$helpbox_call_text" 0 0; exit 1; fi if [ "$mountoptions" == "" ] then inputbox_mount_text="$inputbox_mount_text_basic"; else inputbox_mount_text="$inputbox_mount_text_mntoptions"; mntoptions="--mount-options $mountoptions"; fi mounted=`truecrypt -l | grep $volume`; if [ "$mounted" = "" ] then tc_pw=`Xdialog --stdout --left \ --title "$inputbox_pw_title" \ --password --inputbox "$inputbox_mount_text\n$inputbox_tcpw_text" 0 0`; retval=$?; if [ $retval = 0 ] then truecrypt --filesystem $filesystem $mntoptions -p $tc_pw $volume $mountpoint; retval=$?; if [ $retval = 0 ] then Xdialog --title "$successbox_mount_title" --msgbox "$successbox_mount_text" 0 0; else Xdialog --left --buttons-style text --title "$errorbox_mount_title" --msgbox "$errorbox_mounting_text" 0 0; fi fi else Xdialog --buttons-style text --title "$errorbox_mount_title" --msgbox "$errorbox_mounted_text" 0 0; fi }}} Danach muss man die Datei noch ausführbar machen [5]. Jetzt muss noch die zweite Datei '''/usr/local/bin/truecrypt-dismount''' mit folgenden Inhalt angelegt werden: {{{#!/bin/bash # Skript zum Auswerfen eines TrueCrypt-Volumens. # by Hansgeorg Schwibbe, # Copyright(c) 2007 mountpoint=$1; helpbox_call_title="Hilfe"; helpbox_call_text="Aufruf: $0 "; successbox_dismount_title="Auswerfen erfolgreich"; successbox_dismount_text="Das TrueCrypt-Volumen wurde erfolgreich ausgeworfen!"; errorbox_unmounted_title="Fehler beim Auswerfen"; errorbox_unmounted_text="An dem Mountpunkt ist kein TrueCrypt-Volumen eingebunden!"; errorbox_dismount_title="Schwerer Laufzeitfehler"; errorbox_dismount_text="Das TrueCrypt-Volumen konnte nicht ausgeworfen werden!"; if [ "$mountpoint" = "" ] then echo $helpbox_call_text; Xdialog --buttons-style text --title "$helpbox_call_title" --msgbox "$helpbox_call_text" 0 0; exit 1; fi mounted=`truecrypt -l | grep $mountpoint`; if [ "$mounted" = "" ] then Xdialog --buttons-style text --title "$errorbox_unmounted_title" --msgbox "$errorbox_unmounted_text" 0 0; else truecrypt -d $mountpoint; retval=$?; if [ $retval == 0 ] then Xdialog --title "$successbox_dismount_title" --msgbox "$successbox_dismount_text" 0 0; else Xdialog --buttons-style text --title "$errorbox_dismount_title" --msgbox "$errorbox_dismount_text" 0 0; fi fi }}} Auch diese Datei muss noch ausführbar gemacht werden [5]. = TC-Laufwerk ein-/aushängen = Nun kann das TC-Laufwerk mit folgendem Befehl eingebunden werden [3]: {{{#!vorlage Befehl # Allgemein: truecrypt-mount # Beispiel: truecrypt-mount ext3 /home/.encrypted.tc /home/encrypted/ }}} Das eingehängte TC-Laufwerk wird mit nachfolgendem Befehl wieder ausgehängt: {{{#!vorlage Befehl # Allgemein: truecrypt-dismount # Beispiel: truecrypt-dismount /home/.encrypted.tc }}} Bei manchen TrueCrypt-Installationen können TrueCrypt-Volumen nur als Root eingebunden werden. Sollte dies der Fall sein, können die Volumen mittels kdesu, gksu oder sudo eingebunden bzw. ausgeworfen werden: {{{#!vorlage Befehl # Über KDE: kdesu truecrypt-mount [Mount-Optionen] kdesu truecrypt-dismount # Über GNOME: gksu truecrypt-mount [Mount-Optionen] gksu truecrypt-dismount # Über die Konsole: sudo truecrypt-mount [Mount-Optionen] sudo truecrypt-dismount }}} = Alternativer Passwortdialog = * '''zenity''' wie gewohnt installieren [1]. == Skripte == {{{#!/bin/bash # tcmount script DEVICE_NAME="$1" tc="truecrypt" fat_options="uid=$(id -u),gid=$(id -g)" case "$DEVICE_NAME" in data) "$tc" --mount-options "$fat_options","rw,sync,utf8,uid=$UID" /dev/data /media/data ;; backup) "$tc" --filesystem ext3 --mount-options "rw,sync" /dev/backup /media/backup ;; esac }}} {{{#!/bin/bash # tcmount-gui script volume=$1 while [ -z "$volume" ] do volume=`zenity --list --title "Select volume" --checklist --column "Mount" --column "Volume" TRUE data FALSE backup` if [ -z "$volume" ] then zenity --question --text="Do you want to quit program?" if [ 0 -eq "$?" ] then exit 0 fi fi done case "$volume" in data) path=/media/data ;; backup) path=/media/backup ;; *) path="" ;; esac if [ -z "$path" ] then zenity --info --text="Volume $volume does not exist." exit 1; fi if mount | grep "$path " >/dev/null then zenity --info --text "Volume $volume is already mounted at $path." exit 2; fi zenity --entry --hide-text --width=350 --title "Insert password for $volume" --text password | tcmount "$volume" rc="$?" if [ 1 -eq "$rc" ] then zenity --error --text "Failed to mount volume $volume." exit 3 elif [ 0 -eq "$rc" ] then zenity --info --text "Volume $volume successfully mounted." fi exit 0 }}} = Links = * [http://www.reneschmidt.de/2007/07/01/truecrypt-und-linux/ Leicht verbesserte Skripte für Kubuntu] {de} ---- # tag: Sicherheit