Det finns flera anledningar till att man idag vill kryptera sin disk industrispionage, stöld mm.
I detta inlägg tar jag upp hur man installerar Ubuntu 9.10 på en maskin med en eller flera diskar med flera partitioner och sätter upp systemet så att man bara behöver ange ett lösenord för att öppna och montera alla enheterna.
Först behöver vi bränna en Ubuntu skiva vilket kan hämtas från ftp://ftp.sunet.se/pub/Linux/distributions/ubuntu/ubuntu-cd/9.10/
Den skiva jag använt i guiden är ubuntu-9.10-alternate-i386.iso (det går utmärkt att byta ut den mot AMD64/x64 versionen om man har 64bitars cpu eller till kubuntu/xubuntu versionen. Det måste dock vara den alternativa skivan och inte desktop versionen som används.) Bränn imagen med valfritt program och boota den dator som skall installeras med det brända mediat.
Steg 1: Pre-install. Skapande av partitioner och utrymme för cryptodata.
Starta installationen och gör dina val gällande språk etc. Tills du ser den här rutan:

Vi ska nu manuellt partitionera disken. (jag kommer att använda mig av en disk i detta exempel men det är bara att öka på med andra diskar/partitioner om så önskas.)
Börja med att se till att disken har en partitionstabell

Installationsprogrammet kommer att fråga om du vill skapa en ny tom partitionstabell så välj JA/YES (förutsatt att du inte har information på disken du vill behålla, men den här guiden förutsätter att du som läsare har tillräcklig kunskap för att göra ett sådant beslut och jag kommer inte att gå in på det närmare.)

Nu borde din disk se ut som följande

Vi ska nu skapa den första partitionen /boot


100 MB är fullt tillräckligt

Se till att partitionen är en primär partition annars kommer maskinen inte att kunna boota.

Se till att partitionen ligger först

Välj nu EXT4 som filsystem (eller annat om du föredrar det) /boot som mount point och se till att bootable flag är satt till On

När vi återvänder till disklayouten ser vi att vi skapat en 98.7MB stor partition som är bootbar (B) på /boot.
Vi ska nu skapa ytterligare två partitioner som båda skall vara primära, den första skall husera / och den andra /home så se till att ge tillräckligt med utrymme för detta.
Dock ska vi inte skapa några verksamma filsystem. När du ser den här skärmen ska du ändra Use as: från EXT4

till physical volume for encryption


När allt ser bra ut klicka på Done och gå tillbaka till disklayouten

Upprepa nu detta för den partition som skall husera /home

Vi skall nu ha en /boot partition och två stycken partitioner förberedda för kryptering. Om du vill ha en swap partition rekommenderar jag att du skapar en innan du skapar crypto partitionerna.
Gå nu till configure encrypted volumes

Välj JA/YES.

Välj Create…
Markera nu de två cryptopartitioner vi skapade tidigare och välj continue.

Vi är klara här så välj Finish

Du måste nu välja ett lösenord för diskarna. I exemplet har jag kört med ett svagt lösenord, men jag rekommenderar att du använder ett på minst 10 tecken och inga vanligt förekommande ord.

Verifiera

Upprepa sedan för den andra partitionen.
När detta är klart är vi tillbaka i disklayouten där det nu finns två nya partitioner, markera den första som ska bli / katalogen

Ställ in önskade variabler och klicka på done.

Gör samma för den andra partitionen och sätt den till /home

Kontrollera att allt ser bra ut enligt följande. Om du har flera diskar så räkna med att det kommer att se lite annorlunda ut.

Då vi inte har skapat någon swap partition så kommer installationen att klaga över detta, välj No för att gå vidare. (bilden visar defaultläget)

Välj Yes du vill skriva ändringarna till disk. (bilden visar defaultläget)

Partitioner skapas.

Nu kommer systemet att installeras och om allt går som det ska så kommer maskinen starta om och vi är då framme vid steg 2.
Steg 2: Post-install. Skapande av nyckelfiler och associering av dessa till efterföljande partitioner.
Om systemet installerats korrekt och allt fungerar som det ska kommer du efter boot att mötas av denna bild. Ange lösenordet till den första partitionen /

Om du skrivit rätt visas meddelandet cryptsetup: sdaX_crypt setup successfully (där X är partitionsnumret).

