Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/02/2007, à 10:00

BMF

automontage truecrypt pour clef usb

Contexte: J'ai un volume crypté par truecrypt sur une clef usb et je ballade cette clef entre un PC sous windows et un autre sous Ubuntu.
J'apprécie particulièrement le mode traveller de truecrypt avec windows: vous branchez la clef usb, truecrypt(traveller) se lance et demande le mot de passe et la partition cryptée se monte automatiquement.
Je voulais faire pareil (ou presque) lorsque je branche ma clef sur mon ordi ubuntu parce que je suis un peu fénéant.

Infos:
- ceci est mon premier script en bash, donc je pense qu'il est améliorable.
- ce script est une ré-adaptation de celui-ci http://forum.ubuntu-fr.org/viewtopic.php?id=91021 pour le montage truecrypt

Pré-requis:
1. avoir installé truecrypt en ayant répondu "y" à la question "Allow non-admin users to run TrueCrypt" (voir doc: http://doc.ubuntu-fr.org/truecrypt ) ou bien ajoutant cela manuellement après installation (voir: Mount_volumes_as_a_normal_user du tuto gentoo je ne suis pas sûr si c'est exactement pareil avec ubuntu mais ça donne le principe). Ceci afin de ne pas avoir à entrer en mode sudo à chaque fois que l'on veut utiliser truecrypt.
2. avoir activé l'autorun: Système > Préférences > Disques et média amovibles, puis cocher "lancer automatiquement des programmes sur les nouveaux disques et medias"
3. avoir déjà créé un volume truecrypt et mis sur sa clef usb
4. avoir créé un dossier vide quelque part pour le point de montage de la partition cryptée


Le procédé:

- créer dans votre clef usb un fichier nommé autorun.sh et placez-le à la racine de la clef avec votre volume crypté
- editez-le avec gedit et copiez le code suivant:
Note: Dans mon exemple le volume crypté par truecypt et présent sur la clef usb s'appelle chapelle et mon point de montage pour cette partition cryptée est /media/crypted, donc à remplacer par votre nom de fichier à vous et votre propre point de montage. J'ai utilisé un répertoire dans /media/ histoire d'avoir cette partition directement sur le bureau quand elle se monte. Donc remplacez par 2 fois dans le script $CHEMIN/chapelle /media/crypted par vos propres infos

#!/bin/sh

#determine le chemin de la clef
CHEMIN=$(dirname $0)

#demande le mot de passe
MDP=`zenity --entry --text "Mot de passe:" --hide-text`

#teste le mot de passe et monte le volume
if test  -z $MDP 
then
    exit;
fi

RES=`truecrypt -p $MDP --mount-options "rw,sync,utf8,uid=1000,umask=0007" $CHEMIN/chapelle /media/crypted`

ret=$?



#redemande (en boucle au cas où) le mot de passe en cas d'erreur de saisie
while [ $ret != 0 ]
do
    zenity --error --text "$RES" 


MDP=`zenity --entry --text "Mot de passe:" --hide-text`


if test  -z $MDP 
then
    exit;
fi

RES=`truecrypt -p $MDP --mount-options "rw,sync,utf8,uid=1000,umask=0007" $CHEMIN/chapelle /media/crypted`

ret=$?


    
done

- rendez ce script exécutable: chmod +x autorun.sh

et voilà!

Lorsque vous branchez votre clef usb, un prompt apparait demandant si vous autorisez le lancement automatique du script, répondez oui puis il vous demande alors votre mot de passe du volume truecrypt et le monte.

Soyons flémard jusqu'au bout: un script pour démonter la partiton cryptée en un clic:
- créer un fichier demonte.sh sur votre clef USB
- éditez-le dans gedit et coller le code suivant:
Note: remplacez /media/crypted par votre point de montage

#!/bin/sh
#demonte le point de montage crypté
truecrypt -d /media/crypted

- rendez ce script exécutable: chmod +x demonte.sh

vous n'aurez plus qu'à cliquer sur ce script depuis votre clef usb pour démonter la partition cryptée avant de retirer la clef


Ubuntu 18.04 sur Thinkpad T430 et X230

Hors ligne

#2 Le 16/02/2007, à 11:07

roger64

Re : automontage truecrypt pour clef usb

excellent tuto. bravo.:cool:

Tes explications sont en plus très claires.

Si j'avais un souhait, ce serait que tu annexes ce tuto au wiki truecrypt en faisant une deuxième ou une troisième partie, de façon à ce que les utilisateurs puissent le retrouver sans problème (j'avais rédigé  en son temps la deuxième partie "pour débutants").

