有没有办法不用加密/压缩就可以用密码保护文件夹?

Yu *_*hau 9 permissions security password

我有一个包含私人内容的文件夹,我不希望其他人能够看到它的内容。我会经常打开它,文件夹很大。我知道我可以通过加密或压缩来密码保护它,但是加载时间很长,很不方便。我不在乎披露的内容,因此对其进行加密毫无意义。我所需要的只是隐藏它。

有没有办法不用加密或压缩文件夹就可以用密码保护它?

Byt*_*der 10

您可以将目录权限更改为700(这等于rwx------这意味着所有人都没有访问权限,所有者的完全访问权限除外)。

这样,普通用户(除了您的用户帐户!)无法进入该目录。他们仍然可以从外部看到该文件夹​​,但他们既无法打开它以列出其内容,也无法打开其中的文件,即使他们知道完整路径和名称。

但是,当您登录并离开时,没有任何保护,因为这不会影响您自己的帐户。您也可以拒绝您自己的帐户的任何权限(设置为000then),但是如果知道如何这样做,则可以在没有密码的情况下从您的帐户中恢复此权限。

所以最好的选择是将权限更改为700(只有所有者有权访问)并将所有者更改为 root。这样,没有人可以进入目录,甚至你也不能。并且您无法将目录的权限更改回来。

无论如何,要访问您的文件夹,您必须是根用户,这需要使用管理员帐户登录并使用gksu/gksudo打开文件管理器或媒体查看器,如 Nautilus 和 VLC。但是,这会再次提示您输入管理员帐户密码,因此您可以免受任何非管理员且无法成为 root 的人的侵害。

因此,如何设置它非常简单。假设您要保护的文件夹是/home/MYUSERNAME/Videos/private.

  • 选项 1:所有者(您)的完全访问权限,但其他帐户没有访问权限。

    chmod 700 /home/MYUSERNAME/Videos/private
    
    Run Code Online (Sandbox Code Playgroud)

    无需密码即可从您的帐户中撤消此设置,方法是键入

    chmod 775 /home/MYUSERNAME/Videos/private
    
    Run Code Online (Sandbox Code Playgroud)
  • 选项2:包括您在内的任何用户都无法访问,因此您需要成为root用户才能进入目录。

    chmod 000 /home/MYUSERNAME/Videos/private
    
    Run Code Online (Sandbox Code Playgroud)

    这也可以通过以下方式从您的帐户中恢复而无需密码

    chmod 775 /home/MYUSERNAME/Videos/private
    
    Run Code Online (Sandbox Code Playgroud)
  • 选项 3:包括您在内的任何用户都没有访问权限,也没有机会从您的帐户中恢复它,因此每个操作都只能以 root 身份执行。

    chmod 700 /home/MYUSERNAME/Videos/private
    sudo chown root: /home/MYUSERNAME/Videos/private
    
    Run Code Online (Sandbox Code Playgroud)

    要恢复此设置,您必须执行以下操作(这需要sudo并因此需要您的帐户密码):

    sudo chown MYUSERNAME: /home/MYUSERNAME/Videos/private
    chmod 775 /home/MYUSERNAME/Videos/private
    
    Run Code Online (Sandbox Code Playgroud)

请注意,选项 2 建议和 3 要求您拥有管理员帐户,并且所有选项只能保护您免受没有管理员帐户和密码的用户的侵害!

此外,我应该提到,具有足够经验和物理访问权限的人也可以在恢复模式下启动它,并且无需输入任何密码即可成为 root 用户。但是,除非您使用加密,否则没有更安全的方法,您明确表示不想要。