¿Puedo montar una image encriptada ANTES de que Finder cargue?

Tengo la mayor parte de mi ~ carpeta en una image de disco de package disperso disperso. Lo tengo configurado para automontar a través de Prefs> Usuarios, pero se carga DESPUÉS del Buscador, por lo que mi Escritorio está en blanco a less que fuerce el relanzamiento del Buscador.

¿Hay alguna forma (supongo que a través de la command-line) para que el sistema operativo monte esta image de disco PRIMERO al iniciar session, antes de que se inicie cualquier otra cosa, incluido el Buscador?

  • Recupere completamente el espacio del package disperso cuando "hdiutil compact" no sea suficiente
  • ¿Cómo puedo "limpiar" mis copys de security de Time Machine si Time Machine no realiza una copy de security porque el disco está lleno?
  • ¿Por qué no puedo pegar en el cuadro de dialog de contraseña al montar una image de disco encriptada?
  • Time Machine restre no reconoce la contraseña de sparsebundle
  • Time Machine - Error 'Sparsebundle ya en uso'
  • ¿Cómo puedo montar un sparsebundle de Time Machine para poder modificarlo?
  • Time Machine: mueva la copy de security del disco local al volumen de la networking. ¿Sensibilidad errónea?
  • Time Machine backup .sparsebundle file inaccesible en una computadora nueva
  • One Solution collect form web for “¿Puedo montar una image encriptada ANTES de que Finder cargue?”

    El assembly de sparsebundle se puede realizar a través de la línea de command utilizando el command 'hdiutil'. También puede crear un script de shell que realice esta acción. Este script asume que la image se encuentra en /Users/somebody/Image.sparsebundle, y que la contraseña usada para encriptar la image es "testpass"):

    #!/bin/bash # # This script mounts the disk image at /Users/somebody/Image.sparsebundle # echo -n testpass | hdiutil mount /Users/somebody/Image.sparsebundle 

    Después de crear esa secuencia de commands en algún editor de text, puede cambiar los permissions del file para permitir que se ejecute. Suponiendo que este script se haya creado en / Users / someone / MountSparsebundle, puede usar Terminal para hacerlo ejecutable:

     chmod 755 /Users/somebody/MountSparsebundle 

    Una vez que hayas hecho que el file sea ejecutable, deberías poder ejecutar el command usando la Terminal. En Terminal, escriba la ruta completa del script para ejecutarlo:

     /Users/somebody/MountSparsebundle 

    La secuencia de commands debería ejecutarse y provocar que el package sparsebundle se monte. Tenga en count que deseará desmontar ese package de sparse antes de ejecutar el script (para confirmar que se está montando cuando use el script).

    Después de verificar que el script está funcionando, puede crear un LaunchDaemon que será responsable de montar este package disperso en el arranque. El file de configuration de LaunchDaemon debe instalarse en / Library / LaunchDaemons, lo que hará que se cargue antes de la window de inicio de session. Aquí hay un ejemplo de un file de configuration de lanzamiento que ejecuta un script ubicado en / Users / alguien llamado "MountSparsebundle":

     <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Disabled</key> <true/> <key>RunAtLoad</key> <true/> <key>Label</key> <string>com.example.mountsparsebundle</string> <key>Program</key> <string>/Users/somebody/MountSparsebundle</string> </dict> </plist> 

    El último paso que necesitaría tomar sería configurar el sistema de lanzamiento para cargar ese daemon de inicio al arrancar. Esto se puede lograr utilizando launchctl (suponiendo que el file en el paso anterior se guardó en "/Library/LaunchDaemons/com.example.mountsparsebundle.plist"):

     sudo launchctl load -w /Library/LaunchDaemons/com.example.mountsparsebundle.plist 

    Alternativamente, puede usar LoginHook, que suspenderá el inicio del Finder hasta que finalice el script de inicio de session. Aunque Apple no recomienda LoginHooks, se pueden usar para lograr lo que estás tratando de hacer. Puede configurar el script mencionado anteriormente como un enlace de inicio de session utilizando el command defaults:

     sudo defaults write com.apple.loginwindow LoginHook /Users/somebody/MountSparsebundle 

    Nota: Los LoginHooks se ejecutan como root, lo que representa un riesgo de security … Sin embargo, esto también le permitirá examinar al usuario actual que está iniciando session (como parte del script) y realizar acciones basadas en las cnetworkingenciales del usuario. Aquí hay un script modificado que muestra un ejemplo de cómo analizar el nombre de usuario que está iniciando session (que se pasa al script como argumento $ 1):

     #!/bin/bash # # This script mounts the disk image at /Users/somebody/Image.sparsebundle # if [ "$1" == "somebody" ]; then echo -n testpass | hdiutil mount /Users/somebody/Image.sparsebundle fi 
    Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).