下面由centos基礎教學欄位為大家介紹centos7基於luks對磁碟進行加密的方法,希望對需要的朋友有所幫助!
centos7基於luks對磁碟進行加密
LUKS(Linux Unified Key Setup)為Linux硬碟加密提供了一種標準,它不僅能通用於不同的Linux發行版本,還支援多用戶/口令。因為它的加密金鑰獨立於口令,所以如果口令失密,我們可以迅速改變口令而無需重新加密真個硬碟。透過提供一個標準的磁碟上的格式,它不僅方便之間分佈的兼容性,而且還提供了多個使用者密碼的安全管理。必須先對加密的磁碟區進行解密,才能掛載其中的檔案系統。
工具:cryptsetup(預設已經安裝)
[root@node1 ~]# cryptsetup --help cryptsetup 1.7.4 用法: cryptsetup [选项…] <动作> <动作特定参数> --version 打印软件包版本 -v, --verbose 显示更详细的错误信息 --debug 显示调试信息 -c, --cipher=STRING 用于加密磁盘的密文(参见 /proc/crypto) -h, --hash=STRING 用于从密码创建加密密钥的哈希值 -y, --verify-passphrase 两次询问密码以进行验证 -d, --key-file=STRING 从文件读取密钥。 --master-key-file=STRING 从文件读取卷(主)密钥。 --dump-master-key 转储卷(主)密钥而不是键槽信息。 -s, --key-size=位 加密密钥大小 -l, --keyfile-size=字节 限制从密钥文件读取 --keyfile-offset=字节 要从密钥文件跳过的字节数 --new-keyfile-size=字节 限制从新增密钥文件的读取 --new-keyfile-offset=字节 要从新增密钥文件跳过的字节数 -S, --key-slot=INT 新密钥的槽号(默认为第一个可用的) -b, --size=扇区 设备大小 -o, --offset=扇区 后端设备的起始偏移量 -p, --skip=扇区 从开头要跳过的加密数据扇区数量 -r, --readonly 创建只读映射 -i, --iter-time=毫秒 LUKS 默认 PBKDF2 迭代时间(毫秒) -q, --batch-mode 不要请求确认 -t, --timeout=秒 交互式密码提示符超时长度(秒) -T, --tries=INT 输入密码的最大重试频率 --align-payload=扇区 于 <n> 个扇区边界处对其载荷数据 - 供 luks 格式用 --header-backup-file=STRING 带有 LUKS 数据头和密钥槽备份的文件。 --use-random 使用 /dev/random 生成卷密钥。 --use-urandom 使用 /dev/urandom 生成卷密钥。 --shared 与另一个不重合的加密段共享设备。 --uuid=STRING 设备使用的 UUID 已占用。 --allow-discards 允许设备的 discard(或称 TRIM)请求。 --header=STRING 带有分离 LUKS 数据头的设备或文件。 --test-passphrase 不要激活设备,仅检查密码。 --tcrypt-hidden 使用隐藏数据头(隐藏 TCRYPT 设备) --tcrypt-system 设备为系统 TCRYPT 驱动器(带有引导器)。 --tcrypt-backup 使用备份(次级)TCRYPT 标头。 --veracrypt 同时扫描 VeraCrypt 兼容的设备。 -M, --type=STRING 设备元数据类型:luks, 纯粹 (plain), loopaes, tcrypt. --force-password 禁用密码质量检查 (如果已启用)。 --perf-same_cpu_crypt 使用 dm-crypt same_cpu_crypt 性能兼容性选项。 --perf-submit_from_crypt_cpus 使用 dm-crypt submit_from_crypt_cpus 性能兼容性选项。 帮助选项: -?, --help 显示此帮助 --usage 显示简短用法 <动作> 为其中之一: open <设备> [--type <类型>] [<名称>] - 以映射 <名称> 打开设备 close <名称> - 关闭设备(移除映射) resize <名称> - 改变活动设备大小。 status <名称> - 显示设备状态 benchmark [--cipher <cipher>] - 测试密文 repair <设备> - 尝试修复磁盘上的元数据 erase <设备> - 清空所有密钥槽(移除加密密钥) luksFormat <设备> [<新密钥文件>] - 格式化一个 LUKS 设备 luksAddKey <设备> [<新密钥文件>] - 向 LUKS 设备添加密钥 luksRemoveKey <设备> [<密钥文件>] - 移除 LUKS 设备中指定的密钥或密钥文件 luksChangeKey <设备> [<密钥文件>] - 更改 LUKS 设备中指定的密钥或密钥文件 luksKillSlot <设备> <密钥槽> - 从 LUKS 设备清理标号为 <key slot> 的密钥 luksUUID <设备> - 输出 LUKS 设备的 UUID(唯一标识符) isLuks <设备> - 从 <device> 探测 LUKS 分区标头 luksDump <设备> - 调出 LUKS 分区信息 tcryptDump <设备> - 调出 TCRYPT 设备信息 luksSuspend <设备> - 挂起 LUKS 设备并清除密钥(冻结所有 IO 操作)。 luksResume <设备> - 恢复已暂停的 LUKS 设备。 luksHeaderBackup <设备> - 备份 LUKS 设备标头和密钥槽 luksHeaderRestore <设备> - 恢复 LUKS 设备标头和密钥槽 你亦可使用老的 <动作> 语法别名: open: create (plainOpen), luksOpen, loopaesOpen, tcryptOpen close: remove (plainClose), luksClose, loopaesClose, tcryptClose <name> 为要在 /dev/mapper 创建的设备 <device> 为加密设备 <key slot> 为需要更改的 LUKS 密钥槽 <key file> 提供给 luksAddKey 动作的密钥文件 默认集成的密钥和密码参数: 密钥文件的最大大小:8192kB, 交互式密码的最大长度:512 (字符) LUKS 的默认 PBKDF2 迭代时间:2000 (毫秒) 默认集成的设备密文参数: loop-AES:aes, 256 位密钥 plain:aes-cbc-essiv:sha256, 密钥:256 位, 密码哈希:ripemd160 LUKS1:aes-xts-plain64, 密钥:256 bits, LUKS 数据头哈希:sha256, RNG:/dev/urandom
1. 環境
- OS: centos7
- #Kernel: 3.10.0-693.el7.x86_64
- tools: cryptsetup.x86_64 0:1.7.4-4.el7
2. 建立加密分割區
首先,我們加入一塊硬碟/dev/sdb作為測試用,如下:
[root@node1 ~]# fdisk -l 磁盘 /dev/sdb:8589 MB, 8589934592 字节,16777216 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/sda:8589 MB, 8589934592 字节,16777216 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:dos 磁盘标识符:0x000bfe7f 设备 Boot Start End Blocks Id System /dev/sda1 * 2048 2099199 1048576 83 Linux /dev/sda2 2099200 16777215 7339008 8e Linux LVM 磁盘 /dev/mapper/centos-root:6652 MB, 6652166144 字节,12992512 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘 /dev/mapper/centos-swap:859 MB, 859832320 字节,1679360 个扇区 Units = 扇区 of 1 * 512 = 512 bytes 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节
下來我們格式化加密分區
[root@node1 ~]# cryptsetup luksFormat /dev/sdb WARNING! ======== 这将覆盖 /dev/sdb 上的数据,该动作不可取消。 Are you sure? (Type uppercase yes): YES # 注意这里必须是大写的YES 输入密码: 确认密码:
5. 利用key file 加密#分區
除了密碼之外,還可以選擇使用key file 解密你的硬碟,也就是相當於一個金鑰,當然可以也可以只用key file 或同時使用密碼與key file
5.1 產生隨機key file
[root@node1 ~]# dd if=/dev/urandom of=/root/enc.key bs=1 count=4096 记录了4096+0 的读入 记录了4096+0 的写出 4096字节(4.1 kB)已复制,0.00967434 秒,423 kB/秒 [root@node1 ~]# ls anaconda-ks.cfg enc.key kubernetes
5.2 新增key file 作為密碼之一
[root@node1 ~]# cryptsetup luksAddKey /dev/sdb /root/enc.key 输入任意已存在的密码:
6. 移除解密密碼
移除普通密碼
[root@node1 ~]# cryptsetup luksRemoveKey /dev/sdb 输入要移除的密码:
移除key file 密碼
[root@node1 ~]# cryptsetup luksRemoveKey -d /root/enc.key /dev/sdb WARNING! ======== 这是最后一个密钥槽。设备在清空此密钥后将不可用。 Are you sure? (Type uppercase yes): YES
注意:千萬不要移除所有密碼,至少需要留有密碼存取設備,移除操作不可撤銷
7. 分割區對映與掛載
## 7.1 分割區對應
[root@node1 ~]# cryptsetup luksOpen /dev/sdb data2 输入 /dev/sdb 的密码:
#7.2 key file分割區對應
##也可以透過key file做映射
[root@node1 ~]# cryptsetup luksOpen -d /root/enc.key /dev/sdb data2
7.3 建立檔案系統在掛載使用之前,我們仍然需要對裝置建立文件系統才可以使用,可以選擇任何你喜歡的檔案系統,例如btrfs,ext4,vfat,ntfs等
[root@node1 ~]# mkfs.ext4 /dev/mapper/data2 mke2fs 1.42.9 (28-Dec-2013) 文件系统标签= OS type: Linux 块大小=4096 (log=2) 分块大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 524288 inodes, 2096640 blocks 104832 blocks (5.00%) reserved for the super user 第一个数据块=0 Maximum filesystem blocks=2147483648 64 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: 完成 正在写入inode表: 完成 Creating journal (32768 blocks): 完成 Writing superblocks and filesystem accounting information: 完成
7.4 掛載#現在可以像正常分割區一樣掛載我們的
加密分割區
裝置了[root@node1 ~]# mkdir /data2 [root@node1 ~]# mount /dev/mapper/data2 /data2 [root@node1 ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 6.2G 1.8G 4.5G 28% / devtmpfs 4.4G 0 4.4G 0% /dev tmpfs 4.4G 0 4.4G 0% /dev/shm tmpfs 4.4G 8.5M 4.4G 1% /run tmpfs 4.4G 0 4.4G 0% /sys/fs/cgroup /dev/sda1 1014M 143M 872M 15% /boot tmpfs 883M 0 883M 0% /run/user/0 /dev/mapper/data2 7.8G 36M 7.3G 1% /data2
7.5 卸載掛載點並關閉加密
分割區#########[root@node1 /]# umount /data2 [root@node1 /]# cryptsetup luksClose data2###8. 總結#########在完成整個步驟以後,您現在需要做的就是妥善保管您的###加密###存儲,可採用同樣的方式###加密###多個設備進行備份,因為誰也不能保證這移動設備會不會在什麼時候丟掉。 ###
以上是詳解centos7基於luks對磁碟進行加密的詳細內容。更多資訊請關注PHP中文網其他相關文章!

