Scambia non funziona su un'installazione pulita 14.04 usando home crittografata


28

Aggiornamento 3:

Ho deciso di reinstallare il sistema da zero per rimuovere qualsiasi vecchia cruft in giro poiché avevo riscontrato anche altri problemi dopo l'aggiornamento. Tuttavia, questo problema è persistito.

In un'installazione pulita, la scelta di installare utilizzando "home crittografata" porta a una configurazione di swap crittografata interrotta.

Aggiornamento 2:

Ho corretto l'ordine di suddivisione di cui si è lamentato cfdisk, ma il problema persiste. Lo swap è ora su / dev / sda6 e posso farlo funzionare come segue:

~$ sudo mkswap /dev/sda6
Setting up swapspace version 1, size = 7998460 KiB
no label, UUID=18881d0f-d9ec-43be-a23f-0cbd78ea6d22

$sudo nano /etc/crypttab # Update crypttad with new UUID

$ sudo /etc/init.d/cryptdisks reload
 * Stopping remaining crypto disks...
 * cryptswap1 (stopped)...                                               [ OK ] 
 * Starting remaining crypto disks...                                        
 * cryptswap1 (starting)..
 * cryptswap1 (started)...                                               [ OK ] 
$ sudo swapon -a

$ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May 11 09:04 08b07f88-6da5-4b40-b062-42b3bb1c5f00 -> ../../sda3
lrwxrwxrwx 1 root root 10 May 11 09:08 18881d0f-d9ec-43be-a23f-0cbd78ea6d22 -> ../../sda6
lrwxrwxrwx 1 root root 10 May 11 09:04 19aa372c-05c8-4226-8f09-c54e5566e816 -> ../../sda5
lrwxrwxrwx 1 root root 10 May 11 09:04 A800B16E00B143DA -> ../../sda1
lrwxrwxrwx 1 root root 10 May 11 09:04 D28230E68230D129 -> ../../sda2
lrwxrwxrwx 1 root root 10 May 11 09:08 fcc8c419-8fec-4d4d-b55e-9e4c3b04d21d -> ../../dm-0

Ma dopo un riavvio lo swap non si attiva e sembra di nuovo così:

$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May 11 09:12 08b07f88-6da5-4b40-b062-42b3bb1c5f00 -> ../../sda3
lrwxrwxrwx 1 root root 10 May 11 09:12 19aa372c-05c8-4226-8f09-c54e5566e816 -> ../../sda5
lrwxrwxrwx 1 root root 10 May 11 09:12 A800B16E00B143DA -> ../../sda1
lrwxrwxrwx 1 root root 10 May 11 09:12 D28230E68230D129 -> ../../sda2

La mia ipotesi al momento è che quando si configura il disco come Linux crittografato non riconosce più il tipo di partizione e quindi non lo carica correttamente, impedendo che si registri per il suo UUID e quindi cryptswap non riesce a trovarlo causando l'errore. Ma non so come risolverlo ..

Domanda aggiornata:

Ulteriori test hanno rivelato che avrei potuto ottenere lo swap attivo e funzionante eseguendo $ mkswap / dev / sda5

e quindi aggiornando / etc / crypttab con l'UUID corretto e seguendo i passaggi qui descritti: Come posso impostare un file di scambio crittografato?

Il problema tuttavia rimane quando riavvio il computer, / dev / sda5 non appare quando corro

$ ls -l /dev/disk/by-uuid/

Se lo faccio:

$ cfdisk /dev/sda 

Ottengo il seguente errore:

FATAL ERROR: Bad logical partition 6: enlarged logical partitions overlap
                      Press any key to exit cfdisk

L'utilità grafica "Dischi" non si lamenta di alcun errore quando si apre il disco utilizzandolo.

$ sudo fdisk -l

Disk /dev/sda: 256.1 GB, 256060514304 bytes
255 heads, 63 sectors/track, 31130 cylinders, total 500118192 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x619aebf1

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848   100870143    50331648    7  HPFS/NTFS/exFAT
/dev/sda3       191397888   192397311      499712   83  Linux
/dev/sda4       192399358   500117503   153859073    5  Extended
/dev/sda5       484118528   500117503     7999488   82  Linux swap / Solaris
/dev/sda6       192399360   484118527   145859584   83  Linux

Partition table entries are not in disk order

Domanda originale:

Dopo l'aggiornamento alla versione 14.04 (dalla 13.04) il mio computer ha avuto grossi rallentamenti, quando ho funzionato ho notato che kswap0 impiegava parecchio tempo in CPU. Ho anche notato che non avevo spazio di swap!

$ sudo swapon -a
swapon: /dev/mapper/cryptswap1: stat failed: No such file or directory

