OpenSSL虽然主要用于SSL/TLS协议和证书管理,但也可以用来加密文件系统。以下是使用OpenSSL加密Linux文件系统的几种方法:
加密文件:
openssl enc -aes-256-cbc -salt -in plainfile.txt -out encryptedfile.enc
系统会提示输入密码
解密文件:
openssl enc -d -aes-256-cbc -in encryptedfile.enc -out plainfile.txt
创建空容器文件:
dd if=/dev/zero of=encrypted.img bs=1M count=1024
使用OpenSSL加密容器:
openssl enc -aes-256-cbc -salt -in encrypted.img -out encrypted.img.enc
使用时解密并挂载:
openssl enc -d -aes-256-cbc -in encrypted.img.enc -out /mnt/encrypted.img
mkfs.ext4 /mnt/encrypted.img
mount /mnt/encrypted.img /mnt/encrypted
创建LUKS加密分区:
cryptsetup luksFormat /dev/sdX
使用OpenSSL生成密钥文件:
openssl rand -base64 32 > /path/to/keyfile
添加密钥到LUKS:
cryptsetup luksAddKey /dev/sdX /path/to/keyfile
打开并挂载加密分区:
cryptsetup open /dev/sdX encrypted_volume --key-file /path/to/keyfile
mkfs.ext4 /dev/mapper/encrypted_volume
mount /dev/mapper/encrypted_volume /mnt/encrypted
OpenSSL提供了一种灵活的加密方式,但对于整个文件系统加密,Linux原生工具如LUKS(dm-crypt)通常是更高效和安全的选择。