创建加密分区或者文件

文章目录

  • [GParted 中已清除的分区与未格式化的分区](https://superuser.com/questions/706624/cleared-vs-unformatted-partition-in-gparted)
          • 创建加密分区
          • 解密创建的加密分区以便挂载
          • 格式化设备未具体的格式(这里为ext4格式)
          • 创建挂载点目录
          • 挂载加密的文件系统
          • 查看映射设备的状态
          • 查看是否挂载成功
      • 设置开机自动挂载
      • 解除开机自动挂载
    • 关闭自动挂载,并且重启系统后
      • 理论
      • 具体操作 (验证加密)
        • 刚开机的时候查看加载卷
        • 解锁(打开设备)
        • 重新挂载
        • 查看挂载目录
        • 在挂载目录写一个文件
        • 卸载挂载文件夹 和关闭映射设备
        • 全部操作一览
      • 如果是文件,如何验证cryptsetup的加密功能
        • **创建一个加密卷**:
        • **打开加密卷并挂载**:
        • **写入和读取数据**:
        • **卸载并关闭加密卷**:
        • **验证加密**:
        • **重新打开和验证数据**:
        • 补充

假设A分区是系统分区100G,剩余70G,我想将剩余其中的10G空间择出来,创建 一个新分区。 可以使用 gparted-live-1.5.0-6-amd64 (1).iso

要使用 gparted-live-1.5.0-6-amd64 (1).iso,你可以按照以下步骤操作:

  1. 下载 ISO 文件
    如果你还没有下载 gparted-live-1.5.0-6-amd64 (1).iso 文件,首先从官方源或其他可信源下载。

  2. 创建可启动媒介
    创建一个可启动的 USB 或 DVD,将 gparted-live-1.5.0-6-amd64 (1).iso 文件写入其中。以下是使用 Rufus(在 Windows 上)和 dd(在 Linux 上)创建可启动 USB 的方法:

    • 使用 Rufus(Windows)

      • 插入一个空白的 USB 驱动器。
      • 打开 Rufus 工具。
      • 在 “设备” 列表中选择你的 USB 驱动器。
      • 点击 “选择” 按钮,浏览并选择 gparted-live-1.5.0-6-amd64 (1).iso 文件。
      • 确保 “boot selection” 选择了 “DD Image”。
      • 点击 “开始” 按钮,等待过程完成。
    • 使用 dd(Linux)

      • 插入一个空白的 USB 驱动器。
      • 找到你的 USB 驱动器设备名,通常为 /dev/sdX,其中 X 是代表驱动器的字母(如 sdb)。
      • 使用以下命令写入 ISO 文件,替换 X 为你的实际设备名:
        sudo dd if=gparted-live-1.5.0-6-amd64\ \(1\).iso of=/dev/sdX bs=4M status=progress oflag=sync
        
        注意:确保你正确识别了 USB 设备名,错误的操作可能会导致数据丢失。
  3. 设置 BIOS/UEFI 启动顺序

    • 重启电脑,并在开机时进入 BIOS/UEFI 设置界面(通常是按 F2、F10、Delete 或其他特定键,具体取决于你的电脑型号)。
    • 在 BIOS/UEFI 设置中找到 “启动选项” 或类似的菜单。
    • 将 USB 驱动器设置为优先启动设备。
    • 保存更改并退出 BIOS/UEFI 设置。
  4. 启动 GParted Live

    • 电脑将会从 USB 驱动器启动,并加载 GParted Live 环境。
    • 选择合适的语言和其他选项(如果有)。
    • 等待 GParted 图形界面加载。

现在,你已经在 GParted Live 环境中,可以使用 GParted 工具来管理你的磁盘分区,包括创建、调整大小、删除、格式化等操作。请注意,在进行任何修改之前,最好先备份重要数据,以防意外情况发生。

在 VMware 虚拟机中的 Linux 系统中使用 GParted Live,可以按照以下步骤操作:

  1. 下载 GParted Live ISO 文件
    从 GParted 官方网站或其他可信源下载 gparted-live-1.5.0-6-amd64 (1).iso 文件。

  2. 在 VMware 中添加虚拟光驱

    • 关闭你的 Linux 虚拟机。
    • 在 VMware 中,选择你的 Linux 虚拟机,然后点击 “设置”(或 “Configuration”)按钮。
    • 在设置窗口中,选择 “硬件”(或 “Hardware”)选项卡。
    • 找到并点击 “添加”(或 “Add”)按钮,然后选择 “CD/DVD 驱动器”(或 “CD/DVD Drive”)。
    • 在新出现的 CD/DVD 驱动器设置中,选择 “使用 ISO 映像文件”(或 “Use ISO image file”),然后浏览并选择你下载的 gparted-live-1.5.0-6-amd64 (1).iso 文件。
    • 确保在连接选项中选择了 “启动时连接”(或 “Connect at power on”)。
  3. 配置虚拟机引导顺序

    • 在相同的设置窗口中,找到并选择 “硬盘”(或 “Hard Disk”)选项。
    • 确保你的虚拟机硬盘位于引导设备列表的首位。
  4. 启动虚拟机并进入 GParted Live

    • 启动你的 Linux 虚拟机。
    • 在开机过程中,虚拟机应该会自动从 GParted Live ISO 文件启动。
    • 选择合适的语言和其他选项(如果有)。
    • 等待 GParted 图形界面加载。

现在,你已经在 GParted Live 环境中,可以使用 GParted 工具来管理你的虚拟机磁盘分区。请注意,在进行任何修改之前,最好先备份重要数据,以防意外情况发生。由于你在虚拟机环境中,你可以轻松地创建快照或备份整个虚拟机以确保数据安全。

延长vmware 虚拟机的启动时间,方便我们按键进入bios

虚拟机启动时,等到它显示press F2 to enter setup …
它显示太快,我们根本看不清它显示的什么,也来不及按F2就过去了, 我们需要延长虚拟机启动时间,让我们有一个反应时间

方法如下:
1、关闭虚拟机,找到虚拟机系统的存放目录(注:不是虚拟机这个软件的安装目录),然后进入到相应系统的文件夹。
举例:例如WIN7系统,找到win7的文件夹,
2. 用记事本打开一个.vmx的文件(win7.vmx),在最后加入一行
bios.bootDelay = “5000”,其中5000为5秒的意思。

关于 如何格式化新分区作为待加密分区

GParted 中已清除的分区与未格式化的分区

我正在运行一个类似数据库的应用程序,它直接在原始块设备中写入和读取数据。我想为此创建一个新分区,我正在使用 GParted。我已经成功地缩小了我的常规 linux 分区,现在我可以看到可用空间列为“未分配”。Gparted 允许您选择将此空间格式化为“未格式化”或“清除”。我不明白他们的区别。

在GParted手册中,是这样说的:

  • cleared 可用于清除任何现有的文件系统签名,并确保将分区识别为空。
  • unformatted 可用于创建分区而不编写文件系统。

我找不到任何关于它们差异的详细说明。有人可以解释一下吗?此外,在写入和读取分区时,是否会对分区的可靠性或性能产生任何影响?其中一个更适合我的目的吗?将分区保持“未分配”状态是否有任何影响?谢谢!

添加评论

不幸的是,这两个选项与其他以不同方式起作用的选项一起列出。其他选项是所有文件系统格式,其中新分区是使用所选格式创建的。这两个感兴趣的选项实质上是两个空选项。

  • 如果将分区“未格式化”,则根本不会尝试将文件系统数据结构写入其中。但它可能已经拥有它们,无论是偶然的还是有意的。
  • 如果“清除”了一个分区,那么操作系统用来检测文件系统类型的已知位置的各种签名就会被擦除。

因此,颇具讽刺意味的是,清除分区将保证它因此未格式化,而未格式化的分区可能会像以前一样保持格式化。

创建加密分区
x@x:~$ ls /dev/sda*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sda4

其中sda4是之前创建的分区(未挂载)

x@x:~$ sudo su
root@x:/home/x# cryptsetup luksFormat /dev/sda4WARNING!
========
This will overwrite data on /dev/sda4 irrevocably.Are you sure? (Type 'yes' in capital letters): YES
Enter passphrase for /dev/sda4: 
Verify passphrase: 
root@x:/home/x# 
解密创建的加密分区以便挂载
x@x:~$ sudo su
root@x:/home/x# cryptsetup luksFormat /dev/sda4WARNING!
========
This will overwrite data on /dev/sda4 irrevocably.Are you sure? (Type 'yes' in capital letters): YES
Enter passphrase for /dev/sda4: 
Verify passphrase: 
root@x:/home/x# cryptsetup luksOpen /dev/sda4 my_encrypted_fs
Enter passphrase for /dev/sda4: 
root@x:/home/x# 

这将创建一个名为my_encrypted_fs的映射设备(映射到 /dev/mapper),你可以像对待普通磁盘分区一样对其进行格式化和挂载。

格式化设备未具体的格式(这里为ext4格式)
root@x:/home/x# mkfs.ext4 /dev/mapper/my_encrypted_fs 
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 2617088 4k blocks and 655360 inodes
Filesystem UUID: 5c6e9946-d58d-42cd-adbb-b0dc0a4404ce
Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done 
创建挂载点目录

mkdir /mnt/encrypted_fs_mntroot@x:/home/x# ls /mnt
encryped_fs  encrypted_fs_mnt
挂载加密的文件系统
root@x:/home/x# mount /dev/mapper/my_encrypted_fs  /mnt/encrypted_fs_mnt/
查看映射设备的状态
root@x:/home/x# cryptsetup status /dev/mapper/my_encrypted_fs 
/dev/mapper/my_encrypted_fs is active and is in use.type:    LUKS2cipher:  aes-xts-plain64keysize: 512 bitskey location: keyringdevice:  /dev/sda4sector size:  512offset:  32768 sectorssize:    20936704 sectorsmode:    read/write
root@x:/home/x# 

知识点补充:

/dev/mapper/my_encrypted_fs 是一个逻辑设备文件,它代表了一个使用 cryptsetup 工具和 LUKS 加密格式加密的存储设备。

当一个物理存储设备(如硬盘分区)被用 LUKS 格式加密后,它会被映射到一个 /dev/mapper/ 下的逻辑设备名。在这个例子中,逻辑设备名为 my_encrypted_fs

" /dev/mapper/my_encrypted_fs is inactive. " 这个消息表示当前这个加密的逻辑设备并未被解锁和激活。也就是说,虽然物理存储设备存在,但由于它处于加密状态且未提供正确的解锁密码或密钥,操作系统无法访问其上的数据。

要访问这个加密卷上的数据,你需要先使用 cryptsetup 提供正确的密码或密钥来解锁它,然后将其挂载到一个目录下才能进行读写操作。

当使用 cryptsetup luksOpen 输入密码打开后, /dev/mapper/my_encrypted_fs is inactive. 就变成 /dev/mapper/my_encrypted_fs is active

root@x:/home/x# cryptsetup luksOpen /dev/sda4 my_encrypted_fs
Enter passphrase for /dev/sda4: 
root@x:/home/x# cryptsetup status /dev/mapper/my_encrypted_fs 
/dev/mapper/my_encrypted_fs is active.type:    LUKS2cipher:  aes-xts-plain64keysize: 512 bitskey location: keyringdevice:  /dev/sda4sector size:  512offset:  32768 sectorssize:    20936704 sectorsmode:    read/write
查看是否挂载成功
root@x:/home/x# df -Th | tail -1 
/dev/mapper/my_encrypted_fs ext4   9.8G   24K  9.3G   1% /mnt/encrypted_fs_mnt

设置开机自动挂载

  1. 打开 /etc/crypttab 文件

    sudo vim /etc/crypttab
    
  2. 添加新的映射关系
    在文件中添加一个新的行,指定加密设备、映射名称、密码和任何其他选项。例如:

    my_encrypted_fs /dev/sda4 none luks,discard
    

    这里,

    • encrypted_fs 是映射名称。
    • /dev/sda4 是加密设备。
    • none 表示密码将通过交互式提示输入。
    • luks,discard 是选项,luks 指定了 LUKS 加密格式,discard 则启用 TRIM 支持(如果硬件支持)。
  3. 更新 initramfs
    更新 initramfs 以包含新的加密卷配置:

    sudo update-initramfs -u
    
    root@x:/home/x# vim /etc/crypt
    cryptsetup-initramfs/ crypttab              
    root@x:/home/x# vim /etc/crypttab 
    root@x:/home/x# sudo update-initramfs -u
    update-initramfs: Generating /boot/initrd.img-6.2.0-39-generic
    root@x:/home/x# 
    
  4. 重启系统并验证挂载
    重启你的系统,然后检查加密卷是否已经被自动解锁和挂载:

    mount | grep my_encrypted_fs
    

通过修改 /etc/crypttab 并更新 initramfs,

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

解除开机自动挂载

要取消开机自动挂载一个之前设置为自动挂载的加密卷,你可以按照以下步骤操作:

  1. 编辑 /etc/crypttab 文件

    sudo vim /etc/crypttab
    
  2. 注释或删除对应的行
    /etc/crypttab 文件中,找到与你想取消自动挂载的加密卷相关的行。通常,这行会包含映射设备名(如 encrypted_fs)、物理设备路径(如 /dev/sda4)以及可能的密码或选项。要取消自动挂载,你可以选择以下任一方法:

    • 注释该行:在该行前面添加 # 字符,将这一行变为注释行,例如:
      #my_encrypted_fs /dev/sda4 none luks,discard
      
    • 删除该行:如果你确定不再需要自动挂载这个加密卷,可以直接删除整行。
  3. 更新 initramfs
    在修改 /etc/crypttab 文件后,你需要更新 initramfs 以反映这些更改:

    sudo update-initramfs -u
    
    x@x:~$ sudo vim /etc/crypttab 
    [sudo] password for x: 
    x@x:~$ sudo update-initramfs  -u
    update-initramfs: Generating /boot/initrd.img-6.2.0-39-generic
    x@x:~$ cat /etc/crypttab 
    # <target name>	<source device>		<key file>	<options>
    #my_encrypted_fs /dev/sda4 none luks,discard
    x@x:~$ 
  4. 重启系统并验证更改
    重启你的系统,然后检查是否还在启动时自动解锁和挂载该加密卷。你可以通过以下命令查看已挂载的文件系统:

    mount | grep my_encrypted_fs
    

    如果该加密卷不再出现在列表中,说明取消自动挂载成功。

请注意,如果你在 /etc/fstab 中也有关于这个加密卷的挂载配置,你也应该相应地更新或删除那个配置,以防止在手动解锁和挂载加密卷后系统再次自动挂载它。


关闭自动挂载,并且重启系统后

理论

如果你关闭了开机自动挂载一个加密卷,并且随后重启了系统,以下将会发生:

  1. 启动过程中不会解锁和挂载加密卷
    由于你在 /etc/crypttab 文件中取消了自动挂载设置,并更新了 initramfs,系统在启动过程中将不再尝试自动解锁和挂载该加密卷。

  2. 加密卷保持锁定状态
    加密卷将继续保持锁定状态,这意味着数据在没有正确密码或密钥的情况下是不可读的。

  3. 无法直接访问加密卷上的数据
    由于加密卷未被挂载,你将无法直接访问其上的文件和目录。如果你尝试挂载该加密卷,你需要首先使用 cryptsetup 提供正确的密码或密钥来解锁它。

  4. 手动解锁和挂载加密卷
    如果你需要访问加密卷上的数据,你需要手动执行以下步骤:

    cryptsetup luksOpen /dev/sda4 my_encrypted_fs
    mkdir -p /mnt/encrypted_fs_mnt
    mount /dev/mapper/my_encrypted_fs /mnt/encrypted_fs_mnt
    

    这里,/dev/sda4 是你的加密设备,my_encrypted_fs 是你的映射设备名,/mnt/encrypted_fs_mnt 是你希望挂载加密卷的目录。

  5. 使用加密卷
    在手动解锁和挂载加密卷后,你现在可以像平常一样访问和操作 /mnt/encrypted_fs_mnt 下的数据。

  6. 卸载和关闭加密卷
    当你完成对加密卷的访问后,记得卸载并关闭它以确保数据安全:

    umount /mnt/my_encrypted_fs
    cryptsetup luksClose my_encrypted_fs
    

总的来说,关闭开机自动挂载后重启系统,会导致系统不再自动处理加密卷的解锁和挂载,你需要手动进行这些操作来访问加密卷上的数据。


具体操作 (验证加密)

刚开机的时候查看加载卷
x@x:~$ cryptsetup status /dev/mapper/my_encrypted_fs 
/dev/mapper/my_encrypted_fs is inactive.

当你在刚开机的时候执行 cryptsetup status /dev/mapper/my_encrypted_fs 并得到 “is inactive” 的结果,这表示 /dev/mapper/my_encrypted_fs 这个加密卷当前并未被打开或挂载。

在系统启动过程中,如果一个加密卷没有设置为自动解锁和挂载,那么它会保持锁定状态,直到你使用正确的密码或密钥通过 cryptsetup 手动解锁它。

解锁(打开设备)
x@x:~$ cryptsetup status /dev/mapper/my_encrypted_fs 
/dev/mapper/my_encrypted_fs is inactive.
x@x:~$ cryptsetup luksOpen /dev/sda4 my_encrypted_fs
Device /dev/sda4 does not exist or access denied.
x@x:~$ sudo su
[sudo] password for x: 
root@x:/home/x# cryptsetup luksOpen /dev/sda4 my_encrypted_fs
Enter passphrase for /dev/sda4: 
root@x:/home/x# cryptsetup status /dev/mapper/my_encrypted_fs 
/dev/mapper/my_encrypted_fs is active.type:    LUKS2cipher:  aes-xts-plain64keysize: 512 bitskey location: keyringdevice:  /dev/sda4sector size:  512offset:  32768 sectorssize:    20936704 sectorsmode:    read/write
root@x:/home/x# 
重新挂载
root@x:/home/x# mkdir -p /mnt/encrypted_fs_mnt
root@x:/home/x# mount /dev/mapper/my_encrypted_fs /mnt/encrypted_fs_mnt
root@x:/home/x# 
查看挂载目录
root@x:/mnt# tree /mnt
/mnt
└── encrypted_fs_mnt└── lost+found
`lost+found` 是一个在 Linux 文件系统中常见的目录,它存在于每个文件系统的根目录下。这个目录的主要目的是存储在文件系统发生错误(如突然断电、系统崩溃或其他可能导致文件系统损坏的情况)时恢复的不完整或孤立的文件。当文件系统在挂载时进行检查(例如通过 `fsck` 命令),如果检测到任何不完整的数据块或者无法定位到其原始位置的文件,这些数据会被移动到 `lost+found` 目录中。这样,用户或者系统管理员就有机会检查这些文件,看看是否能恢复其中的重要数据。在你的例子中,`/mnt/encrypted_fs_mnt/lost+found` 目录是在 `/mnt/encrypted_fs_mnt` 文件系统根目录下创建的。即使这个文件系统是加密的,`lost+found` 目录仍然会被创建,以备在文件系统出现错误时恢复可能丢失的数据。通常情况下,如果你的系统运行正常且没有经历过导致文件系统损坏的事件,`lost+found` 目录应该是空的。但是,建议定期备份重要数据,并在必要时检查 `lost+found` 目录中的内容,以确保没有重要的文件被错误地移动到这里。
在挂载目录写一个文件
root@x:/mnt# vim testfile
root@x:/mnt/encrypted_fs_mnt# tree
.
├── lost+found
└── testfileroot@x:/mnt/encrypted_fs_mnt# cat testfile 
1
2
3
4
5
6
7
8
9
0
卸载挂载文件夹 和关闭映射设备
root@x:/mnt# umount /mnt/encrypted_fs_mnt/
root@x:/mnt# cryptsetup luksClose my_encrypted_fs
Device encrypted_fs_mnt/ is not active.
root@x:/mnt# 

当你处在该卷中时,你将无法卸载改卷

root@x:/mnt/encrypted_fs_mnt# umount /mnt/encrypted_fs_mnt/
umount: /mnt/encrypted_fs_mnt/: target is busy.
root@x:/mnt/encrypted_fs_mnt# umount /mnt/encrypted_fs_mnt/
umount: /mnt/encrypted_fs_mnt/: target is busy.
root@x:/mnt/encrypted_fs_mnt# cd ..
root@x:/mnt# umount /mnt/encrypted_fs_mnt/
root@x:/mnt# 

卸载之后

root@x:/mnt# tree encrypted_fs_mnt/
encrypted_fs_mnt/0 directories, 0 files
全部操作一览
x@x:~$ cryptsetup status /dev/mapper/my_encrypted_fs 
/dev/mapper/my_encrypted_fs is inactive.
x@x:~$ sudo su
[sudo] password for x: 
root@x:/home/x#  cryptsetup luksOpen /dev/sda4 my_encrypted_fs
Enter passphrase for /dev/sda4: 
root@x:/home/x# cryptsetup status /dev/mapper/my_encrypted_fs 
/dev/mapper/my_encrypted_fs is active.type:    LUKS2cipher:  aes-xts-plain64keysize: 512 bitskey location: keyringdevice:  /dev/sda4sector size:  512offset:  32768 sectorssize:    20936704 sectorsmode:    read/write
root@x:/home/x# mount /dev/mapper/my_encrypted_fs /mnt/encrypted_fs_mnt
root@x:/home/x# tree /mnt
/mnt
└── encrypted_fs_mnt├── lost+found└── testfile2 directories, 1 file
root@x:/home/x# cd /mnt/encrypted_fs_mnt/
root@x:/mnt/encrypted_fs_mnt# ls
lost+found  testfile
root@x:/mnt/encrypted_fs_mnt# rm testfile
root@x:/mnt/encrypted_fs_mnt# ls
lost+found
root@x:/mnt/encrypted_fs_mnt# 
root@x:/mnt/encrypted_fs_mnt# vim testfile.c
root@x:/mnt/encrypted_fs_mnt# ls
lost+found  testfile.c
root@x:/mnt/encrypted_fs_mnt# cat testfile.c 
#include<>
{
int a;}
root@x:/mnt/encrypted_fs_mnt# tree
.
├── lost+found
└── testfile.c1 directory, 1 file
root@x:/mnt/encrypted_fs_mnt# cd ../
root@x:/mnt# ls
encrypted_fs_mnt
root@x:/mnt# cryptsetup status /dev/mapper/my_encrypted_fs 
/dev/mapper/my_encrypted_fs is active and is in use.type:    LUKS2cipher:  aes-xts-plain64keysize: 512 bitskey location: keyringdevice:  /dev/sda4sector size:  512offset:  32768 sectorssize:    20936704 sectorsmode:    read/write
root@x:/mnt# umount /mnt/encrypted_fs_mnt/
root@x:/mnt# cryptsetup luksClose my_encrypted_fs
root@x:/mnt# tree encrypted_fs_mnt/
encrypted_fs_mnt/0 directories, 0 files
root@x:/mnt# cd encrypted_fs_mnt/
root@x:/mnt/encrypted_fs_mnt# ls
root@x:/mnt/encrypted_fs_mnt# 

如果是文件,如何验证cryptsetup的加密功能

验证 cryptsetup 的加密功能可以通过以下几个步骤进行:

创建一个加密卷

首先,使用 cryptsetup 创建一个新的加密卷。这可以是一个文件或一个磁盘分区。以下是一个创建基于文件的加密卷的例子:

dd if=/dev/zero of=myencryptedfile bs=1M count=1000
cryptsetup luksFormat myencryptedfile

这将创建一个名为 myencryptedfile 的 1 GB 大小的文件,并使用 LUKS 格式对其进行加密。

root@x:/mnt# cd encrypted_fs_mnt/
root@x:/mnt/encrypted_fs_mnt# ls
root@x:/mnt/encrypted_fs_mnt# 
root@x:/mnt/encrypted_fs_mnt# cd ~
root@x:~# dd if=/dev/zero of=myencryptedfile bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB, 1000 MiB) copied, 0.878107 s, 1.2 GB/s
root@x:~# cryptsetup luksFormat myencryptedfileWARNING!
========
This will overwrite data on myencryptedfile irrevocably.Are you sure? (Type 'yes' in capital letters): YES
Enter passphrase for myencryptedfile: 
Verify passphrase: 
root@x:~# ls
Desktop  myencryptedfile  snap  Templates  模板
root@x:~# 
打开加密卷并挂载

使用 cryptsetup 打开加密卷,并将其映射到一个新的设备(例如 /dev/mapper/myencrypted),然后格式化并挂载这个新设备:

cryptsetup luksOpen myencryptedfile myencrypted
mkfs.ext4 /dev/mapper/myencrypted
mkdir /mnt/encryptedvolume
mount /dev/mapper/myencrypted /mnt/encryptedvolume
root@x:~# ls
Desktop  myencryptedfile  snap  Templates  模板
root@x:~# cryptsetup luksOpen myencryptedfile myencrypted
Enter passphrase for myencryptedfile: 
root@x:~# mkfs.ext4 /dev/mapper/myencrypted
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 251904 4k blocks and 62976 inodes
Filesystem UUID: d7f76557-c6d2-4b1e-af4e-91409e067a17
Superblock backups stored on blocks: 32768, 98304, 163840, 229376Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: doneroot@x:~# mkdir /mnt/encryptedvolume
root@x:~# mount /dev/mapper/myencrypted /mnt/encryptedvolume
root@x:~# 
写入和读取数据

在挂载点 /mnt/encryptedvolume 写入一些测试数据:

echo "This is a test message." > /mnt/encryptedvolume/testfile.txt
cat /mnt/encryptedvolume/testfile.txt

确保你可以正确地读取写入的数据。

root@x:~# echo "This is a test message." > /mnt/encryptedvolume/testfile.txt
root@x:~# cat /mnt/encryptedvolume/testfile.txt
This is a test message.
root@x:~#  
卸载并关闭加密卷

卸载加密卷,并使用 cryptsetup 关闭它:

umount /mnt/encryptedvolume
cryptsetup luksClose myencrypted
root@x:~# umount /mnt/encryptedvolume
root@x:~# cryptsetup luksClose myencrypted
root@x:~# cryptsetup stat
root@x:~# cryptsetup status /dev/mapper/myencrypted
/dev/mapper/myencrypted is inactive.
root@x:~# 
验证加密

现在,尝试直接读取加密文件的内容,你应该看到乱码或者无法解析的数据,因为文件是加密的:

hexdump -C myencryptedfile

如果你看到的是不可读的乱码,那么加密功能正在正常工作。

0017faa0  a8 8f 40 6d e9 e9 26 70  b3 24 1b da e4 52 a6 e3  |..@m..&p.$...R..|
0017fab0  b9 8a 8a 56 52 f9 ca c0  1b 72 1c 7a 4a 2e 30 f8  |...VR....r.zJ.0.|
0017fac0  65 2c 32 9e f5 0f 8d 66  f0 d9 ba ea 74 dc b5 d1  |e,2....f....t...|
0017fad0  d3 35 82 74 1a 3f f4 1d  a8 13 73 2d 09 bb 73 64  |.5.t.?....s-..sd|
0017fae0  51 64 f7 ce 24 ff c4 65  d9 2c 0e 6f 27 f0 09 ff  |Qd..$..e.,.o'...|
root@x:~# cat /mnt/encryptedvolume/testfile.txt
cat: /mnt/encryptedvolume/testfile.txt: No such file or directory
root@x:~# 
重新打开和验证数据

再次打开加密卷并挂载它,然后验证之前写入的数据是否仍然可以访问:

cryptsetup luksOpen myencryptedfile myencrypted
mount /dev/mapper/myencrypted /mnt/encryptedvolume
cat /mnt/encryptedvolume/testfile.txt

如果你能正确地读取之前写入的消息,那么加密、解密和挂载过程都工作正常。

root@x:~# cat  /mnt/encryptedvolume/testfile.txt
This is a test message.
root@x:~# 

通过以上步骤,你可以验证 cryptsetup 的加密、解密和挂载功能是否正常工作。

补充

hexdump -C myencryptedfile 为什么是这样处理来判断乱码,不是处理/mnt/encryptedvolume/testfile.txt 来判断乱码

使用 hexdump -C myencryptedfile 来判断乱码的原因在于,你想要检查的是原始加密文件的内容,而不是解密后挂载在 /mnt/encryptedvolume 下的文件。

当你对一个文件或分区进行加密时,其原始内容会被加密算法转换成看似随机的、无法直接理解的数据。这些加密后的数据在没有正确密钥和解密过程的情况下看起来就像是乱码。

因此,通过 hexdump -C myencryptedfile 命令,你可以查看加密文件的十六进制和 ASCII 表示。如果显示的输出大部分是不可读的字符和非打印字符,那么这通常表明文件已经被成功加密,并且在没有解密的情况下无法直接访问其原始内容。

相比之下,如果你已经解密并挂载了加密卷到 /mnt/encryptedvolume,然后在这个挂载点下访问 testfile.txt,你应该能看到可读的文本内容,因为文件已经在解密过程中被转换回其原始格式。

所以,使用 hexdump -C myencryptedfile 来判断乱码是为了验证加密文件是否包含预期的加密数据,而处理 /mnt/encryptedvolume/testfile.txt 则是为了验证解密和挂载过程是否正常工作。这两个操作分别用于检查加密和解密状态下的文件内容。

testfile.txt 和 myencryptedfile 的关系是什么

testfile.txtmyencryptedfile 的关系取决于你的具体操作和目标。

在使用加密的上下文中,通常情况下:

  1. 原始未加密文件
    testfile.txt 可能是你想要加密的原始文本文件。它包含可读的、未加密的数据。

  2. 加密后的文件
    myencryptedfile 则是经过加密处理后的文件。当你使用 cryptsetup 或其他加密工具对 testfile.txt 进行加密时,加密后的数据将被写入到 myencryptedfile

在这种情况下,testfile.txtmyencryptedfile 之间的关系就是原始数据和加密后数据的关系。当你需要访问 testfile.txt 中的原始内容时,你需要先解密 myencryptedfile,然后将解密后的数据恢复到一个新文件或原文件名(如果已删除原始文件)。

请注意,这只是一个常见的场景示例。在实际应用中,你可能直接对整个分区或硬盘进行加密,而不是单个文件。在这种情况下,myencryptedfile 将代表整个加密的存储设备,而 testfile.txt 是存储在该设备上众多文件中的一个。
lume,然后在这个挂载点下访问 testfile.txt`,你应该能看到可读的文本内容,因为文件已经在解密过程中被转换回其原始格式。

所以,使用 hexdump -C myencryptedfile 来判断乱码是为了验证加密文件是否包含预期的加密数据,而处理 /mnt/encryptedvolume/testfile.txt 则是为了验证解密和挂载过程是否正常工作。这两个操作分别用于检查加密和解密状态下的文件内容。

testfile.txt 和 myencryptedfile 的关系是什么

testfile.txtmyencryptedfile 的关系取决于你的具体操作和目标。

在使用加密的上下文中,通常情况下:

  1. 原始未加密文件
    testfile.txt 可能是你想要加密的原始文本文件。它包含可读的、未加密的数据。

  2. 加密后的文件
    myencryptedfile 则是经过加密处理后的文件。当你使用 cryptsetup 或其他加密工具对 testfile.txt 进行加密时,加密后的数据将被写入到 myencryptedfile

在这种情况下,testfile.txtmyencryptedfile 之间的关系就是原始数据和加密后数据的关系。当你需要访问 testfile.txt 中的原始内容时,你需要先解密 myencryptedfile,然后将解密后的数据恢复到一个新文件或原文件名(如果已删除原始文件)。

请注意,这只是一个常见的场景示例。在实际应用中,你可能直接对整个分区或硬盘进行加密,而不是单个文件。在这种情况下,myencryptedfile 将代表整个加密的存储设备,而 testfile.txt 是存储在该设备上众多文件中的一个。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/583291.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多值类别特征加入CTR预估模型的方法

欢迎关注公众号&#xff1a;数据运营入表资产化服务 获取更多算法源码材料 2023数据资源入表白皮书&#xff0c;推荐系统源码下载-CSDN博客 用友BIP数据资产入表解决方案白皮书&#xff0c;推荐系统源码下载-CSDN博客 我们都知道一般单值类别特征加入到CTR预估模型的方法是先…

安装Node修改Node镜像地址搭建Vue脚手架创建Vue项目

1、安装VSCode和Node 下载VSCode Visual Studio Code - Code Editing. Redefined 下载Node Node.js (nodejs.org) 检验是否安装成功&#xff0c;WinR,输入cmd命令&#xff0c;使用node -v可以查看到其版本号 2、修改镜像地址 安装好node之后&#xff0c;开始修改镜像地址 …

如何实现内部产品权限集成

当前我国各领域正在加速向数字化、移动化、智能化发展&#xff0c;大力投入信息化建设与数字化转型已成为企业的共识&#xff0c;而企业门户系统是企业信息化系统建设是一个重要支撑&#xff0c;以企业业务系统为基础&#xff0c;搭建门户系统作为统一入口和应用中心可以有效支…

ssrf之dict协议和file协议

1.dict协议 dict是什么协议呢&#xff1f; 定义&#xff1a;词典网络协议&#xff0c;在RFC 2009中进行描述。它的目标是超越Webster protocol&#xff0c;并允许客户端在使 用过程中访问更多字典。Dict服务器和客户机使用TCP端口2628。 官方介绍&#xff1a;http://dict.o…

计算机毕业设计 基于SpringBoot的高校危化试剂仓储管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

iPhone 13 Pro 更换『移植电芯』和『超容电池』体验

文章目录 考虑换电池Ⅰ 方案一Ⅱ 方案二 总结危险 Note系列地址 简 述: 首发买的iPhone 13P &#xff08;2021.09&#xff09;&#xff0c;随性使用一年出头&#xff0c;容量就暴跌 85%&#xff0c;对比朋友一起买的同款&#xff0c;还是95%。这已经基本得一天两充 >_<&a…

【计算机视觉】角点检测(Harris、SIFT)

Harris 角点指的是窗口延任意方向移动&#xff0c;都有很大变化量的点。 用数学公式表示为&#xff1a; E(u,v)反映的移动后窗口的差异&#xff0c;w(x,y)为每个像素的点权值&#xff0c;I(xu,yv)是移动的像素值&#xff0c;I(x,y)是移动前的像素值。 将E(u,v)进行泰勒展开&am…

基于Spring Cloud + Spring Boot的企业电子招标采购系统源码

随着企业的快速发展&#xff0c;招采管理逐渐成为企业运营中的重要环节。为了满足公司对内部招采管理提升的要求&#xff0c;建立一个公平、公开、公正的采购环境至关重要。在这个背景下&#xff0c;我们开发了一款电子招标采购软件&#xff0c;以最大限度地控制采购成本&#…

智能硬件(8)之蜂鸣器模块

学好开源硬件&#xff0c;不仅仅需要会编程就可以了&#xff0c;电路基础是很重要的&#xff1b;软件和硬件都玩的溜&#xff0c;才是高手&#xff0c;那么小编为了方便大家的学习&#xff0c;特别画了一块智能传感器板子&#xff0c;来带领大家学习电路基础&#xff0c;玩转智…

C# WPF上位机开发(WebApi联调)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 很多时候&#xff0c;客户需要开发的不仅仅是一个上位机系统&#xff0c;它还有其他很多配套的系统或设备&#xff0c;比如物流小车、立库、数字孪…

【电子通识】开关的种类

开关在我们日常生活与工作中使用较多。开关有无数种形式&#xff0c;种类繁多。从微小的按钮到巨大的控制器&#xff0c;功能多种多样。这种多样性受到机械或电气操作、手动或电子控制等因素的影响&#xff0c;并且与个人在设计美学和用户界面方面的偏好也有关。 电子开关采用 …

Hadoop安装笔记2单机/伪分布式配置_Hadoop3.1.3——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2:离线数据处理

紧接着上一篇博客&#xff1a;Hadoop安装笔记1&#xff1a; Hadoop安装笔记1单机/伪分布式配置_Hadoop3.1.3——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项——任务2&#xff1a;离线数据处理-CSDN博客https://blog.csdn.net/Zhiyilang/article/details/135…

SSL VPN移动安全接入策略

一、登陆策略 1、需求背景&#xff08;【系统设置】-【系统选项】&#xff09; 需求&#xff1a; &#xff08;1&#xff09;接入端口可以自定义且支持HTTP 端口跳转到HTTPS端口 &#xff08;2&#xff09;登录页面自持自定义背景、logo等 &#xff08;3&#xff09;登…

linux cat命令增加-f显示文件名功能

在使用cat命令配合grep批量搜索文件内容时&#xff0c;我仅仅能知道是否搜索到&#xff0c;不知道是在哪个文件里找到的。比如cat ./src/*.c | grep full_write,在src目录下的所有.c文件里找full_write,能匹配到所有的full_write&#xff0c;但是不知道它们分别在哪些文件里。于…

CData ADO.NET Data Providers 2022 Crack

ADO.NET 数据提供程序 轻松将 .NET 应用程序与 SaaS、NoSQL 和大数据连接起来 数据绑定到应用程序、数据库和服务 完整的创建、读取、更新和删除 (CRUD) 支持&#xff0c;无需编码 200 基于标准的 ADO.NET 数据提供程序 100% 适用于 .NET Standard、.NET Core 和 Xamarin 的完全…

1550 自由落体

#include<bits/stdc.h> using namespace std; int main(){double a,b,c,d,e,t1,t2,s1,s2;int n,num0;//定义cin>>a>>b>>c>>d>>e>>n;//输入t1sqrt(((a-e)*2.0)/10.0);t2sqrt((a*2.0)/10.0);s1bd-t1*c0.0001;s2b-t2*c-0.0001;//小球位…

作为铭文跨链赛道龙头,SoBit 有何突出之处?

跨链桥赛道将是铭文市场长期的发展的刚需 在比特币网络中&#xff0c;Ordinals 铭文铸造的铭文总量已经超过了 5100 万枚&#xff0c;并累计费用收入超 5028 BTC。同时&#xff0c;仅 BRC-20 叙事方向的市值&#xff0c;就已经超过了 30 亿美元&#xff0c;并且随着铭文资产种类…

C语言实现关键字匹配算法(复制即用)

文章目录 前言功能要求运行截图全部代码 前言 无套路&#xff0c;均已上机通过&#xff0c;求个关注求个赞&#xff0c;提供答疑解惑服务。 功能要求 一份C源代码存储在一个文本文件中&#xff0c;请统计该文件中关键字出现的频度&#xff0c;并按此频度对关键字进行排序。要…

Centos如何修改ssh端口

想必很大一部分的同学用的是centos服务器&#xff0c;对于默认的22端口存在一定的安全风险&#xff0c;所以今天我们一起看下如何修改ssh端口 一、什么是SSH SSH&#xff08;Secure Shell&#xff09;是一种安全的远程登录协议&#xff0c;它允许您通过网络远程连接到Linux系统…

低成本高效率易部署,Ruff工业数采网关+IoT云平台赋能工厂数字化管理

随着工业4.0的快速发展&#xff0c;工业物联网是工业企业实现数字化转型的重要助力&#xff0c;物联网技术的应用也越来越广泛。 作为连接设备与网络的关键节点&#xff0c;数据采集网关是连接工业设备与物联网平台的硬件设备&#xff0c;它负责将工业设备的数据采集、传输到物…