Sembra che ci sia qualche problema con la mia configurazione di scambio crittografata (non sapevo nemmeno che ne avessi uno)

$ cat /etc/crypttab 
cryptswap1 UUID=abe3c568-c8fd-4dfb-b8e9-0520d442dd61 /dev/urandom swap,cipher=aes-cbc-essiv:sha256

$ ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 May  6 11:00 08b07f88-6da5-4b40-b062-42b3bb1c5f00 -> ../../sda3
lrwxrwxrwx 1 root root 10 May  6 11:00 19aa372c-05c8-4226-8f09-c54e5566e816 -> ../../sda6
lrwxrwxrwx 1 root root 10 May  6 11:00 A800B16E00B143DA -> ../../sda1
lrwxrwxrwx 1 root root 10 May  6 11:00 D28230E68230D129 -> ../../sda2

E guardando il mio fstab

$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda6 during installation
UUID=19aa372c-05c8-4226-8f09-c54e5566e816 /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda3 during installation
UUID=08b07f88-6da5-4b40-b062-42b3bb1c5f00 /boot           ext2    defaults        0       2
# swap was on /dev/sda5 during installation
#UUID=abe3c568-c8fd-4dfb-b8e9-0520d442dd61 none            swap    sw              0       0
/dev/mapper/cryptswap1 none swap sw 0 0

La mia ipotesi è che ci sia qualcosa di sbagliato nell'installazione di sda5, ma non so come risolverlo poiché è configurato per essere crittografato. Gradirei un aiuto su come procedere.


Non so nulla delle partizioni crittografate, ma quel primo errore suggerisce che la partizione di swap non è stata montata. Anche la linea di montaggio per esso in / etc / fstab è commentata. Vorrei solo decommentare quella linea e riavviare per verificare se ciò risolve
Anake

Sono abbastanza sicuro che dovrebbe essere commentato e la linea cryptswap1 è responsabile del montaggio indiretto usando le informazioni in / etc / crypttab. Il tuo suggerimento lo avrebbe sicuramente montato in modo non crittografato?
ajn

1
Funzionerà? https://ubuntuforums.org/showthread.php?t=2224129 Non sono sicuro di alcuni comandi e non voglio rovinare Ubuntu.

Sembra simile a quello che ho provato, mi aspetto che funzioni per un riavvio, quindi smettere di funzionare una volta attivato lo scambio crittografato per la prima volta.
ajn,

Per il momento sono appena tornato a utilizzare lo scambio regolare. Lo scenario principale contro il quale sto usando la crittografia è se qualcuno ruba il mio laptop e qualcuno con una moderata abilità in linux ha deciso di dare un'occhiata in giro per vedere se riesce a trovare qualcosa di interessante, cioè molto probabilmente prova a fare il boot usando usb e monta la mia partizione home. Non ho nulla che ritengo che qualcuno riterrebbe abbastanza prezioso da provare a iniziare a recuperare frammenti di esso dallo swap. Dovrebbe davvero essere un'opzione di installazione per utilizzare home criptato + scambio regolare.
ajn

Risposte:


16

Bug noto

C'è un bug (vedi sotto) che sovrascrive UUIDla partizione non appena i dati vengono scritti su di essa. Pertanto, non è possibile utilizzare il UUIDriferimento alla partizione da utilizzare per lo scambio crittografato.

In questi giorni, lo spazio di swap non viene quasi mai utilizzato. Sul mio computer, lo scambio viene utilizzato solo quando apro la mia 40a scheda. Quando non ho swap, improvvisamente il mio computer inizia a rallentare e il browser si chiude da solo. O nel caso del Chromiumbrowser, molte schede improvvisamente "muoiono".
Per questo motivo, il riferimento /dev/disk/by-uuid/nel tuo /etc/crypttabpotrebbe sembrare funzionare per un po ', ma non appena lo spazio di swap viene effettivamente utilizzato, lo sovrascriverà UUIDperché l'intera partizione viene utilizzata per l'archiviazione dei dati crittografati.

Easy Fix

La soluzione semplice è fare riferimento alla partizione di swap per dispositivo nel tuo /etc/crypttab, ad esempio:

cryptswap1 /dev/sda5 /dev/urandom swap,cipher=aes-cbc-essiv:sha256

Attenzione: questo è probabilmente sicuro su un laptop (lo uso in questo modo), ma se sei su un desktop con unità scambiabili o hai altri motivi per cambiare il layout di unità / partizione, non vuoi farlo, come un la normale partizione di archiviazione potrebbe essere improvvisamente utilizzata per lo scambio.

Nota: è necessario riavviare per rendere effettive le modifiche, poiché solo quando verrà /dev/mapper/cryptswap1creato l' avvio .

Correzione corretta