CentOS是一個穩定的、企業級的Linux發行版,適用於服務器和企業環境。 1)它基於RedHatEnterpriseLinux,提供免費、開源且兼容的操作系統。 2)CentOS使用Yum包管理系統,簡化軟件安裝和更新。 3)支持高級自動化管理,如使用Ansible。 4)常見錯誤包括軟件包依賴和服務啟動問題,可通過日誌文件解決。 5)性能優化建議包括使用輕量級軟件、定期清理系統和優化內核參數。

CentOS的替代方案包括RockyLinux、AlmaLinux、OracleLinux和SLES。 1)RockyLinux和AlmaLinux提供與RHEL兼容的二進制包和長期支持。 2)OracleLinux提供企業級支持和Ksplice技術。 3)SLES提供長期支持和穩定性,但商業許可可能增加成本。

CentOS的替代方案包括UbuntuServer、Debian、Fedora、RockyLinux和AlmaLinux。 1)UbuntuServer適合基本操作,如更新軟件包和配置網絡。 2)Debian適用於高級用法,如使用LXC管理容器。 3)RockyLinux可通過調整內核參數優化性能。

CentOS 關機命令為 shutdown,語法為 shutdown [選項] 時間 [信息]。選項包括:-h 立即停止系統;-P 關機後關電源;-r 重新啟動;-t 等待時間。時間可指定為立即 (now)、分鐘數 ( minutes) 或特定時間 (hh:mm)。可添加信息在系統消息中顯示。

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

CentOS 中配置 IP 地址的步驟:查看當前網絡配置:ip addr編輯網絡配置文件:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0更改 IP 地址:編輯 IPADDR= 行更改子網掩碼和網關(可選):編輯 NETMASK= 和 GATEWAY= 行重啟網絡服務:sudo systemctl restart network驗證 IP 地址:ip addr

CentOS 安裝步驟:下載 ISO 映像並刻錄可引導媒體;啟動並選擇安裝源;選擇語言和鍵盤佈局;配置網絡;分區硬盤;設置系統時鐘;創建 root 用戶;選擇軟件包;開始安裝;安裝完成後重啟並從硬盤啟動。

重啟 SSH 服務的命令為:systemctl restart sshd。步驟詳解:1. 訪問終端並連接到服務器;2. 輸入命令:systemctl restart sshd;3. 驗證服務狀態:systemctl status sshd。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)