# dmcrypt (/etc/conf.d/dmcrypt)

## sherszen

Witam,

```

target=crypt-home

source='/dev/sda7'

key='hornet.h'

remdev='/dev/sdb1'

```

Mam nastepującą zawartośc tego pliku. No niesety, nawet nie chce mi zamontować pendrive'a. A czy ktoś w tym skrypcie przewidział, że nie mam pod ręką pena i chcę uzyć hasła?

Jak to naprawić?

Pozdrawiam.

Póki co dziękuję @SlashBeast za pomoc.  :Smile: 

----------

## ryba84

Jak usuniesz linijkę zaczynającą się od key i remdev to będzie pytał o hasło. Co do tego czy da się zrobić, żeby w przypadku braku pena w porcie pytał o hasło to chyba sam dmcrypt chyba tego nie potrafi. Zawsze możesz napisać sobie jakiś skrypt, który będzie odpalał cryptsetup z odpowiednimi parametrami w zależności od obecności pena i wrzucić go do odpowiedniego runlevelu.

----------

## sherszen

Mi to chyba nie działa dlatego, bo mam ntfs na pendrivie, czy się mylę? ntfs-3g uzywam normalnei do montowania.

----------

## ernov

A podobno na pamięciach flash nie powinno się używać księgowanych systemów plików.

----------

## SlashBeast

Dmcrypt na pendrive dziala bardzo fajnie jak masz pmount. Wpinasz pena, wstukujesz pmount sdb1 (dla przykladu) i... pyta Cie o haslo, wpisujesz, i montuje CI to w /media/sdb1. Pmount nie wymaga zadnej konfiguracji czy wpisow w fstabie.

----------

## sherszen

 *ernov wrote:*   

> A podobno na pamięciach flash nie powinno się używać księgowanych systemów plików.

 

Bo? A tak na marginesie z fat32 musiałem zrezygnować, bo nie mogłem kopiować plików większych niż 4GB.

@SlashBeast

Dzięki za radę, przyda się w przyszłości. W ogóle to co można stosować do automontu nośników zewnetrznych? Nie chce używać hal, co najwyżej używam dbusa, bo mi się łajza zainstalowała z firefox-bin. Pmount rozumiem jest na czasie?

A co do głównego pytania nie mam pojęcia jak zmusić ten fragment /etc/conf.d/dmcrypt do działania.

```

target=crypt-home

source='/dev/sda7'

key='hornet.h'

remdev='/dev/sdb1' 

```

Coś nie tak ustawiłem?

----------

## SlashBeast

nigdy nie uzywalem inita z dmcrypta, uwazam go za conajmniej nie sprytnego. ja na Twoim miejscu napisal bym sobie skrypt sh do tego.

Przy uzyciu initify albo w petli co sekunde sprawdzac czy jest /dev/disk/by-uuid/<uuid>, jak jest, zamontuj go (pena), odszyfruj home czy co tam masz, potem odmontuj pena i umiesc w skrypcie sprawdzenie, czy /dev/mapper/encrypted_home (czy co tam masz) istnieje, jak tak, to niech przerwie skrypt, bo zbedny i juz. Mozesz tez uzyc incrona do tego, generalnie mozliwosci masz dziesiatki, gdzie init skrypt dmcrypta to tylko proof of concept.

----------

## sherszen

Ja bym mógł te skrypty zaakceptować, ale no niestety, brakuje mi opcji pytania o hasło, jeśli nie znajduje pendrivea. Wziąłem przestawiłem sie na ~amd64 z cryptsetup, udev, lvm2 na pendrive wydzieliłem 50 MB na klucze obok ntfs i nałozyłem ext2. Teraz montuje mi pendrive'a, i odczytuje klucz. Konfiguracja wygląda tak:

```

target=crypt-home

source='/dev/sda7'

key='/hornet.h'

remdev='/dev/disk/by-uuid/ed6c04e6-7304-454a-b934-cdf88f94b801'

```

Drugą cześć z hasłem rozwiązuje /etc/conf.d/local.start i taki kod:

```

if [[ ! -h /dev/disk/by-uuid/$disk_uuid ]]; then

  cryptsetup luksOpen /dev/disk/by-uuid/$disk_uuid crypt-home

  mount /dev/mapper/crypt-home

fi

```

Tylko to się wykonuje po sprawdzeniu systemu plików przez system i sprawdzanie nie jest wykonywane. Taka wada.

A ten skrypt co napisany jest do dm-crypta na prawde nie przewiduje podania hasła w przypadku braku pendrive'a?

----------

## Jacekalex

Witam po długiej przerwie.

Właśnie przeprowadzam się na Gentoo z Ubuntu  -Gentoo chodzi podręcznikowo, poza małymi detalami.

Mam pytanie o szyfrowanego swapa:

