tcplay

出自 ArchWiki

tcplay 是一个自由、功能齐全且稳定的 TrueCrypt 实现,包括多重密钥文件和密码链。

来源:github 项目主页

安装

安装 tcplay 软件包。

将文件加密为虚拟卷

调用

$ losetup -f

以查找第一个未使用的回环设备;在本例中,/dev/loop0

注意: 从 udev 181-5 开始,loop 设备模块不再自动加载。

在工作目录中创建一个新的容器 foo.tc,例如大小为 20M

# fallocate -l 20M foo.tc
# losetup /dev/loop0 foo.tc
# tcplay -c -d /dev/loop0 -a whirlpool -b AES-256-XTS

输入卷的安全密码,并确认查询以使用新卷覆盖 foo.tc。然后 tcplay 会将随机数据写入卷中。映射卷并在其上创建文件系统以便挂载

# tcplay -m foo.tc -d /dev/loop0
# mkfs.ext4 /dev/mapper/foo.tc
# mount /dev/mapper/foo.tc /mnt/truecrypt/

要取消设置容器,

# umount /mnt/truecrypt
# dmsetup remove foo.tc
# losetup -d /dev/loop0

为用户挂载现有容器

考虑 /dev/loop0 为第一个未使用的环回设备,foo.tc 为 TrueCrypt 容器,/home/you/truecrypt/ 为所需的挂载点。在本例中,用户 youuid=1000gid=100。将容器挂载为虚拟卷的步骤是

  1. 将环回设备与容器关联
  2. 将容器映射到环回设备
  3. 在文件系统中挂载容器

以下命令执行上述操作。

# losetup /dev/loop0 foo.tc
# tcplay -m foo.tc -d /dev/loop0
# mount -o nodev,nosuid,uid=1000,gid=100 /dev/mapper/foo.tc /home/you/truecrypt/

注意,如果容器使用 ext4 或另一个支持文件所有权的文件系统,则不需要 uidgid 参数,并且它们将不起作用。因此,第三个命令将只是

 # mount -o nodev,nosuid /dev/mapper/foo.tc /home/you/truecrypt/

要反转它们

# umount /home/you/truecrypt/
# dmsetup remove foo.tc
# losetup -d /dev/loop0

使用 tcplay-helper

tcplay-helper 脚本简化了创建、挂载和卸载 tc-play 容器的过程。该脚本很简单,但对于大多数希望使用简单安全 tc-play 容器的用户来说应该可以正常工作。

以下命令创建一个名为 foo.tc 的 3Mb 容器。

# tcplay-helper create foo.tc 3M

要挂载容器文件,我们可以使用以下命令以 root 身份挂载它。容器将挂载在 /mnt/truecrypt/ 下

# tcplay-helper open foo.tc

或者,我们可以提供用户名以将容器作为该用户挂载。

# tcplay-helper open foo.tc archie

最后,要关闭容器,此命令可以解决问题。

# tcplay-helper close foo.tc

参见