Linux中不存在Find-Links-1命令,实际应使用find配合-links、-inum等参数排查异常硬链接:先找link count≥2的普通文件,再结合路径、时间、权限、属主过滤,最后通过inode和哈希验证一致性。

Linux 中没有 Find-Links-1 这个命令。该名称不属于任何标准发行版、GNU 工具集或主流安全工具,属于常见误记或混淆——实际应使用 find 命令配合硬链接相关参数进行排查。
所谓“异常的独立隐蔽硬链接副本”,本质是指:
- 普通文件(非目录、非设备)却拥有多个硬链接(
link count > 1); - 该文件位于非常规路径(如
/tmp、/dev/shm、/var/www子目录、用户家目录等); - 修改时间可疑、权限宽松、属主异常,或已脱离原始上下文(如源文件被删,仅剩硬链接)。
以下是实用、可直接执行的排查方法:
查找 link count ≥ 2 的普通文件
这是识别潜在隐蔽硬链接副本的第一步:
find /home /tmp /var/www /opt -type f -links +1 -ls 2>/dev/null
-
-type f确保只查普通文件(排除目录、设备、socket 等); -
-links +1表示硬链接数大于 1(即至少有 2 个路径指向同一 inode); -
2>/dev/null屏蔽无权限访问提示,避免干扰结果。
排除可信高链接数路径,聚焦风险区
系统中 /usr/bin、/bin 下很多工具是硬链接(如 busybox 多命令共用),无需关注。可主动过滤:
find / -type f -links +1 \ ! -path "/usr/*" ! -path "/lib*" ! -path "/etc/*" \ ! -path "/boot/*" ! -path "/proc/*" ! -path "/sys/*" \ -ls 2>/dev/null
这样保留的结果更可能来自攻击者手动创建的隐蔽副本。
结合时间与权限缩小可疑范围
攻击者常利用硬链接维持对已删除 webshell 或日志绕过文件的访问,特征包括:
- 近期修改(如 3 天内);
- 权限含 world-writable(
-o+w); - 属主为 root 但放在非系统路径;
- 文件名隐藏(以
.开头)或非常规后缀。
示例命令:
find /tmp /var/www -type f -links +1 -mtime -3 -perm -o+w -ls 2>/dev/null find /home -type f -links +1 -name ".*" -user root -ls 2>/dev/null
验证是否真为隐蔽副本:查 inode 与内容一致性
对初步筛选出的文件,进一步确认其风险:
-
查 inode 号:
stat /suspicious/file
记下
Inode:后的数字(如123456)。 -
找出所有同 inode 的路径(跨挂载点无效,但覆盖全盘可定位全部硬链接):
find / -xdev -inum 123456 -ls 2>/dev/null
-xdev防止跨文件系统搜索(硬链接无法跨文件系统,加此参数更准确)。 -
比较内容是否一致(确认确实是同一份数据):
sha256sum /path1 /path2 /path3
若哈希值完全相同,说明它们是同一文件的不同入口。
不复杂但容易忽略


















