如何轻松加密文件?


58

有没有一种简单的方法(IE:在Nautilus中右键单击)来用密码保护Ubuntu中的特定文件夹/文件?我有一些包含敏感信息的文件,我更希望如果/当我不理会计算机时,不会被其他人意外访问。

安全性不必太严格。我唯一担心的是,当家人/朋友过来时,我真的不喜欢他们查看我的银行详细信息,帐户或您猜到的色情收藏的想法。

一种简单有效的方法可以让我将机器移交给其他人,因为他们知道该机器不会使我感到尴尬,这是我希望在Ubuntu中看到它的唯一原因。

Answers:


18

您可以使用存档管理器压缩文件,并使用密码保护压缩文件。

这可能与右键单击并输入您描述的密码最接近。

为此,请在文件上单击鼠标右键,然后选择“压缩”,然后选择zip作为存档类型,并在“其他选项”中选择输入密码。

这很简单,并且可以避免有人从实时CD挂载文件系统并以这种方式获取文件的问题。

同样,您可以轻松地通过电子邮件发送文件或将其复制到USB记忆棒等,而不必担心需要使用另一端的方法来对文件进行解密,而只需输入密码即可。


1
ZIP密码不是很安全,但这肯定可以防止“意外”查看。
bobince 2010年

11
bobince:我对它的了解还不足以不同意,但是我有不破译zip密码的个人经验。您能否提供您支持的资源,以便我可以了解更多信息?
理查德·霍洛威

@bobince:十多年来,ZIP存档一直使用AES加密,没有已知的漏洞。或者使用更灵活,压缩效果更好的7z,或使用基于GnuPG的方法
David Foerster,2014年

1
@David Forester:仅仅说“它使用AES并且AES没有已知的漏洞”是不够的,因为仅使用AES不足以安全地对文件进行密码保护。WinZip文件格式(链接时也)也使用PBKDF2生成AES-128(或AES-256)密钥(具有1000次迭代),该密钥对于防止暴力攻击很重要,而HMAC-SHA1-80(被截断) (最多80位)作为MAC,这对于防止篡改也很重要。这不是有史以来最安全的系统。如今,人们认为1000次迭代的强度不是很高,但随着时间的推移它只会变得更糟。
杰·沙利文

12

如果要对经常访问的许多文件进行加密,则应采用加密的文件系统。但是,如果您只想很少加密/解密单个文件(例如,密码列表),则可以通过在nautilus上单击鼠标右键很容易地做到这一点:

  • 安装seahorse-plugins软件包
  • 为GPG / PGP创建新密钥(应用程序-附件-密码和加密密钥)
  • 重新启动Nautilus(nautilus -q在终端中输入或仅退出GNOME会话)后,右键单击菜单中将有两个新条目:EncryptSign,分别解密解密加密文件

我不建议此工作流程。它比加密的文件系统需要更多的工作,并且非常不可靠(您可能会忘记重新加密文件并删除明文,从而使窥探者可以使用它;您可能会忘记重新加密文件或删除明文并最终得到两个版本文件;数据仍在磁盘上)。
吉尔斯

@Gilles:我同意加密文件系统通常是更好的方法-但我在回答OPs问题。加密的文件系统也有一些缺点(例如,性能),并且在某些情况下实际上可能不太安全:如果由于安全漏洞而导致应用程序尝试读取本地数据,则它会成功-对于GPG加密的文件,您必须明确解密它们手动。
Marcel Stimberg 2010年

仅当您对一个大文件进行多次编辑(而不是就地修改文件)时,性能才支持gpg。如果需要,还可以手动安装加密的文件系统。手动gpg方法的优点是它是完全跨平台的,而并非每个操作系统都具有加密的文件系统,并且它们几乎不兼容(如果要在可移动驱动器上携带加密文件并想要访问它们,则这很重要。在多个操作系统上)。
吉尔斯

但是,在OP的情况下,加密的文件系统无济于事,在OP的情况下,他们希望除少数文件外,其他所有内容都可以打开和使用。您将不得不将这几个其他文件存储在单独的文件系统中,这实际上比这更糟。
maco 2010年

