在Linux系统中设置数据加密可以通过多种方式实现,涵盖磁盘加密、文件系统加密、目录/文件加密以及网络传输加密。以下是详细的方案分类和操作指南:
/home
或根分区)。步骤:
# 安装工具
sudo apt-get install cryptsetup (Debian/Ubuntu)
sudo dnf install cryptsetup (Fedora/RHEL)
# 加密分区(如 /dev/sdaX)
sudo cryptsetup luksFormat /dev/sdaX # 设置密码
sudo cryptsetup open /dev/sdaX encrypted_volume # 解锁
sudo mkfs.ext4 /dev/mapper/encrypted_volume # 格式化
sudo mount /dev/mapper/encrypted_volume /mnt # 挂载
/etc/crypttab
添加条目:
encrypted_volume /dev/sdaX none luks
sudo update-initramfs -u
步骤:
# 安装工具
sudo apt-get install ecryptfs-utils
# 加密目录(交互式设置)
sudo mount -t ecryptfs ~/Private /mnt/private
# 按提示选择加密选项(密码、算法等)
/etc/fstab
或 PAM 模块(如 pam_ecryptfs
)实现。bash
sudo apt-get install encfs
encfs ~/.encrypted ~/visible # 创建加密目录
# 输入密码后,文件在 `~/visible` 中透明解密
```bash # 加密文件 gpg -c secret.txt # 生成 secret.txt.gpg(需输入密码)
# 解密文件 gpg -d secret.txt.gpg > secret.txt ```
```bash # AES加密文件 openssl enc -aes-256-cbc -salt -in file.txt -out file.enc
# 解密 openssl enc -d -aes-256-cbc -in file.enc -out file.txt ```
bash
scp -r encrypted_dir user@remote:/path/to/dest
sftp user@remote
bash
# WireGuard示例
sudo apt install wireguard
wg genkey | tee privatekey | wg pubkey > publickey
# 配置见 /etc/wireguard/wg0.conf
gpg-agent
或 ssh-agent
缓存密码。YubiKey
或 OpenSC
集成。bash
sudo cryptsetup status /dev/mapper/encrypted_volume
sudo dmsetup info /dev/mapper/encrypted_volume
journalctl -u systemd-cryptsetup
查看解密日志。cryptsetup luksHeaderBackup /dev/sdaX --header-backup-file luks_header.bak
根据需求选择合适方案:全盘加密(LUKS)适合物理安全风险,目录加密(eCryptfs/EncFS)适合多用户环境,文件加密(GPG)适合灵活场景。