Hay varias maneras (loginhook, launchdaemon, etc.) para montar automáticamente un sparsebundle antes de iniciar sesión, pero no hay ninguna sin escribir la contraseña en texto sin formato para montar automáticamente un sparsebundle cifrado.
La lectura de la contraseña del llavero requiere desbloquearla antes, por lo que 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 cifrada ANTES del buscador de cargas? ? enlace
Pregunta (EDIT):
¿Hay otras formas de pasar una contraseña de llavero sin usar texto plano o interacción del usuario?