我只有加密了我的主文件夹及其所有子文件夹。其中一个子文件夹配置为 Samba 共享:
[avo-home]
comment = Avo's Home Share
path = /home/avo/share
browsable = yes
read only = no
create mask = 0660
directory mask = 0770
valid users = avo
现在我注意到这个共享可以从 Windows 获得仅有的如果我使用 SSH 登录我的 Ubuntu 服务器,则无法连接到它。否则,我无法连接到它。在我加密它之前,无论 SSH 会话是否处于活动状态,它都是可用的。
如何让 Windows 客户端无需使用 SSH 登录即可使用此加密共享?
答案1
对此有几种可能的解决方案。问题是:这个文件夹是否需要加密?
未加密
如果不需要加密,最简单的解决办法如下:
将文件夹移动到 /var/avoshare:
sudo mv /home/avo/share /var/avoshare
设置软链接
ln -s /var/avoshare /home/avo/share
然后更新您的配置为
[avo-home]
comment = Avo's Home Share
path = /var/avoshare
使用全盘加密进行加密
Ubuntu 的全盘加密解决了您的问题。缺点:我认为您需要在安装时执行此操作,因此您必须再次设置服务器。
使用 loopfs 加密
对 /var/avoshare 文件夹使用加密的 loopfs。注意:大多数命令都需要 root 权限。确保最后将挂载文件系统的所有权授予 avo。
使用 dd 创建所需大小的文件。将文件存储在某个位置,例如 /var/avoloop
用于
losetup -e AES /dev/loop0 /var/avoloop
为该文件设置一个循环设备使用 ex4 格式化 loopdevice
mkfs.ext4 /dev/loop0
您现在可以将该循环设备挂载在 /var/avoshare 上。您需要为此输入密码。
为了更加方便,编写一个脚本来设置加密的 loopfs,在启动服务器后运行该脚本。该脚本将使用
losetup -e AES
和mount
确保在关闭机器之前卸载 /var/avoshare。查看这里了解详情。