Pour ma part, je n'utilise truecrypt que sur mon disque principal. Je n'ai qu'un seul script de montage/démontage. L'avantage que j'y trouve est qu'il me suffit de cliquer sur la notification zenity pour démonter. Mais chacun fait comme il veut et peut-être n'est-ce pas possible pour la clé USB?. smile

#!/bin/sh

gnome-terminal -e 'sudo truecrypt --mount-options "rw,gid=0,umask=0000" /home/roger/sécurité/coffre /mnt/tcvol' 

zenity --warning --text "n'oubliez pas de refermer après usage"

zenity --notification --window-icon=/home/roger/.icons/Tango/24x24/actions/lock.png --text "démonter Truecrypt"

gnome-terminal -e 'sudo truecrypt -d'
exit

cordialement

Dernière modification par roger64 (Le 16/02/2007, à 11:09)

Hors ligne

#3 Le 16/02/2007, à 17:58

BMF

Re : automontage truecrypt pour clef usb

Si j'avais un souhait, ce serait que tu annexes ce tuto au wiki truecrypt

Je pense qu'avant de mettre ça en tuto dans le wiki, il faudrait que quelqu'un de plus habitué aux scripts en bash se penche un peu sur mon code pour l'optimiser si possible. C'est la première fois que j'en fait, je suis plus habitué au php. J'ai fait ça un peu rapidement pour me simplifier la vie et je l'ai mis ici car je pensais que ça pourra être utile à d'autres.

Car je dois avouer que même s'il fonctionne bien je ne le trouve pas très élégant au niveau du codage:

1. la boucle en cas de mot de passe erroné: le code pour demander le mot de passe puis une autre partie de code pour faire la même chose avec boucle en cas d'erreur, voilà qui  manque d'élégance au niveau codage. Il doit y avoir moyen de faire ça plus proprement dans le code.

2. quand on monte un media amovible dans ubutunu, celui-ci se monte sans besoin préalable d'avoir un dossier de montage en dur dans /media. Je ne sais pas comment faire ça dans le code, mais cela serait bien afin que le script soit encore plus portable/réutilisable par tout à chacun.

3. il faudrait que je passe le nom du volume truecrypt en variable en début de fichier, comme ça il suffit juste de mettre le nom de son fichier/volume pour la personne qui reprend le script, plutôt que d'aller modifier ça plus loin par deux fois dans le script. (ok, ça c'est à ma portée wink )


J'utilise pas mal truecrypt sur des media amovibles (clef usb, apn, balladeur mp3...) car j'utilise des ordis différents qui parfois ne sont pas les miens et j'aime bien avoir toujours sous la main certaines données qui me semblent sensibles (mails, dossiers de projet, données clients) sans pourtant que ces données puissent être utilisables par quelqu'un d'autre. D'autant plus que ça ne me dérange pas (bon gros mot de passe inside) de faire des sauvegardes de ces volumes cryptés sur des machines que je considère comme non sûres (pas mes machines) ou sur des services en ligne au cas où je perdrais ma clef usb.
Bref Truecrypt est la chose qui m'a décidé à franchir le pas de mettre des données sensibles sur un truc aussi peu sûr qu'une clef usb, et ne pas avoir à transporter mon laptop dans toutes les occasions.


L'avantage que j'y trouve est qu'il me suffit de cliquer sur la notification zenity pour démonter. Mais chacun fait comme il veut et peut-être n'est-ce pas possible pour la clé USB?.