W Ubuntu -w pliku /etc/crypttab - taki wpis załatwiał sprawę:

```
swap /dev/sda4 /dev/urandom  cipher=aes-xts-plain,size=512,hash=sha512,swap
```

natomiast w /etc/conf.d/dmcrypt próbuję już caly dzień, i ciągle mam tylko komunikaty o błędach:

W ostatniej wersji cryptsetup pyta o haslo, którego nie ma:

Mój konfig dotyczący swapa:

```
## swap

# Swap partitions. These should come first so that no keys make their

# way into unencrypted swap.

# If no options are given, they will default to: -c aes -h sha1 -d /dev/urandom

# If no makefs is given then mkswap will be assumed

swap=swap

options='--cipher=aes-xts-plain --hash=sha512 --key-size=512'

remdev='/dev/urandom'

source='/dev/sda7'
```

A błąd:

```
/etc/init.d/dmcrypt restart

 * WARNING: you are stopping a boot service

 * Removing dm-crypt mappings

 * Removing dm-crypt mapping for: swap ...                                [ ok ]

 * Setting up dm-crypt mappings ...

 * Checking swap is not LUKS

 * dm-crypt map swap ...

 * cryptsetup will be called with : --cipher=aes-xts-plain --hash=sha512 --key-size=512 create swap /dev/sda7

Hasło:                                                                    [ ok ]

 *   Running pre_mount commands for swap ...

mkswap: /dev/mapper/swap: uwaga: nie usunięto sektorów rozruchowych

        na całym dysku. Use -f to force. 
```

I nie wiem - jak pozbyć sie tej przypadłości.

W każdym razie w tej chwili nie mam na swapie żadnego hasła, Ubuntu montuje bez problemu, a w Gentoo potrzeba hasła.   :Sad: 

Jak ręcznie zamontuję tego swapa po starcie - działa prawidłowo.

Jak poprawić ten konfig?

Dzięki i Pozdrawiam

 :Wink: 

----------

## sherszen

A to nie powinno wyglądać nieco prościej? Nie mam w ogóle swapa przy 2GB ramu. Jak będzie potrzebny to sobie zrobię w pliku.

Przykład wygląda tak:

```
swap=crypt-swap

source='/dev/hda2'
```

Dopisać wystarczy tylko options, a remdev= po co? /dev/urandom nie jest wymiennym urządzeniem.

Wieczorem spróbuje się tym pobawić. Nawiasem mówiąc... po co szyfrować swap? Nie osiągnie on pełnej wydajności, a już wystarczy, że dysk jest wolny.

Pozdrawiam

----------

## Jacekalex

Nawiasem pisząc, 4 GB Ramu, swap używany raczej rzadko, ale chciałem poznać sposób na szyfrowanie swapa, w związku ze spodziewaną przeprowadzką na lapka z Tuxonice.

Jednak okazało się, że nawet przy kompresji (LZO), TOI dłużej sie budzi, niż trwa świeże uruchomienie systemu, także na razie dałem sobie spokój.

W tej chwili system wstaje w około 18-20 sekund, z czego 2 sekundy schodzą na grubie, jestem bez żadnych większych kłopotół skrócić ten czas do okolicy 10-12 sekund, jakbym z tym trochę powalczył.

Tylko że na desktopie nie mam na razie takiej konieczności.

TOI budził system z nieszyfrowanego swapa "tylko" 23 sekundy, z szyfrowanego już nie próbowałem  :Wink: 

Natomiast szyfrowanie swapa w końcu ruszylo prawidłowo.

Konfig: w /etc/conf.d/dmcrypt

```
target=swap

options='--cipher=aes-xts-plain --hash=sha512 --key-size=512'

remdev='/dev/urandom'

source='/dev/sda9'

key='/ścieżka-do-klucza/klucz.key'

swap=swap 
```

Edyta:

Przetestowane /home i /swap - działa elegancko, całość przystosowana do działania z kluczem na pendraku, lub w komórce z bt/wifi.

Jak wreszcie wyhaczę jakiegoś lapka, to wdrożę wersję roboczą, (w domu na desktopie mi to nie potrzebne)  :Wink: 

Pozdrawiam

 :Cool: Last edited by Jacekalex on Wed May 11, 2011 4:35 am; edited 2 times in total

----------

## lazy_bum

W /etc/conf.d/dmcrypt jest przykład szyfrowania partycji swap:

```
#--------------------

# dm-crypt examples

#--------------------

## swap

# Swap partitions. These should come first so that no keys make their

# way into unencrypted swap.

# If no options are given, they will default to: -c aes -h sha1 -d /dev/urandom

# If no makefs is given then mkswap will be assumed

#swap=crypt-swap

#source='/dev/hda2'

```

O ile pamiętam to jest zupełnie wystarczające do posiadania ww. partycji bez podawania haseł/kluczy.

----------

