Come posso creare un volume APFS crittografato dalla riga di comando?

0

Sto tentando di automatizzare la creazione di un'immagine APFS crittografata con i file al suo interno. Quello che ho finora:

>>> hdiutil create -megabytes 1 -layout GPTSPUD -fs apfs -volname encryption encryption.dmg
    created: .../encryption.dmg

>>> hdiutil attach -stdinpass encryption.dmg
    /dev/disk2              GUID_partition_scheme           
    /dev/disk2s1            Apple_APFS                      
    /dev/disk3              EF57347C-0000-11AA-AA11-0030654 
    /dev/disk3s1            41504653-0000-11AA-AA11-0030654 /Volumes/encryption

>>> diskutil apfs deleteVolume disk3s1
    Started APFS operation
    Deleting APFS Volume from its APFS Container
    Unmounting disk3s1
    Deleting Volume
    Finished APFS operation

>>> diskutil apfs addVolume disk3 APFS encryption -nomount -stdinpassphrase
    Exporting new encrypted APFS Volume "encryption" from APFS Container Reference disk3
    Started APFS operation on disk3
    Preparing to add APFS Volume to APFS Container disk3
    Creating APFS Volume
    Created new APFS Volume disk3s1
    Disk from APFS operation: disk3s1
    Finished APFS operation on disk3

>>> hdiutil detach -quiet /dev/disk3


>>> hdiutil detach -quiet /dev/disk2


>>> hdiutil attach -stdinpass encryption.dmg

    hdiutil: attach failed - no mountable file systems

Ma il comando di collegamento finale non è riuscito.

Se provo ad aprire il DMG risultante in Finder, anch'io mi dice che non ci sono file system montabili, quindi chiaramente non sono riuscito ad aggiungere il volume, anche se il comando addVolume è riuscito e ho detto che è stato creato correttamente il volume .

Forse non è così, quindi qualcuno sa come fare?

    
posta Trejkaz 23.05.2018 - 06:05
fonte

2 risposte

0

Con i tuoi comandi non stai effettivamente creando un'immagine disco crittografata perché non hai usato l'opzione -encryption . Ecco un comando che creerà un'immagine 1Mb con crittografia AES-128:

hdiutil create -size 1mb -fs apfs -volname Secret -encryption AES-128 encrypted.dmg -attach

Rimuovi -attach se vuoi che venga montato in un secondo momento.

Quanto sopra produrrà il seguente output:

/dev/disk2              GUID_partition_scheme           
/dev/disk2s1            Apple_APFS                      
/dev/disk3              EF57347C-0000-11AA-AA11-0030654 
/dev/disk3s1            41504653-0000-11AA-AA11-0030654 /Volumes/Secret
created: /private/tmp/encrypted.dmg

Puoi controllare le informazioni sull'immagine con:

hdiutil imageinfo encrypted.dmg

Da qualche parte nell'output vedrai:

Class Name: CEncryptedEncoding
Encryption: AES-128
Encrypted: true
    
risposta data 23.05.2018 - 11:40
fonte
0

Sembra che il volume sia stato creato correttamente, ma hdiutil attach fornisce solo un output fuorviante quando si tenta di montare un disco con un volume crittografato. Se utilizzi -nomount e poi procedi con i comandi diskutil , tutto sembra funzionare.

Ecco il flusso (potrebbero esserci scorciatoie, ma questo è in esecuzione da uno script, quindi a volte si stacca e ricollega perché è così che lo script è organizzato):

>>> hdiutil create -megabytes 1 -layout GPTSPUD -fs apfs -volname encrypted encrypted.dmg
    created: .../encrypted.dmg

>>> hdiutil attach -nomount encrypted.dmg
    /dev/disk2              GUID_partition_scheme           
    /dev/disk2s1            Apple_APFS                      
    /dev/disk3              EF57347C-0000-11AA-AA11-0030654 
    /dev/disk3s1            41504653-0000-11AA-AA11-0030654 

>>> diskutil mount disk3s1
    Volume encrypted on disk3s1 mounted

>>> diskutil apfs deleteVolume disk3s1
    Started APFS operation
    Deleting APFS Volume from its APFS Container
    Unmounting disk3s1
    Deleting Volume
    Finished APFS operation

>>> diskutil apfs addVolume disk3 APFS encrypted -nomount -stdinpassphrase
    Exporting new encrypted APFS Volume "encrypted" from APFS Container Reference disk3
    Started APFS operation on disk3
    Preparing to add APFS Volume to APFS Container disk3
    Creating APFS Volume
    Created new APFS Volume disk3s1
    Disk from APFS operation: disk3s1
    Finished APFS operation on disk3

>>> hdiutil detach /dev/disk3
    "disk3" unmounted.
    "disk3" ejected.

>>> hdiutil detach /dev/disk2
    "disk2" unmounted.
    "disk2" ejected.

>>> hdiutil attach -nomount encrypted.dmg
    /dev/disk2              GUID_partition_scheme           
    /dev/disk2s1            Apple_APFS                      
    /dev/disk3              EF57347C-0000-11AA-AA11-0030654 
    /dev/disk3s1            41504653-0000-11AA-AA11-0030654 

>>> diskutil apfs unlockVolume disk3s1 -stdinpassphrase
    Unlocking any cryptographic user on APFS Volume disk3s1
    Unlocked and mounted APFS Volume

>>> diskutil mount disk3s1
    Volume encrypted on disk3s1 mounted

>>> hdiutil detach /dev/disk3
    "disk3" unmounted.
    "disk3" ejected.

>>> hdiutil detach /dev/disk2
    "disk2" unmounted.
    "disk2" ejected.

>>> hdiutil attach -nomount encrypted.dmg
    /dev/disk2              GUID_partition_scheme           
    /dev/disk2s1            Apple_APFS                      
    /dev/disk3              EF57347C-0000-11AA-AA11-0030654 
    /dev/disk3s1            41504653-0000-11AA-AA11-0030654 

>>> dd if=/dev/disk3 of=encrypted.img

    1968+0 records in
    1968+0 records out
    1007616 bytes transferred in 0.049776 secs (20242977 bytes/sec)

>>> hdiutil detach /dev/disk3
    "disk3" unmounted.
    "disk3" ejected.

>>> hdiutil detach /dev/disk2
    "disk2" unmounted.
    "disk2" ejected.
    
risposta data 24.05.2018 - 07:47
fonte

Leggi altre domande sui tag