12

许多人指出,基于用户ID和加密文件系统的访问控制是保护用户数据的唯一真正方法。但是,如果阻止您使用Truecrypt的所有原因是因为您没有可用于存储加密数据的免费分区/文件系统,那么您仍然可以在现有文件中创建一个加密文件系统文件系统。

为此,您需要具有“ sudo”权限,即,您必须能够运行sudo。

  1. 获取最新版本的truecrypt
  2. 打开TrueCrypt(通常在中找到Applications -> Accessories
  3. 使用gui可以创建文件中包含的新卷。您可以选择该文件的位置。
  4. 步骤1-3是一次性设置。之后,每当您使用truecrypt GUI挂载此文件系统时,您都会在nautilus中看到它。
  5. 您可以在此文件系统内移动敏感文件和目录。
  6. 当“您不理会电脑”时,请使用truecrypt GUI中的“卸载”选项取消此设置。
  7. 使用良好的密码(根据开发人员的建议,至少要超过20个字符)也很重要。

7

格雷法德的答案是正确的。Ubuntu是一个多用户系统。如果其他人使用您的计算机,则他们应该拥有自己的用户帐户。每个帐户一个用户;用户永远没有充分的理由共享帐户。您可以设置一个热键以在离开计算机时注销。离开时使用Ctrl + Alt + L锁定计算机。如果其他人想使用它,他们可以登录自己的帐户,而不会影响您的会话。同样,出于多种原因,共享用户帐户是一个坏习惯,也是一个坏主意。请不要这样做。


7

如果您只关心系统上没有管理员权限的其他用户,那么使用文件许可权来控制访问就足够了。如果还有其他具有管理员权限或物理访问权限的人,则密码保护意味着加密¹。

在Linux下加密几个文件的最简单方法是encfs文件系统。在命令行上运行

encfs ~/.encfs ~/encrypted

然后在encrypted目录下创建文件。它们实际上以加密形式存储在其中~/.encfs。完成工作后,运行

fusermount -u ~/encrypted

如果要加密整个主目录,ecryptfs则是更好的选择。有关更多信息,请参见加密目录的最简单方法是什么?(在Ubuntu上)Super User

¹严格来说,您还需要防止安装键盘记录程序的人(“邪恶佣人攻击”),但是要在当前的台式机操作系统和硬件上实现这一点要困难得多。


+1!对于许多人来说,这是最好的解决方案,而且也很容易!尽管它确实需要在终端中进行几次击键-对此是否有GUI?
loevborg

要回答这个问题,tom.noflag.org.uk / cryptkeeper.html可能是一个简单的解决方案。
loevborg


@askadink屏幕键盘无法抵御软件键盘记录程序(大多数键盘记录程序都能很好地理解它们)。它确实可以防止硬件键盘记录器的攻击,但这是一个非常有限的用例。如果您不信任计算机,则完全不要输入密码。请参阅例如,键盘记录程序如何容易被挫败?如何避免主要记录员从网吧获取密码?
吉尔斯2012年

4

不,不是。

您可以使用Truecrypt创建一个卷来存储敏感文件(sudo apt-get install easycrypt用于一个不错的前端),但是否则,实际上并没有一种密码锁定文件的方法。

建议您离开计算机时锁定或注销。


3
您还可以添加nautilus脚本,因此右键单击文件/文件夹将显示命令“加密此文件夹/文件” ...开源的力量在于这种自定义方式,恕我直言;)
Strae

2

在一个无法通过物理方式访问的系统中,用密码保护文件非常好,例如,您无法使用实时CD关闭或重新启动该文件。如果计算机是任何人都可以关闭的台式机,则可以使用实时CD重新启动计算机,并可以访问硬盘上的所有文件,无论是系统文件,配置文件,主目录等。

我宁愿建议您使用加密的文件系统,例如TrueCrypt,除非授权用户输入正确的凭据,否则该文件系统在任何系统上都将无效。它不仅可以用密码保护您的文件,还可以保护它们免受外部访问。