Il modo corretto per risolvere questo problema è assicurarsi che la parte della partizione UUIDnon elaborata che lo memorizza non sia sovrascritta da dati di scambio crittografati, quindi sarà comunque presente al riavvio. Tuttavia, non sono sicuro di dove UUIDsia scritto e di quanti byte occupi. Potresti, a tuo rischio, testarlo in questo modo:

cryptswap1 UUID=abe3c568-c8fd-4dfb-b8e9-0520d442dd61 /dev/urandom swap,offset=36,cipher=aes-cbc-essiv:sha256

Nota il offset=36.

Per favore, se hai un account Ubuntu One accedi e vai al Bug # 1310058 su Launchpad e scegli (o fai clic qui): "Anche questo bug influisce su di me", quindi il bug guadagnerà "popolarità" ed è più incline a essere risolto.


Aggiornamento 27/10/2014

Mi sono anche imbattuto in questo. Non verificato da me Sembra un offsettrucco con più verbosità e commenti sulla ricostruzione di uno scambio interrotto.

https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/1310058/comments/22


5
Voglio solo notare che il bug viene rintracciato su bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/953875 a partire da pochi giorni (metà marzo 2015) lo stato è "risolto," tuttavia quella correzione si applica solo esplicitamente a 15.04. Sto cercando di vedere se viene eseguito il backport su 14.04 LTS ... e quale potrebbe essere la procedura di aggiornamento "ufficiale"
Tommy Trussell,

1
@ TommyTrussell: il backport non sarebbe pazzo per LTS. Bug per cose cruciali come questa ancora aperti quasi un anno dopo il rilascio è il motivo per cui anche le distro Linux biggist non saranno mai alla pari con OSX e Windows. Sfortunatamente.
Redsandro,

Non sono a conoscenza della discussione pubblica dei bug in quanto vengono corretti in OSX e Windows, quindi come possono essere "alla pari"? Nella mia esperienza con OSX, i bug vengono corretti o meno; nessuna discussione pubblica, quindi sono "opachi". Ho semplicemente menzionato il nuovo numero di bug (perché quello che hai collegato era stato contrassegnato come duplicato) in modo da poter aggiornare il tuo riferimento. Come puoi vedere dalla discussione sul post del forum menzionato nel Bug 953875, la correzione più stabile potrebbe differire a seconda del sistema init, che sta cambiando in 15.04. Pertanto, la correzione 14.04 potrebbe presentare problemi tecnici per la compatibilità futura.
Tommy Trussell,

Sto solo dicendo che non vedrai mai qualcosa come "Oh, comunque, SWAP è rotto" su un sistema come Windows o OSX. Questo è il tipo di funzionalità di base che non otterrebbe mai RTM prima di essere testato e risolto. È tutto. Per quanto riguarda la sicurezza, nessuna discussione pubblica ma ci sono ancora statistiche .
Redsandro,

@Redsandro Bene, è un sistema operativo gratuito e cose come questa verranno risolte solo prima del rilascio se le persone scoprono il bug durante il test del rilascio. Dopo il rilascio, è troppo rischioso che la correzione di un bug interrompa qualcos'altro sulla configurazione di qualcuno. Tuttavia, potrebbe essere risolto in una versione più recente, quindi potrebbe valerne la pena utilizzarlo, ma le versioni intermedie sono in genere più instabili rispetto alle versioni LTS, poiché l'attenzione è più rivolta agli aggiornamenti generali. Ma hai identificato il motivo per cui il test / correzione dei bug / Quality Assurance (QA) è così importante e Ubuntu sta migliorando.
Ads20000,

9

Avevo lo stesso identico problema in Ubuntu 14.04 e mi sono imbattuto in questo thread; questo collegamento fornito dal mutante ha funzionato bene per me. Ho usato il /dev/disk/by-idriferimento piuttosto che / dev / sdXY, poiché quel riferimento non punta sempre alla stessa partizione fisica. Il mio è /etc/crypttabfinito come:

cryptswap1 /dev/disk/by-id/wwn-0x500...-part6 /dev/urandom swap, cipher=aes-cbc-essiv:sha256

3
Questa è la soluzione corretta e facile !
Serge Stroobandt,

7

Usa uno scambio non crittografato

... e mantieni / home crittografato

Ho provato un paio delle altre soluzioni suggerite qui. Anche se hanno continuato a funzionare dopo un riavvio a caldo, alla fine hanno fallito tutti dopo uno spegnimento e un riavvio a freddo.

Questo ci dice che stiamo effettivamente affrontando un doppio bug:

  1. L'UUID dell'unità di scambio viene sovrascritto dal sistema di crittografia e
  2. Si è verificato un problema di timeout durante l'avvio.

