2 votes

monter un sparseimage crypté comme répertoire personnel avant la connexion

Il y a plusieurs façons (loginhook, launchdaemon etc.) de monter automatiquement un sparsebundle avant de se connecter, mais il n'y en a pas sans écrire le mot de passe en clair pour monter automatiquement un sparsebundle crypté.

La lecture du mot de passe dans le trousseau nécessite de le déverrouiller au préalable, il n'est donc pas possible d'automatiser le processus sans l'intervention de l'utilisateur.

#!/usr/bin/env bash -e
# SOURCE: http://risponderetag.wpdev8.com/p/35966.html

SPARSEBUNDLE_PATH="/Users/Shared/username.sparsebundle"
SPARSEBUNDLE_MOUNT_PATH="/Users/username/"
KEYCHAIN_PATH="/Users/username/Library/Keychains/login.keychain"

# Check existing states
if [ -e "$SPARSEBUNDLE_MOUNT_PATH" ]; then
    echo "Already mounted."
    exit 0    
fi

# The mount command uses security find-generic-password
# to get the password from the keychain store
MOUNT_PASSWORD=$(security find-generic-password -w -D "disk image password" -l username.sparsebundle $KEYCHAIN_PATH)
printf $MOUNT_PASSWORD | hdiutil attach -stdinpass -mountpoint "$SPARSEBUNDLE_MOUNT_PATH" "$SPARSEBUNDLE_PATH" 

Pour plus d'informations, voir :

Puis-je monter une image cryptée AVANT le chargement du Finder ? http://techanic.net/2012/10/14/programmatically_mounting_encrypted_disk_images_in_os_x.html

Question (EDIT) :

Existe-t-il d'autres moyens de transmettre un mot de passe de trousseau sans utiliser de texte en clair ou d'interaction avec l'utilisateur ?

1voto

Dan Points 111

En fonction de votre cas d'utilisation, j'ai peut-être une réponse à votre dilemme. Si l'emplacement vers lequel vous montez existe avant le montage du disque, le fait de se connecter avant de monter le disque créera un système de fichiers utilisateur par défaut avec son propre trousseau de clés de connexion. Vous pouvez vous connecter avec un compte différent, monter le disque et enregistrer le mot de passe dans le trousseau, copier le mot de passe dans le trousseau du système et (après avoir démonté le disque) transférer le mot de passe dans le trousseau de connexion du compte utilisateur non monté. Cet élément existera avant le montage, de sorte que le disque pourra être monté automatiquement à l'ouverture de session. Vous devriez donc pouvoir utiliser ce mot de passe avec les agents de lancement. Allez dans les options du mot de passe et autorisez toutes les applications à l'utiliser afin que vous ne soyez pas invité à faire quoi que ce soit une fois qu'il se trouve à son emplacement définitif.

Si vous ne parvenez pas à faire fonctionner les agents de lancement, vous pouvez toujours écrire un petit applescript pour rafraîchir votre finder afin d'afficher le bureau approprié et le placer dans les éléments de connexion du compte non monté afin qu'il s'exécute après le montage du disque.

delay 5
do shell script "killall Finder"

Mettez-le dans le dossier /Users/Shared ou dans un autre dossier afin qu'il soit accessible avant le montage et que le processus de montage n'interfère pas.

Cela ne nécessite donc pas d'interaction de la part de l'utilisateur, du moins au-delà du processus de connexion. J'espère que cela vous aidera !

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X