Bir dosyanın içinde şifreli bir dosya sistemini nasıl oluştururum?


16

Bu ilginç öğretici ipi blogunda buldum .

Boş bir dosyanın nasıl oluşturulacağını, ext4 olarak nasıl biçimlendirileceğini ve bir cihaz olarak nasıl monte edileceğini açıklar.

Şifreli bir ext4 dosya sistemi olarak oluşturulabileceğini bilmek istiyorum.

Zaten oluşturulan dosya sistemini biçimlendirmek için palimpsest (Sistem menüsünde bulunan disk yardımcı programı) kullanarak denedim ama kullanılan dosya sistemini algılar gibi çalışmıyor.

Dosya sistemini çıkarmaya çalışırsam, aygıtı algılayamadığı için çalışmaz (sabit sürücü veya USB sürücüsü gibi gerçek bir aygıt olmadığı için).

Benim sorum şu ki, dosya sistemini baştan şifreli olarak oluşturma seçeneği var mı? Bu komutları kullandım:

200 MB boyutunda boş bir dosya oluşturun:

dd if=/dev/zero of=/path/to/file bs=1M count=200

Ext4 yap:

mkfs -t ext4 file

Evimin içindeki bir klasöre yerleştirin:

sudo mount -o loop file /path/to/mount_point

mkfsKomutun bir şifre çözme şifresi isteyen şifreli bir ext4 dosya sistemi oluşturmasının herhangi bir yolu var mı ?

Bunu Dropbox içindeki dosyaları şifrelemenin bir yolu olarak kullanmayı planlıyorum.



Dosyaları yedeklerken uygun şifreleme istiyorsanız, bunun yerine SpiderOak'ı düşünebilirsiniz. Daha fazla güvenlik ve daha az yaygara.
landroni

Yanıtlar:


8

cryptmountDosya sistemi bir dosyadaysa da bir dosya sistemini şifrelemek için kullanabilirsiniz .

cryptmountManuel sayfa burada (değiştirilmiş) belirtiyor ve bu da çok basit ve ayrıntılı bir açıklama vardır ve bunu açıkça dosya tabanlı dosya sistemi söz.

  • Adım 1 Aşağıdaki gibi
    bir giriş ekleyin /etc/cryptmount/cmtab:

    mycrypt {
        dev=/media/data/mycrypt dir=/home/enzotib/mycrypt
        fstype=ext4 mountoptions=defaults cipher=twofish
        keyfile=/etc/cryptmount/mycrypt.key
        keyformat=builtin
    }
    

    burada /media/data/mycryptdestek dosyası tarafından oluşturulur ddve /home/enzotib/mycryptistenen bağlama noktasıdır.

  • Adım 2
    Gizli şifre çözme anahtarı oluşturma

    sudo cryptmount --generate-key 32 mycrypt
    
  • Adım 3
    Aşağıdaki komutu yürütün

    sudo cryptmount --prepare mycrypt
    

    daha sonra anahtarı ayarlarken kullanılan parola istenecektir

  • Adım 4
    Dosya sistemini oluşturma

    sudo mkfs.ext4 /dev/mapper/mycrypt
    
  • Adım 5
    Yürütme

    sudo cryptmount --release mycrypt
    
  • Adım 6
    Şimdi dosya sistemini bağlayın

    mkdir /home/enzotib/mycrypt
    cryptmount -m mycrypt
    

    sonra bağlantısını kes

    cryptmount -u mycrypt
    

Ayrıca, bir dizini şifrelemeniz gerekiyorsa, encfsdikkate alınmaya değer olabilir.


Cevabınız için teşekkürler, dosya sistemini oluşturdum, şifreli ve Dropbox'a yükledim. Daha sonra bu dosyayı diğer bilgisayara bağlamaya çalışacağım. Sadece bir şey, sudo olmadan yapılabilir mi? Dosyayı ve dosya sistemini evime takılı tutmak istersem (usb veya sabit disk gibi ortamlarda değil) komutlar sudo olmadan aynı olurdu veya cryptmount her zaman root ayrıcalıklarına ihtiyaç duyar mı?
animaletdesequia

1
@darent: komutun yalnızca dosya sistemi kurulumunda kök ayrıcalıklarına ihtiyacı olduğu görülüyor, ancak görüntü dosyası ve bağlama noktasının kullanıcıya ait olması koşuluyla montaj / sökme işlemi bir kullanıcı işlemidir. Aynı görüntü dosyasını başka bir makineye kurmak /etc/cryptmount/mycrypt.keyiçin --generate-key, adımı kopyalayıp atlamanız gerektiğini düşünüyorum .
enzotib