Si c'est possible, mais je trouvais ça peut-être un peu irrantant de conserver cette notification ouverte surtout si tu utilises ton volume crypté pendant plusieurs heures juste pour démonter le voulume. Voilà pourquoi j'ai ajouté un script de démontage un peu à l'arrache.


Ubuntu 18.04 sur Thinkpad T430 et X230

Hors ligne

#4 Le 16/02/2007, à 18:28

BMF

Re : automontage truecrypt pour clef usb

Pour ajouter de la portabilité à cette clef et qu'elle soit utilisable si vous vous retrouvez sur un ordinateur utilisant windows (et oui, tous vos amis ou vos collégues ne sont pas encore convertis à linux...). Truecrypt propose un exécutable win32 portable donc utilisable sans installation préalable sur la machine (note au passage, ça serait bien aussi de faire ça pour nux).
On va se faire le mode Traveller de windows mais depuis linux (tout le monde n'a pas de double boot ou de machine virtuelle chez soi pour faire ça depuis windows):

- Téléchargez la version pour windows XP/2000/2003 sur http://www.truecrypt.org/downloads.php
- Dézippez l'archive.
- Créez un dossier nommé TrueCrypt sur votre clef usb
- Mettez dans votre dossier TrueCrypt les fichiers suivants issus du dossier Setup Files de l'archive que vous venez de télécharger:

truecrypt.sys
TrueCrypt.exe
truecrypt-x64.sys

Créez dans ce dossier TrueCrypt un fichier nommé Configuration.xml, éditez-le avec gedit et mettez-y les infos suivantes:

<?xml version="1.0" encoding="utf-8" ?>
<TrueCrypt>
	<configuration>
		<config key="OpenExplorerWindowAfterMount">0</config>
		<config key="CloseExplorerWindowsOnDismount">1</config>
		<config key="SaveVolumeHistory">0</config>
		<config key="CachePasswords">0</config>
		<config key="WipePasswordCacheOnExit">0</config>
		<config key="WipeCacheOnAutoDismount">1</config>
		<config key="StartOnLogon">0</config>
		<config key="MountDevicesOnLogon">0</config>
		<config key="MountFavoritesOnLogon">0</config>
		<config key="MountVolumesReadOnly">0</config>
		<config key="MountVolumesRemovable">0</config>
		<config key="PreserveTimestamps">1</config>
		<config key="EnableBackgroundTask">1</config>
		<config key="CloseBackgroundTaskOnNoVolumes">0</config>
		<config key="DismountOnLogOff">1</config>
		<config key="DismountOnPowerSaving">0</config>
		<config key="DismountOnScreenSaver">0</config>
		<config key="ForceAutoDismount">1</config>
		<config key="MaxVolumeIdleTime">-120</config>
		<config key="UseKeyfiles">0</config>
		<config key="LastSelectedDrive">P:</config>
		<config key="HotkeyModAutoMountDevices">0</config>
		<config key="HotkeyCodeAutoMountDevices">0</config>
		<config key="HotkeyModDismountAll">0</config>
		<config key="HotkeyCodeDismountAll">0</config>
		<config key="HotkeyModForceDismountAllWipe">0</config>
		<config key="HotkeyCodeForceDismountAllWipe">0</config>
		<config key="HotkeyModForceDismountAllWipeExit">0</config>
		<config key="HotkeyCodeForceDismountAllWipeExit">0</config>
		<config key="HotkeyModMountFavoriteVolumes">0</config>
		<config key="HotkeyCodeMountFavoriteVolumes">0</config>
		<config key="HotkeyModShowHideMainWindow">0</config>
		<config key="HotkeyCodeShowHideMainWindow">0</config>
		<config key="PlaySoundOnHotkeyMountDismount">1</config>
		<config key="DisplayMsgBoxOnHotkeyDismount">0</config>
		<config key="Language"></config>
	</configuration>
</TrueCrypt>

- Retournez à la racine de votre clef USB et créez un fichier nommé autorun.inf, éditez-le avec gedit et mettez-y les infos suivantes:
Note: remplacez dans ce code  chapelle par le nom de votre volume crypté

[autorun]
open=TrueCrypt\TrueCrypt.exe /q /a /e /m rm /v "chapelle"
shell=mount
action=Mount TrueCrypt Volume
shell\open\command=TrueCrypt\TrueCrypt.exe /e /m rm /v "chapelle"
shell\open=TrueCrypt Start
shell\mount\command=TrueCrypt\TrueCrypt.exe /q /a /e /m rm /v "chapelle"
shell\mount=TrueCrypt Mount
shell\dismount\command=TrueCrypt\TrueCrypt.exe /q /d
shell\dismount=TrueCrypt Dismount All

Et voilà, il vous suffit de mettre cette clef dans un ordi windows (XP/2000/2003) dont l'utilisateur est adminsitrateur de sa machine et paf Truecrypt se lance grâce à l'autorun vous demande votre mot de passe, éventuellement de chosir la lettre de montage et vous monte votre volume cool.


Ubuntu 18.04 sur Thinkpad T430 et X230

Hors ligne

#5 Le 18/08/2007, à 17:59

Goldy

Re : automontage truecrypt pour clef usb

Le tuto et le scripts sont très utiles.

J'aurais une suggestion, il faudrait pouvoir gérer le mot de passe directement dans le gestionnaire des mots de passes d'ubuntu, je pense que ça ne doit pas être super compliqué, si on pouvait ensuite l'intégrer directement dans ubuntu, ça pourrait être sympa.

Hors ligne

#6 Le 11/04/2008, à 00:29

atlas95

Re : automontage truecrypt pour clef usb

Bonjour, merci beaucoup ! Pouvez vous mettre à jour votre tuto avec la dernière version de truecrypt svp car il semblerait que les options aient changé!
Merci d'avance


Ubuntu sur un XPS m1330:c'est ici !
Mon blog sur ubuntu:c'est ici !
Jabber : cyril at jabber.levis-heb.net

Hors ligne

#7 Le 24/12/2009, à 16:20

fgi

Re : automontage truecrypt pour clef usb

Bonjour,

Merci pour le tuto. Quelques maj, probablement suite à des changements de version de TrueCrypt :
- Avant tout, pour les débutants complets, ne pas oublier de créer le répertoire de montage. Dans l'exemple de BMF en début de post :

sudo mkdir /media/crypted

Ensuite, perso, je suis sur une Ubuntu 9.10. Les prérequis 1/ et 2/ sont inutiles. Mais là, les spécialistes pourront dire si c'est une nouveauté de la 9.10 ou si j'ai des options bien positionnées par défaut quelque part ;-)

Enfin, dans le script de connexion (autorun.sh), les options de truecrypt ont bougé. Personnellement, l'ai retiré le --mount-options ce qui donne :

#!/bin/sh

#determine le chemin de la clef
CHEMIN=$(dirname $0)

#demande le mot de passe
MDP=`zenity --entry --text "Mot de passe:" --hide-text`

#teste le mot de passe et monte le volume
if test  -z $MDP 
then
    exit;
fi

RES=`truecrypt -p $MDP $CHEMIN/chapelle /media/crypted`

ret=$?



#redemande (en boucle au cas où) le mot de passe en cas d'erreur de saisie
while [ $ret != 0 ]
do
    zenity --error --text "$RES" 


MDP=`zenity --entry --text "Mot de passe:" --hide-text`


if test  -z $MDP 
then
    exit;
fi

RES=`truecrypt -p $MDP $CHEMIN/chapelle /media/crypted`

ret=$?


    
done

Et ça roule big_smile

Dernière modification par fgi (Le 24/12/2009, à 16:21)


L'homme ne recherche pas La Vérité. Il n'est qu'avide de certitude ... [Cornélius Castoriadis]

~ Ubuntu 22.04 64 bits ~

Hors ligne