如何隐藏文件的内容?

如何隐藏文件的内容?

有什么办法可以隐藏文件的内容吗?假设我有包含以下行的文件绑定:

This is a test.

保存文件后,不应显示其内容。

有没有办法在 Linux 中做到这一点?

答案1

您可以使用该vim命令:X来加密文件。

它将提示您输入加密密钥两次。然后正常保存文件。如果有人尝试读取该文件(包括用户),这将是乱码:

Mark@MarkBeast ~
$ vim test.txt

Mark@MarkBeast ~
$ cat test.txt
VimCrypt~01!o▒rl▒_▒Ĩ7vE=▒g
Mark@MarkBeast ~
$

稍后当您使用 vim 文件时,它会提示您输入密钥。

Need encryption key for "test.txt"
Enter encryption key:

This is a test
~
~
~ 
"test.txt" [crypted] 2 lines, 16 characters

答案2

您可以将文件的权限更改为 000。

$ chmod 000 somefile

例子

最初我们有这个文件:
$ cat afile 
secret
更改权限并确认:
$ chmod 000 afile

$ ls -l afile 
----------. 1 slm slm 7 Nov 26 13:07 afile
现在我们看不到它:
$ cat afile 
cat: afile: Permission denied

注意事项

  1. 如果用户是 root 或文件的所有者,则很容易绕过这一点。
  2. 当权限为 000 时,您无法写入此文件。

    $ echo "another secret" >> afile
    bash: afile: Permission denied
    

答案3

我通常这样做。

sudo chmod 000 file && sudo chflags uchg file

从技术上讲,它不会“隐藏”内容,但这是防止公众访问内容的好方法。可能也不想chflags hidden file在它上面,这会隐藏它。

相关内容