一切还取决于共享这些文件中的某些文件的成本,以及实施TrueCrypt和较早提供的工具easycrypt的成本和工作量。


在回答完该问题后,显然已对其进行了编辑,从“我如何简单地用密码保护文件”到“轻松加密文件”-您的回答现在看起来有点不合适,因为不能仅通过加密就绕过体面的加密现场ISO或single引导。(&truecrypt已不再维护)
Xen2050 '16

2

使用访客会话!

除非您希望人们在您的计算机中获得更多的特权(例如root),或者例如从CD-ROM引导并挂载和浏览文件系统(甚至读取原始磁盘扇区),否则您不必加密部分/全部硬盘上的文件。您可以简单地在目录和/或文件上设置权限,以防止“好奇”者打开和浏览它们。这就是为什么在正常操作中

  1. 不要将root帐户用作普通用户。
  2. 不要将您的密码(或root的密码)透露给其他用户。;-)

窗口右上方的会话小程序允许您启动来宾会话,当您注销时该会话将消失。例如参见该图像。该客户会话选项的人借用您的计算机启动临时会话。您的文件不可见-除非您特别授予通用读取权限。当您只想“借用”计算机给想要快速浏览的访客时,这是理想的选择。如果您想提供永久帐户(即位于/home,可能是您的帐户,则可能不是您想要的)。访客帐户无法“看到”任何内容,/home因为该会话没有正确的权限。

更改权限

注意:如果某人具有root权限,那将没有什么不同。这样的人将能够相同地访问您的未加密文件。)假设您有一个要保留的文件夹(或一组文件)。其他用户的阅读/访问。

  1. 选择要影响的文件夹(或文件),然后右键单击所选内容(使用鼠标)。
  2. 选择属性。
  3. 转到“权限”选项卡。
  4. 在“其他”(Others)组下,选择“访问文件夹”和“访问文件”作为“无”。

这不会对受影响的文件和目录进行加密,但是会阻止人们(当然没有root权限)进入您的帐户。

允许一些用户

注意:如果某人具有root权限,则不会有什么区别。这样的人将能够以相同的方式访问您的未加密文件。)如果您只允许一组用户访问一组文件或文件夹,您可以执行相同操作。例如,您可能想为自己保留读写权限,但只对这些文件和文件夹的组(甚至对它们也读写)具有读权限。

  1. 如果您要选择的组名尚不存在,则必须创建它。转到System > Administration > Users and Groups
    1. 点击Manage groups按钮。
    2. 点击Add。您需要输入密码(如果您的帐户具有管理员权限,否则请使用root密码)。
    3. 输入组名。提供用户名时,组名遵循相同的规则;我建议您只使用字母和数字,不要使用空格。您可以保留建议的组ID(例如,从1001开始)。选择将属于该组的用户。
    4. 点击OK申请。单击Close上一个窗口。单击Close以关闭“ 用户和组”
    5. 您可能需要注销+登录帐户才能“查看”新组。它也适用于任何已经登录的用户。
  2. 使用与上述相同的过程来应用权限。请注意,应用权限时必须提供组名。您只能使用一组。

这不会对受影响的文件和目录进行加密,但是会阻止人们(当然没有root权限)进入您的帐户。

加密

这里的其他用户提供了更多详细信息,专门针对使用加密的解决方案。如果您确实需要加密-而不仅仅是控制对文件的访问-您可能需要研究这些答案。但是请注意,由于应用加密/解密算法所需的开销,对这些文件的访问将总是较慢。我上面提供的描述实现了访问控制的(非常!)基本措施,几乎不影响性能。


2

尝试在Ubuntu软件中心中搜索并安装“ ecryptfs-utils”

在此处输入图片说明

安装后,转到应用程序–>附件–>终端,然后运行以下命令:

ecryptfs-setup-private

在此处输入图片说明

系统将提示您键入登录密码(密码),并为您的私人文件夹创建一个。

在此处输入图片说明

完成创建密码后,请注销并重新登录。

在此处输入图片说明

接下来,转到位置–>主文件夹。

在此处输入图片说明

