在Linux下,是否有可能以没有密码的任何人无法访问的方式加密文件夹/分区?


6

我正在审查我的不同替代方案(如ext4加密),但我 认为 所有这些都容易被root用户只需进入我的家庭帐户并查看存储在那里的内容,这是当有人获得计算机时很容易做到的事情。

我正在寻找一种让我的文件无法访问的方法,即使是root用户也是如此,即使有人使用裸机也是如此。如果忘记密钥,我愿意冒失去数据的风险,这不是问题,实际上是可取的。

Answers:


5
  • eCryptFS可以加密您的主文件夹(&子文件夹),并使用您的登录密码自动解密 - root不能只是更改您的密码,它需要您的实际登录密码。该 ecryptfs-migrate-home 脚本/工具可以加密现有的家庭,或者许多发行版可以在创建新用户时加密家庭。它适用于大多数发行版,Debian,Mint& Ubuntu派生,Arch,Gentoo等。并且可以自由扩展它的大小。

    或者,它也可以只使用一个加密的“私人”文件夹 ecryptfs-setup-private

  • EncFS也会加密文件夹,但可能需要更多自定义才能进行安全自动解密。

  • LUKS或普通dm-crypt使用固定大小的容器文件或设备,不像上述基于文件的解决方案那样易于扩展,但它没有显示尽可能多的信息(文件号和大致大小)

  • TrueCrypt或衍生工作类似于LUKS

  • 许多发行版也可以使用“全盘加密”(通常使用LUKS和LVM)安装,这需要在引导时输入正确的密码。对于不需要自行重启的单用户(“个人”)计算机来说,这是一个很好的解决方案,但在多用户计算机上,它也会被“解密”给其他所有用户。


2

你可以使用dm-crypt。 您需要创建一个空文件,用作存储设备。 您可以使用dd或例如fallocate创建具有特定大小的一个:

fallocate -l 512M /home/user/cryptedDevice` 
dd if=/dev/zero of=/home/user/cryptedDevice bs=1M count=512

这将在您的主目录中创建一个名为cryptedDevice的512 MB文件。 然后你可以在该文件的顶部设置luks cryptsetup -y luksFormat /home/user/cryptedDevice 使用Luks,您可以轻松更改容器的大小等。

要打开加密文件,您可以执行以下操作: cryptsetup luksOpen /home/user/cryptedDevice someDeviceName

然后,您需要使用文件系统格式化此分区: mkfs.ext4 -j /dev/mapper/someDeviceName

之后,您可以将该设备简单地安装到一个文件夹中: mount /dev/mapper/someDeviceName /mnt/

参考digitalocean


是否可以在启动时自动挂载该文件?因此,即使重新启动计算机,我的服务也可能正在运行。
almosnow

1
然后文件总是被解密,所以它不是你寻求的解决方案,或者我错过了什么?
mstruebing

是的,它对我的​​情况不起作用。有没有办法以其他人无法访问的方式“锁定”Linux部署?
almosnow
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.