我读到 f2fs 格式适用于 SSD 存储,所以我用它格式化了我的一个驱动器。我还在一些内核注释中读到为它添加了加密,但没有文档可言。我通常更喜欢整个磁盘加密。我不确定 f2fs 是否可行。
我想知道是否有人知道我可以加密 f2fs 驱动器的任何步骤。我知道这是在 Android 上为他们的完整驱动器加密完成的(我正在运行 Ubuntu)。LUKS 文件系统是不可知的吗?我不这么认为。任何加密都会很好。
没有文档 == 不好。
这是内核更新的参考:http : //lkml.iu.edu/hypermail/linux/kernel/1506.3/00598.html
最近我遇到了许多 Linux 发行版。在此之前,我一直在使用 OpenSUSE,所以有些事情对我来说显然是显而易见的 - 例如,在安装程序级别设置全盘加密或任意自定义挂载选项是可能且非常容易的。然而,实际上这样的选项似乎真的很奇特,除了 Arch Linux(很难称之为“安装程序支持”),可能是 Gentoo 和 OpenSUSE 我找不到任何允许你加密整个磁盘的发行版(包括 /开机)。
只是为了避免混淆 - 我在谈论设置,其中 GRUB 的第一阶段甚至在显示 GRUB 菜单以解锁 initrd 之前要求输入密码,然后 initrd 再次要求输入相同的密码以加载内核和其他内容。在 OpenSUSE 安装程序中,如果 /boot 被放置在加密的 LVM 上,它会自动执行。然而,Debian、RedHat、CentOS、Ubuntu、Mint 和可能所有使用类似安装程序的发行版都声称它的配置不正确并拒绝安装操作系统。
除了提到的 3 个支持这种安装方案的发行版之外,是否还有其他非专业的(意味着那些严格面向隐私的发行版,如 Tails 或 Whonix 不算数)?
编辑:为了回应@henriquehbr 100% 清楚我所说的全盘加密是什么意思:
没有单独的 /boot 分区。系统要求输入密码两次: 在 GRUB 中:
然而
抱歉有很多图片,但我想让它 100% 清晰。
boot-loader distribution-choice system-installation disk-encryption
我最近买了一个 SSD 来替换我笔记本电脑的硬盘,并决定更改并使用“全盘”加密。
我创建了一个小的未加密分区/boot和一个大的加密 LUKS 分区,我使用 LVM 在一个卷组中创建了 5 个逻辑卷:
lv_fedora)。lv_swap)。lv_os2)。lv_data1和lv_data2)。我安装了 Fedoralv_fedora作为我的第一个操作系统,没有任何问题,我可以从 GRUB 的菜单启动它,但现在我不知道如何在加密磁盘中安装另一个基于 Linux 的操作系统(Linux Mint 17)并制作 Fedora 的 GRUB2检测它并启动这个操作系统。
我尝试了两种不同的方法。在这两种情况下,我都启动ubiquity了 Linux Mint 安装程序,并带有--no-bootloader选项,以防止 Mint 安装引导加载程序。而且在这两种情况下,为了开始安装,我之前都从 LinuxMint Live 镜像的文件管理器中解锁了 LUKS 分区,以便能够选择相应的逻辑卷lv_os2作为安装目标。现在:
/in的单个分区中安装 Linux Mint lv_os2。安装成功。在 Fedora 中,我执行grub2-mkconfig -o /boot/grub/grub.cfg更新 GRUB 条目(这就是我在使用非加密磁盘时一直在做的事情)。GRUB 检测到 Linux Mint 存在并将相应的条目添加到引导菜单中。问题是我之后无法从这些条目启动。 …我有一个加密卷,我最初以交互方式为其设置了密码,它可以很好地解密分区。我通过以下两种方式使用密钥文件添加了更多密钥:
cryptsetup --keyfile=passphrase luksAddKey /dev/sdax
cryptsetup --luksAddKey /dev/sdax passphrase
Run Code Online (Sandbox Code Playgroud)
其中 passphrase 是包含密钥的文件,/dev/sdax 是加密卷。
然后我检查了密码是否有效使用
cat passphrase | cryptsetup --test-passphrase luksOpen /dev/sdax
dd if=passphrase bs=1 count=256 | cryptsetup --test-passphrase luksOpen /dev/sdax
Run Code Online (Sandbox Code Playgroud)
但他们都失败了:“此密码没有可用的密钥。” 使用 --key-file 选项的以下命令有效:
cryptsetup --test-passphrase --key-file passphrase luksOpen /dev/sdax
Run Code Online (Sandbox Code Playgroud)
在这一点上,我尝试查看传递密码内容的方法是否与唯一有效的密码(交互设置)一起使用。
echo "manually written working passphrase" > interactive_pass
cat interactive_pass | cryptsetup luksAddKey /dev/sdax
Run Code Online (Sandbox Code Playgroud)
这次它工作得很好。这两种方法和两个密钥文件有什么区别?我需要第一种管道文件内容的方法来处理从密钥文件添加的密码,因为它似乎是在 crypttab 中使用脚本时唯一可能的方法。是否可以?
是否可以加密启动盘而不要求用户在系统启动时输入密码?我在偏远地区有一些无头盒子,我不能保证它们会被安全地处理掉。
我想避免有人能够取出磁盘驱动器并将其连接到另一个设备并查看其上的内容,但同时系统必须能够(重新)启动而无需用户交互。
我对加密的经验很少,但我正在考虑将密钥存储在 UEFI 中的一些事情,但我无法找到任何关于这种事情是否可行的信息。
我使用的是 Ubuntu 18.04 LTS,但如果需要我可以升级。
我已使用以下命令在运行 Fedora 34 的计算机上使用 LUKS2 加密了外部硬盘驱动器cryptsetup。
当我现在插入硬盘并输入密码时,驱动器已成功解锁,我可以访问我的文件。此外,我希望能够使用 FIDO2 安全密钥解锁驱动器。我已使用以下命令添加密钥作为解锁选项:
sudo systemd-cryptenroll --fido2-device=auto /dev/sdc1
Run Code Online (Sandbox Code Playgroud)
在该文件的文档中/etc/crypttab,我找到了如何在启动过程中自动解锁此类驱动器。
不幸的是,我没有找到任何有关如何使用 FIDO2 密钥手动解锁此类驱动器的文档。当我尝试使用 解锁它时cryptsetup open /dev/sdc1 myLuks,我必须输入密码。在手册中cryptsetup我找不到与--fido2-device这两者类似的参数。
有人可以解释如何使用 FIDO2 密钥手动解锁 LUKS2 加密驱动器吗?
提前致谢
我正在考虑购买 850 Evo,但我不确定加密的安全性,尤其是在 Linux 上。我的研究表明,bitlocker 可以在 Windows 上使用,而不是不安全的 ATA 密码,但是 Linux 有类似的解决方案吗?
我有一个双启动的 Windows 7 和 Linux Mint。在 Windows 7 中,我有 2 个分区,1 个用于系统 (C:),另一个用于数据 (D:)。数据分区使用 Bitlocker 加密。我可以在 Windows 7 中使用它,因为我有密码。
Linux Mint 会自动挂载 Windows 7 分区(类型 HPFS/NTFS,位于/dev/sda2),因此我可以在文件管理器(Nemo 或 Thunar)中看到该分区。但是我看不到我的数据分区(类型 HPFS/NTFS,在/dev/sda3)。
我的系统信息如下:
$ inxi -S
System: Host: desktop Kernel: 3.19.0-32-generic x86_64 (64 bit)
Desktop: Cinnamon 2.8.8 Distro: Linux Mint 17.3 Rosa
$ cat /proc/version
Linux version 3.19.0-32-generic (buildd@lgw01-43) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #37~14.04.1-Ubuntu SMP Thu Oct 22 09:41:40 UTC 2015
Run Code Online (Sandbox Code Playgroud)
如何在 Linux 上访问加密分区中的数据?
在ubuntu 20.04 上设置休眠并将其修改为适用于加密交换分区后,我遇到了几个问题:
首先,从休眠状态重新启动后,我收到“放弃等待挂起/恢复设备”以及“未找到卷组 luks”。幸运的是,我之后可以正常启动系统。
尽管如此,当再次执行上述网站的步骤时,我在执行时收到以下错误和警告sudo update-initramfs -c -k all:
update-initramfs: Generating /boot/initrd.img-5.4.0-56-generic
cryptsetup: ERROR: Couldn't resolve device
/dev/disk/by-uuid/5834cf70-0919-4c53-98a6-355d69bbd6a4
cryptsetup: ERROR: Couldn't resolve device
UUID=5834cf70-0919-4c53-98a6-355d69bbd6a4
cryptsetup: WARNING: target 'sda3_crypt' not found in /etc/crypttab
update-initramfs: Generating /boot/initrd.img-5.4.0-58-generic
cryptsetup: ERROR: Couldn't resolve device
/dev/disk/by-uuid/5834cf70-0919-4c53-98a6-355d69bbd6a4
cryptsetup: ERROR: Couldn't resolve device
UUID=5834cf70-0919-4c53-98a6-355d69bbd6a4
cryptsetup: WARNING: target 'sda3_crypt' not found in /etc/crypttab
Run Code Online (Sandbox Code Playgroud)
请注意,UUID=5834cf70-0919-4c53-98a6-355d69bbd6a4属于以前未加密的交换分区sda3。我用我知道的每个配置文件(见下文)UUID中的加密分区之一替换了它sda3_crypt。
我希望通过以下打印输出可以解决问题。涉及的配置文件内容(关于swap分区)是:
1. /etc/fstab
/dev/mapper/sda3_crypt none swap sw …Run Code Online (Sandbox Code Playgroud) 如果我将 Ubuntu 安装在加密的 ext4 分区上,通常会有一个/swapfile. 现在我希望交换的内存默认也是加密的。然而,手册页说swapon:
内核中的交换文件实现期望能够直接写入文件,而不需要文件系统的帮助。
现在,“直接”的含义仍然不明确,特别是 ext4 之上的加密层是否被视为这个意义上的“文件系统”。先验的,我不能排除这样一种可能性:内核首先简单地获取交换文件在磁盘上的位置,然后直接写入磁盘,而不使用加密层,这样内存数据最终会在磁盘上未加密。
我的怀疑是否属实(适用于哪些 Linux 版本)?如果没有,请提供直接解决此问题的来源;不仅仅是互联网上如何在加密分区上设置交换文件的众多说明之一。谢谢你!
disk-encryption ×10
cryptsetup ×3
encryption ×3
luks ×3
fedora ×2
swap ×2
boot-loader ×1
dual-boot ×1
f2fs ×1
grub2 ×1
initramfs ×1
linux-mint ×1
ntfs ×1
ssd ×1
ubuntu ×1
windows ×1