Upprepa nu proceduren för alla ytterligare partitioner som kan tänkas finnas.

När du har kommit in i systemet så är det dags att dra igång en terminal. Vad vi ska göra är att skapa en nyckelfil, associera den med den eller de crypto-partitioner som skall monteras automagiskt efter att du angett lösenordet för / partitionen.
Du kan antingen välja att skriva sudo framför varje kommando, men jag tycker personligen att det är omständigt och väljer hellre att köra kommandot sudo su för att bli root
Vi ska nu skapa nyckeln, ett bra ställe att förvara den på är i root användarens hemkatalog /root
root@ubuntu:~# cd /root
För att skapa själva nyckeln tar vi 256 bitar slumpad rådata ur /dev/urandom eller /dev/random, valet är fritt.
root@ubuntu:~# dd if=/dev/urandom of=key bs=256 count=1
1+0 records in
1+0 records out
256 bytes (256 B) copied, 0.000104157 s, 2.5 MB/s
För att kontrollera att vi skapat nyckeln på rätt plats kör vi först en ls och sedan anger vi rättigheterna till 400 vilket ger enbart root läsrättigheter till filen
root@ubuntu:~# ls -lash key
4.0K -rw-r–r– 1 root root 256 2009-12-22 10:01 key
root@ubuntu:~# chmod 400 key
root@ubuntu:~# ls -lash key
4.0K -r——– 1 root root 256 2009-12-22 10:01 key
Om du har glömt vilken partition som är nästföljande crypto partition så kör fdisk
root@ubuntu:~# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0×0000000
Device Boot Start End Blocks Id System
/dev/sda1 * 1 12 96358+ 83 Linux <– Detta är booten
/dev/sda2 13 863 6835657+ 83 Linux <– Om du har följt guiden är detta /
/dev/sda3 864 1044 1453882+ 83 Linux <– Nästföljande partition
Om du fortfarande är osäker kan du skriva mount utan argument
root@ubuntu:~# mount
/dev/mapper/sda2_crypt on / type ext4 (rw,errors=remount-ro)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/sda3_crypt on /home type ext4 (rw)
Vi vet nu att /dev/sda3 är den disk till vilken vi vill associera nyckelfilen vi skapade.
root@ubuntu:~# cryptsetup luksAddKey /dev/sda3 /root/key
Enter any LUKS passphrase: <– Lösenordet till den disken inte till /
key slot 0 unlocked.
Command successful.
Vi måste nu ändra i crypttab filen. Crypttab är den fil som hanterar permanenta cryptenheter vid ex. boot
Om vi cat’ar filen ser den ut såhär
root@ubuntu:~# cat /etc/crypttab
sda2_crypt /dev/disk/by-uuid/d9f8802a-7fb8-4b8e-91f8-de9a3e2c763f none luks
sda3_crypt /dev/disk/by-uuid/f9c863e1-fa84-411c-87f6-ca5a9fcd0c2e none luks
Ta din favoriteditor eller nano och byt ut none i den rad som korresponderar med partitionen till /root/key (förutsatt att det är där du lagrat nyckeln)
Filen borde nu ge
root@ubuntu:~# cat /etc/crypttab
sda2_crypt /dev/disk/by-uuid/d9f8802a-7fb8-4b8e-91f8-de9a3e2c763f none luks
sda3_crypt /dev/disk/by-uuid/f9c863e1-fa84-411c-87f6-ca5a9fcd0c2e /root/key luks
Starta nu om maskinen. Ange lösenordet till / och vänta. När systemet öppnat / monteras denna och systemet loopar därefter igenom crypttab ytterligare en gång och kan nu hitta nyckelfilen till /home då / är monterad. Detta tar ett par sekunder och skärmen ser ut som tidigare. Skillnaden är att man nu kommer in i systemet utan att behöva skriva lösenordet till den andra cryptopartitionen.

För att kontrollera att /home verkligen har monterats skriv
root@ubuntu:~# mount
/dev/mapper/sda2_crypt on / type ext4 (rw,errors=remount-ro)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/sda3_crypt on /home type ext4 (rw)
Om du inte får det att fungera, gå igenom varje steg i guiden och kontrollera att du har gjort rätt.