我有一个名为 的文件-z
。它是位于我的目录中的八位字节流文件home/user
。只有 root 才有访问权限。我似乎无法用 或任何其他应用程序打开它,vim
因为它不能接受参数“z”("-z"
也试过了)。
它是什么?它有什么作用?
答案1
恶意软件经常使用“-<a 到 z 的字母>”作为文件名来隐藏自身,避免被随意发现。八位字节流是字节的二进制序列。在文本编辑器中打开文件会显示其中包含的字节的二进制序列,但不要打开此文件因为打开它可能会损害您的系统或触发恶意行为。
将此文件上传到virustotal.com并进行测试也可能会有帮助。
删除此文件可能没问题,然后监控您的系统以查看是否因删除它而发生任何不良事件。该-z
文件的内容只是重复的模式,^@
因此删除它可能没有任何风险。
删除文件之前,请确保将其备份到其他安全位置。使用类似命令sudo chown username filename
将文件所有权更改为您自己的用户名。使用类似命令chmod -x filename
从此文件中删除可执行权限。如果文件存储在安全的地方,则在进行这些更改后不会对您的系统造成太大损害。安全的地方是任何无法进入系统的地方,例如 USB 拇指驱动器。只要不将 USB 拇指驱动器插入计算机,您的操作系统就会很安全。
答案2
首先,在处理以破折号开头的任何文件时,这会带来一个小问题,因为破折号用于表示选项(如 Vi 的 -r 选项),因此不会被当作文件名。这种情况最简单的解决方法是在其前面加上一个,./
这样就vi ./-z
可以在 vi 中打开“-z”文件而不会出现问题。大多数软件的另一个常见解决方法是将文件名放在参数后面--
。这是大多数软件接受的常用分隔符,用于将选项与非选项参数(如文件名)分开。因此,另一种方法是使用vi -- -z
。这个./
技巧应该总是有效的,但--
可以依靠软件来实现它,但它很常见。
至于该文件本身,我认为它更可能是在尝试向其传递-z
选项时意外创建的,但出于某种原因,它被当作文件名,可能是因为传递了--
或>
参数。如果您担心它的内容,检查它的更安全的方法可能是使用hexdump -C
或之类的程序xdd
。正如您所说,您已经在 Vim 中打开它,它不太可能造成任何危害。如果您^@
在 Vim 中看到一堆符号,那意味着NUL
控制字符只是一个值为零的字节。它可能来自各种来源,从分配文件而没有写入任何内容到空磁盘映像或类似文件。如果该文件中只有这些,那么它基本上是空的,没有实际内容。