如何在Unix系统中设置密码保护目录及内容?解决encfs命令未找到问题
在Unix系统中密码保护目录的方法
先解决encfs未安装的问题
你遇到的encfs: command not found是因为系统未安装encfs,不同发行版的安装命令如下:
- Debian/Ubuntu及衍生版:
sudo apt install encfs - RHEL/CentOS/Fedora:
sudo dnf install encfs(旧版本用yum代替dnf) - Arch Linux及衍生版:
sudo pacman -S encfs
使用encfs加密目录的完整步骤
- 先创建两个目录:一个用来存加密后的原始数据(隐藏目录
.encrypted),另一个是挂载后可直接访问的明文目录(encrypted):mkdir ~/.encrypted ~/encrypted - 执行encfs命令初始化加密并挂载,按提示设置密码:
第一次运行会询问使用标准模式还是偏执模式,选默认的标准模式即可。encfs ~/.encrypted ~/encrypted - 挂载成功后,你可以像操作普通目录一样使用
~/encrypted,所有写入的内容都会自动加密存储到~/.encrypted中。 - 不需要访问时,卸载加密目录:
卸载后fusermount -u ~/encrypted~/encrypted会变成空目录,下次需要访问时重新执行encfs ~/.encrypted ~/encrypted并输入密码即可挂载。
其他可选方法:用cryptsetup创建加密容器
如果需要更底层、更安全的加密方式,可以用cryptsetup创建加密容器:
- 先创建一个空文件作为加密容器(示例创建1GB大小,可按需调整
bs和count参数):dd if=/dev/zero of=~/encrypted_container bs=1G count=1 - 初始化加密容器,按提示设置密码:
sudo cryptsetup luksFormat ~/encrypted_container - 打开容器并映射为块设备:
sudo cryptsetup luksOpen ~/encrypted_container encrypted_drive - 在映射的设备上创建ext4文件系统:
sudo mkfs.ext4 /dev/mapper/encrypted_drive - 创建挂载点并挂载容器,之后修改权限让普通用户可访问:
mkdir ~/encrypted_mount sudo mount /dev/mapper/encrypted_drive ~/encrypted_mount sudo chown $USER:$USER ~/encrypted_mount - 用完后卸载并关闭容器:
sudo umount ~/encrypted_mount sudo cryptsetup luksClose encrypted_drive
内容的提问来源于stack exchange,提问作者liuxu
相关产品推荐
相关产品推荐