Questi pensieri si riflettono anche nei commenti al bug relativo archiviato su Launchpad . Tuttavia, con il passaggio in sospeso da Upstart a systemd, si fa poco per risolvere il bug sui sistemi LTS attuali.

A questo punto, mi sono venute in mente i seguenti pensieri:

  1. Durante l'installazione del sistema, ho chiesto di crittografare solo la mia \homepartizione, nient'altro.
  2. I rischi associati al fatto di non avere una partizione di swap crittografata sono piuttosto limitati.
  3. Spetta a Canonical ripulire il proprio atto. Non perderò più tempo con questo.

Quindi, ecco la mia soluzione per ripristinare lo scambio come uno scambio normale e non crittografato senza dover reinstallare l'intero sistema operativo.

  1. Se non lo hai già fatto, installa blkid:$ sudo apt-get install blkid
  2. Modifica /etc/crypttabed elimina l'intera cryptswap1riga:$ sudo nano /etc/crypttab
  3. Avviare GParted dal menu Impostazioni di sistema.
  4. Vedrai una partizione con un punto esclamativo. Questa dovrebbe essere la partizione di swap difettosa. Selezionalo attentamente e riformattalo in una linux-swappartizione. Dopo aver applicato questa operazione, si viene informati sul nuovo UUID della partizione di scambio normale ripristinata. Ti viene offerta l'opportunità di salvare queste informazioni. In caso contrario, sappi che puoi sempre recuperare il nuovo UUID dalla riga di comando con blkid:$ sudo blkid
  5. Ora è tempo di ripristinare la /etc/fstabsua antica gloria:$ sudo nano /etc/fstab

    • Rimuovere l'intera riga contenente un riferimento a /dev/mapper/cryptswap1.
    • Rimuovi il commento dalla vecchia swapriga rimuovendo l'hash #di fronte UUID=....
    • Ora, sostituisci il vecchio UUID con quello nuovo ottenuto in precedenza.
    • Scrivi il file premendo Ctrl+ O ed esci nanocon Ctrl+ X.
  6. Una volta fatto tutto ciò, puoi già iniziare a utilizzare il nuovo swap non crittografato con: $ sudo swapon -a
  7. Questa soluzione sopravvive sia ai riavvi a caldo che allo spegnimento con riavvio a freddo.

1
Questa è l'unica risposta che ha funzionato per me, anche se ho provato tutto il resto.
quindici

In gparted la mia partizione di swap ha il flag di avvio. Funzionerà ancora o non sarò in grado di avviarlo?
Christian Skjødt,

@ ChristianSkjødt La partizione di swap non deve avere il flag di avvio impostato. Comunque, la procedura sopra descritta non influirebbe su nulla di tutto ciò.
Serge Stroobandt,

2

Dai un'occhiata a questo . Ho risolto questo problema semplicemente sostituendo UUID = ... con / dev / sda3 in / etc / crypttab.


1
esegui prima "sudo fdisk -l" per verificare come viene chiamata la tua partizione di swap, può essere "/ etc / sda5" o altro, quindi modifica cryptab come descritto da mutante. Questo ha funzionato per me e sopravvive al riavvio. Questo è sicuramente un bug poiché ho riscontrato questo problema con una nuova installazione su un nuovo SSD. Ho optato per l'opzione "Encrypt home directory" al momento dell'installazione, molto meglio per crittografare / home dopo l'installazione, specialmente se stai copiando i file da un vecchio / home da un'installazione precedente.
Paul Williams,

L' sudo fdisk -lera qualcosa che nessuno stava dicendo. Grazie per questo! :)
Aman Alam il

Dovresti almeno avvisare le persone che i /dev/sd*percorsi possono cambiare per un capriccio e portare alla distruzione della partizione sbagliata dai dati di scambio. /dev/disk/by-idè superiore.
underscore_d

0

Ho questo problema, così come le persone in questione 332625 . Una combinazione di sospensione e riavvio perde l'UUID della partizione di swap (come dice il commento nel tuo / etc / fstab , confermalo con sudo blkd), quindi la riga nel tuo / etc / crypttab per usare quell'UUID in quanto lo scambio crittografato fallisce.

Non ho fortuna a cambiare / etc / crypttab per usare il /devnome della partizione ( / dev / sda6 nel tuo caso) o il dev/disk/by-id/nome invece dell'UUID che sta scomparendo.

L'abbandono dello swap crittografato è la soluzione più semplice e finora la migliore, purtroppo.


questo problema è molto vecchio, mi chiedo perché non l'hanno già risolto, ora sto affrontando lo stesso problema con il mio desktop e non riesco a farlo funzionare, risolto sul mio laptop in passato ma non ricordo come :(
tomasb,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.