Yve*_*ves 5 encryption ecryptfs shared-folders home-directory 12.04
我和我的妻子共享一台运行 Ubuntu 12.04 LTS 的笔记本电脑,我想加密我们每个人的主文件夹,同时仍保持对方的访问权限。
使用 eCryptfs 的加密部分非常简单,但添加第二个用户显然没有很好的记录。共享加密文件夹是可能的,但我认为共享整个主文件夹会更简单,并且得到整个社区的更好支持。
我读到了一些提示,您可以将密钥添加到 ecryptfs 内核密钥环,但即使我将自己描述为高级用户,我发现的方向也远非清晰。
我认为这与LUKSpam_mount
类似,为所有用户使用一个主分区(我不知道这是否可以完成,或者使用 LUKS 是否是一个好主意)或为每个用户使用单独的分区,在 LUKS 的情况下,比较麻烦。阅读两个用户都登录的常见问题解答就足够了,至少看起来是这样:
一旦一个用户可以访问 eCryptfs 文件,任何具有权限的用户也可以访问该文件。eCryptfs 不应该要求所有用户拥有密钥才能访问文件吗?
eCryptfs 故意不尝试重新实现 Linux 内核中已有的自主和强制访问控制机制。eCryptfs 只需要一个文件加密密钥 (FEK) 与任何给定的 inode 关联即可解密磁盘上文件的内容。这可以防止攻击者访问受信任主机环境上下文之外的文件内容;例如,通过移除存储设备或启动 Live CD。这是 eCryptfs 旨在防止的唯一一种未经授权的访问类型。
一旦 eCryptfs 将该 FEK 与 inode 相关联,它不会对谁或什么可以访问文件施加任何额外的限制,而是遵循标准用户/组/其他权限、功能、SE Linux 类型强制执行等来管理访问到文件。eCryptfs 没有维护有关 FEK 如何找到 inode 的方式的谱系,因此它无法知道任何特定的 UID 应该或不应该能够打开文件,eCryptfs 也不应该做这样的事情。
让 eCryptfs 对受信任的主机环境中的解密文件内容施加额外的访问控制不会提供额外的安全性,同时会引入意外的可用性问题。例如,用户可能希望与系统上的某些其他用户共享他的解密文件,而不必与他们共享他的密钥或将他们的密钥添加到包装 inode 的 FEK 的一组密钥中。用户希望能够通过用户、组、功能和类型来完成此类任务,而 eCryptfs 将受信任主机环境上的访问控制决策推迟到这些现有的访问控制机制。
/usr/share/doc/ecryptfs-utils/ecryptfs-faq.html
您可以在或在线找到完整的常见问题解答。
另一种解决方法是使用用户主文件夹外部的 eCrypfs 文件夹,该文件夹可以共享,并且具有用户可以共享的单个密码(解决方法是两个用户都必须登录到他们的帐户)。
您可以使用 Samba 轻松完成此任务。配置大约需要五到十分钟。但是,请注意,两个用户都需要登录,他们的加密密钥才能供 Samba 使用。如果您希望一个用户能够在未登录的情况下访问其他用户的文件,则此方法不起作用。
安装 Samba(如果尚未安装)
sudo apt-get install samba
为两个 Linux 用户添加 Samba 用户(在本例中,他们是 tom 和 sally)
sudo smbpasswd -a tom
sudo smbpasswd -a sally
在文本编辑器中打开 Samba 配置文件 /etc/samba/smb.conf
sudo nano /etc/samba/smb.conf
在文件底部附近添加您的共享定义。(不要在文件中使用 [home] 共享定义,因为它不允许您使用必要的“强制用户”设置。请参阅下面有关为什么需要“强制用户”的注释。)
[tom]
comment = Tom's home folder
path = /home/tom
guest ok = no
browseable = yes
read only = no
valid users = tom, sally
force user = tom
[sally]
comment = Sally's home folder
path = /home/sally
guest ok = no
browseable = yes
read only = no
valid users = tom, sally
force user = sally
保存更改,然后重新启动 Samba 服务器以确保应用新设置。我使用这三个命令,但它可能超出了必要的范围。
sudo samba restart
sudo service smbd restart
sudo service nmbd restart
(可选)默认情况下,Samba 将在网络上公布您的共享文件夹。您可以通过多种不同的方式来防止这种情况发生。在上面编辑的 smb.conf 文件中,您可以将允许的接口设置为仅允许 127.0.0.1(这意味着“这台计算机”)。这可以全局设置(在 smb.conf 的网络部分),也可以在要限制的每个共享上单独设置。
interfaces = 127.0.0.1
如果一切正常,您应该能够在文件浏览器的“网络”部分中看到列出的主文件夹(您的计算机将显示为网络设备,或者您将在“Windows 网络”文件夹中找到这些文件夹)。当您首次连接到共享文件夹时,系统将提示您输入 Samba 用户名和密码,但您可以通过让文件浏览器记住这些信息来避免将来出现这种情况。
注意: “强制用户”会导致以指定的 Linux 用户身份执行文件操作,无论登录的 Samba 用户是谁。这意味着当 Sally 将文件写入 Tom 的共享主目录时,她实际上是以 Linux 用户 tom 的身份写入的。如果您没有使用“强制用户”,Sally 将收到“NT_STATUS_ACCESS_DENIED”错误(因为 Sally 的 Linux 用户无法访问 Tom 的加密主页)。
归档时间: |
|
查看次数: |
2622 次 |
最近记录: |