Hay varias maneras (loginhook, launchdaemon etc.) a automount un sparsebundle antes de iniciar sesión, pero no hay ninguno sin escribir la contraseña en texto plano para automount un cifrado sparsebundle.
La lectura de la contraseña del llavero requiere para desbloquearlo antes de que, por lo tanto no es posible automatizar el proceso sin la acción del usuario.
#!/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"
Para más información ver:
Puedo montar una imagen cifrado ANTES de selector de carga? http://techanic.net/2012/10/14/programmatically_mounting_encrypted_disk_images_in_os_x.html
Pregunta (EDIT):
Hay otras maneras de pasar un llavero contraseña sin utilizar texto sin formato o la interacción con el usuario?