Son adımda bu hatayı alıyorum: $ sudo cryptmount -m encriptat Hedef "encriptat" için parola girin: e2fsck 1.41.14 (22-Dec-2010) fsck.ext4: Súperbloc no vàlid, provant els blocs de còpia de seguretat. .. fsck.ext4: Süper blok en intentar obrir / dev / mapper / encriptat kötü sihirli sayı
animaletdesequia

1
@darent: 4. adımda gösterildiği gibi dosya sistemini oluşturdunuz mu? "mycrypt" isminin "encriptat" ile değiştirilmesinde tutarlı mıydınız?
enzotib

Maalesef, hata (sudo mkfs.ext4 / dev / mapper / mycrypt) yerine (sudo mkfs.ext4 mycript) yazıyordu. Dosyaya değil, doğrudan dosyaya poiting yapıyordum. Şimdi mükemmel çalışıyor. Ve bu mesajın biçimi için üzgünüm, neden satırları ayıramıyorum bilmiyorum (enter tuşuna basarsam, yeni bir satır oluşturmak yerine yorumu yayınlar, belki bir firefox aksaklığı ...) Şerefe! EDIT: Şimdi cevabınızı okudum, encriptat adı bir sorun değildi (sadece yazınızı uyarlayın ve dosyaları katalanca adlarla koyun, ancak hepsi tutarlı). Everithing şimdi çalışıyor tamam, tekrar teşekkürler :)
animaletdesequia

7

İçinde dosya sistemi olan şifreli bir dosya oluşturmak için sonraki adımları izleyin:

1. Verilen boyutta dosya oluşturmanın daha hızlı yolu:

fallocate -l 128M /path/to/file

2. Create LÜKS kullanarak dosya içinde (Linux Unified Anahtar Kur) bölümü dm-crypt araçlar:

cryptsetup -y luksFormat /path/to/file

Dosyanın şifreli kapsayıcı olup olmadığını kontrol edebilirsiniz:

/path/to/file: LUKS encrypted file, ver 1 [aes, xts-plain64, sha1] UUID: 7e2af5a1-3fab-43ea-a073-3b9cc6073f00

3. Şifreli kapsayıcıyı açın:

cryptsetup luksOpen /path/to/file data

datacihaz eşleyici birim adıdır. Başka bir isim seçebilirsiniz.

Bu, LUKS cihazını açar ve sağladığımız bir adla eşleştirir, bizim durumumuzda bir dosya oluşturur /dev/mapper/data.

4.ext4 Bu cihazda dosya sistemi oluşturun :

mkfs.ext4 /dev/mapper/data

5. Ardından bağlama noktası oluşturun:

mkdir /path/to/mount

6. ve orada cihazı monte:

mount /dev/mapper/data /path/to/mount

7. Dosya sistemini çıkarmak ve LUKS aygıtını kapatmak için:

umount /path/to/mount
cryptsetup luksClose data

Artık LUKS kapsayıcısını ext4 dosya sistemi ile şifrelediniz. Kullanmak istediğinizde 3. ve 6. adımları tekrarlayın. İşlemi tamamladığınızda 7. adımı arayın.

Bu makale bana çok yardımcı oldu.

Ayrıca bir gün konteynerinizde yer kalmayacak. Şifrelenmiş konteyner dosya boyutunun 128 MB olduğunu ve boyutunu 512 MB'a yükseltmek istediğimizi varsayalım. İçin kapasitesini artırmak için şu adımları izleyin:

1. LUKS cihazının bağlantısını kesin ve kapatın (yukarıdaki listedeki 7. adıma bakın).

2. Kapsayıcı dosya boyutunu artırın:

 dd if=/dev/zero of=/path/to/file bs=384M count=1 oflag=append conv=notrunc

3. LUKS cihazını açın.

cryptsetup luksOpen /path/to/file data

4. LUKS cihazını kap dosya boyutuna uyacak şekilde yeniden boyutlandırın. Man sayfasından:

--Size (sektörlerde) belirtilmezse, temel blok aygıtının boyutu kullanılır.

Böylece şunları yapabilirsiniz:

cryptsetup resize data

5. Ardından ext4 dosya sistemini yeniden boyutlandırın:

e2fsck -f /dev/mapper/data
resize2fs /dev/mapper/data

6. Artık dosya sistemini geri yükleyebilirsiniz:

mount /dev/mapper/data /path/to/mount

1
Bence bu cevap en iyi ve en güncel cevaptır. Doğru cevap olarak seçilmelidir!
yurtesen

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.