12.03.2019

tcplay kullanımı

Truecrypt'ten ses seda yok. Uzun süredir güncellenemeyen programın yerine artık alternatifleri değerlendirme zamanı geldi.

Archlinux Wiki'sinde tcplay gözüme çarpmıştı, cryptsetup ve Veracrypt'in yanısıra. tcplay'i denemeye karar verdim. Kurulum basit:

$ sudo pacman -S tcplay

Bundan sonra elimizdeki örneğin tcvolume.tc adındaki bir truecrypt birimini örneğin /mnt klasörüne bağlamak için şu komut dizileri gerek:

$ sudo losetup /dev/loop0 tcvolume.tc
$ sudo tcplay -m tcvolume.tc -d /dev/loop0
$ sudo mount -o nodev,nosuid,uid=100,gid=100 /dev/mapper/tcvolume.tc /mnt

İşimiz bittikten sonra da kaldırmak için

$ sudo umount /mnt
$ sudo dmsetup remove tcvolume.tc
$ sudo losetup -d /dev/loop0

Buradaki kritik nokta loop0. Şuradaki bilgiye göre yeni linux çekirdeklerinde açılışta varsayılan olarak loop modülü yüklenmiyor. Dolayısıyla loop0, loop1 vs yok. Bunları yaratmak gerek. Önce

$ sudo modprobe loop

(eğer her açılışta bunu yapmasını istiyorsak

$ sudo tee /etc/modules-load.d/truecrypt.conf <<< "loop"

daha iyi olacaktır)

ile loop modülünü yüklemek, ardından da örneğin 4 tane /dev/loop# yaratmak gerek:

$ echo "options loop max_loop=4" > /etc/modprobe.d/eightloop.conf

Bunu bir shell script'i ile yapmak
Yukarıdaki işlemer her dosya için ayrı ayrı oldukça uğraştırıcı olur. Onun için az biraz kısatılmış hali şöyle bir bash script'i ile olabilir:

tcmount.sh
#!/bin/bash
sudo losetup /dev/loop$1 $2
sudo tcplay -m $2 -d /dev/loop$1
sudo mount -o nodev,nosuid,uid=1000,gid=1000 /dev/mapper/$2 $3


tcumount.sh
sudo umount $3
sudo dmsetup remove $2
sudo losetup -d /dev/loop$1


Örnek olarak yine tcvolume.tc dosyasını /mnt klasörüne bağlamak için:

$ sudo tcmount.sh 0 tcvolume.tc /mnt

ve bağlantıyı kesmek için ise

$ sudo tcumount.sh 0 tcvolume.tc /mnt

kullanmak gerek. Aynı anda birden fazla dosyanın bağlanması ihtimaline karşı loop için de bir parametre kullandım. Gerekli görülmezse $1 silinerek giriş argümanı sayısı 2'ye düşürülebilir.

Hiç yorum yok: