有什么办法可以隐藏文件的内容吗?假设我有包含以下行的文件绑定:
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
注意事项
- 如果用户是 root 或文件的所有者,则很容易绕过这一点。
当权限为 000 时,您无法写入此文件。
$ echo "another secret" >> afile bash: afile: Permission denied
答案3
我通常这样做。
sudo chmod 000 file && sudo chflags uchg file
从技术上讲,它不会“隐藏”内容,但这是防止公众访问内容的好方法。可能也不想chflags hidden file
在它上面,这会隐藏它。