并且应在您的主目录中创建一个名为“ Private”的新文件夹。此文件夹已加密并受密码保护。将所有个人物品移动到此文件夹中以保护它们。

在此处输入图片说明

无法访问该文件夹的用户将被拒绝。

在此处输入图片说明

寻求更多帮助


1

谢谢大家的答案; 似乎没有办法轻松阻止意外查看某些文件和文件夹。这是非常不幸的。最接近的是.zip文件方法,但是由于我不想压缩和解压缩,因此我想必须承担风险。


5
实际上,有一种简单的方法可以阻止意外查看文件和文件夹。不要共享用户帐户。创建帐户时,可以分别加密每个用户的目录。认真地说,每个用户一个帐户。我保证,共享帐户将流泪。
koanhead

好吧,如果您了解我的意思,那么我遇到的“共享”问题并没有得到我的完全允许。
Dante Ashton

4
恐怕我误会了你。我忘记了在Ubuntu中,默认情况下,同一台计算机上的用户可以查看其他用户主目录中的某些文件夹和文件。解决方案是更改敏感文件所在文件夹的权限。可以通过右键单击文件夹图标,选择“属性”,然后单击“权限”选项卡来实现。在“其他”下,从“文件夹”访问列表中选择“无”,从“文件”访问列表中选择“无”,然后单击“将权限应用于封闭的文件”。那并锁定您的会话应保持警惕。
koanhead 2011年

1

如何将文件夹隐藏在他们不会看到的位置,并将nautilus选项设置为默认情况下不显示隐藏的文件夹?隐藏文件夹的最简单方法是使文件夹名称开头。我知道这不是您所问问题的解决方案,而只是我认为可能对您的问题有用的解决方案。


1

对于带有敏感纯文本信息的简单文本文件加密和解密,您可以使用终端执行以下操作。

openssl aes-256-cbc -a -salt -in 01.txt -out 02.txt
openssl aes-256-cbc -d -a -salt -in 02.txt -out 01.txt

第一个命令是使用256位AES加密,第二个命令是解密。

01.txt是您的纯文本输入文件,而02.txt是加密的输出文件。-a除非您希望能够从加密的文本文件中复制文本,否则它是可选的,不是必需的。

终端将要求您输入密码,然后必须输入两次以确保加密没有错字。

功能是,它可以在所有平台上使用,因为默认情况下,openssl受支持,并且大多数情况下都已在所有系统中预先配置。您可以选择多种可能的加密算法,例如:aes,des,blowfish,bf等...此外,您还可以将加密文件设置为(。)点文件,即隐藏文件。使用“ mv”命令。

mv 01.txt .01.txt


1
sudo apt-get install cryptkeeper

                                安装后,转到应用程序–>系统工具–> Cryptkeeper

                                        Cryptkeeper将自动将其自身附加到顶部面板

                   在此处输入图片说明

                     要创建加密的受保护文件夹,请单击Cryptkeeper小程序,然后选择                                                                              “新建加密文件夹”

                   在此处输入图片说明

                          然后输入文件夹名称和保存位置,然后单击“转发”

                   在此处输入图片说明

                                                              输入密码,然后单击“转发”。

                   在此处输入图片说明

                                                      该文件夹将创建并可以使用。

                   在此处输入图片说明

                   要访问所有加密的文件夹,请单击面板上的Cryptkeeper小程序,然后选择每个文件夹。

                   在此处输入图片说明

                                                   挂载密码之前,请输入密码。

                   在此处输入图片说明

                                                       完成了

                   在此处输入图片说明

                 要删除文件夹或更改密码,请在面板小程序中右键单击该文件夹。

                                                                                      寻求更多帮助


1

这是一种非常简单的方法:您可以使用名为cryptkeeper的应用程序,该应用程序是用于管理加密文件夹的GNOME小程序,默认情况下可在Ubuntu 11.04存储库及以前的版本中使用。这是使用密码保护文件夹并对其进行加密的一种简单方法。

可以在我的网站上找到更多信息。


0

GPG具有对称加密选项(即密码保护)gpg -c。借助一些脚本,也许可以将其添加到nautilus的右键单击菜单中?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.