如何加密文件夹(不在主页中)?

如何加密文件夹(不在主页中)?

有没有办法加密不在Home/home/user/)中但位于不同分区中的文件夹,以便只有我的用户可以访问/读取其中包含的文件?

或者,我想了解是否可以将完整的ext4分区变成加密卷,并在用户登录时安装。

如果可能的话,我想在不重新安装 Ubuntu 的情况下进行更改。

我的电脑有(mount输出):

/dev/sda1 on / type ext4 (rw,errors=remount-ro)
/dev/sda3 on /home type ext4 (rw)
/dev/sda4 on /home/igor/Personale type ext4 (rw)

sda4是包含我想要保护的文件夹的分区。

答案1

当然可以。enfcs例如,您可以使用 在任何地方创建加密文件夹。使用 安装 encfs sudo apt-get install encfs

mkdir /path/to/encrypted
mkdir /path/do/decrypted
encfs /path/to/encrypted /path/to/decrypted

第一次在给定的加密目录上运行时,encfs 将引导您设置密码和加密选项。

要卸载加密文件夹,请键入

fusermount -u /path/to/decrypted

要再次挂载加密目录,请输入用于加密它的相同命令:

encfs /path/to/encrypted /path/to/decrypted

请注意,加密与 Unix 权限(“只有我的用户可以访问...”)完全不同。简而言之,任何人,而且只有拥有凭据(加密目录的密码)的人才能解密它。这正是它的重点,因为任何能够物理访问您机器的人都可以成为 root,因此 — 任何用户,包括您,都可以成为 root。这就像使用实时 CD 启动计算机或取出驱动器并将其连接到另一个系统一样简单。

答案2

如果你想加密 /dev/sda4(挂载为 /home/igor/Personale 类型 ext4),那么 eCryptfs 是一个不错的选择(Ubuntu 加密主目录使用 ecryptfs)

无论如何,您不必重新安装。ecryptfs 灵活(您可以加密文件夹或分区)且易于使用,它位于当前文件系统(在您的情况下为 ext4)的顶层。基本上,您有一个分区/块设备,创建文件系统并挂载它,然后使用 ecryptfs 对其进行加密。

在您的例子中,它是 /dev/sda4,用于加密它 注意:尽管此过程会保留现有数据,但我强烈建议将其备份到不同的分区或外部硬盘。因为稍后我们需要将其复制回来以加密数据(现有数据不会被加密)。

脚步:

  1. 首先安装 ecryptfs-utils 包

    sudo apt-get install ecryptfs-utils
    
  2. 将目标目录挂载为 ecryptfs (假设 /dev/sda4 已经挂载在 /home/igor/Personale 上)

    mount -t ecryptfs /home/igor/Personale /home/igor/Personale
    

注意:系统将提示您输入密码、密码、密钥字节、纯文本传递(y/n)、文件名加密(y/n)。

完成。现有数据无论如何都不会被加密,您可以删除现有数据并从备份中复制(这就是我建议备份的原因,需要数据交换才能激活现有文件的加密)。使用 rsync 进行备份/恢复:

    rsync -axHAX /backup /home/igor/Personale

顺便说一句:您可以使用 findmnt 或 mount 来查看加密分区,例如 /home/terry/topsecret 在 /home/terry/topsecret 上类型 ecryptfs (rw,ecryptfs_sig=633937dbcf1fef34,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs)

答案3

您还可以使用 LUKS 制作一个可以使用的加密容器。这具有更安全的附加效果,只有密码才能打开容器。以下是一个例子:

创建加密容器、循环和设备

  • dd if=/dev/urandom of=/mnt/sdcard/loop1.img bs=1M count=128

  • losetup /dev/block/loop1 /mnt/sdcard/loop1.img

  • cryptsetup -c aes-plain luksFormat /dev/block/loop1

  • cryptsetup luks打开/dev/block/loop1 cpt1

  • mkfs.ext2 /dev/mapper/cpt1

  • mkdir /mnt/sdcard/safe

  • 挂载 /dev/mapper/cpt1 /mnt/sdcard/safe

相关内容