温馨提示×

怎样隐藏linux mount点

小樊
52
2026-09-05 10:22:05
栏目: 智能运维

在 Linux 中“隐藏 mount 点”通常有多种含义,下面按常见需求分类说明做法。


一、隐藏挂载目录本身(不让用户看到)

1️⃣ 挂载到空目录并改成隐藏名

最简单方式:把挂载点设为隐藏目录(以 . 开头)

mkdir -p /mnt/.secret
mount /dev/sdb1 /mnt/.secret

普通 ls 不会显示,需要 ls -a 才看得到。


2️⃣ 修改目录权限(仅 root 可见)

chmod 700 /mnt/secret
chown root:root /mnt/secret

非 root 用户无法进入或列出内容。


二、隐藏 mount / df 中的挂载信息

3️⃣ 使用 mount --bind + 私有挂载(推荐)

mkdir -p /real /hidden
mount /dev/sdb1 /real
mount --bind /real /hidden

然后在 /hidden 使用,可限制谁知道 /real


4️⃣ 使用 mount namespace(彻底隐藏)

适合程序或容器级隐藏:

unshare --mount --fork bash
mount /dev/sdb1 /mnt/secret

该挂载只对当前 shell 及其子进程可见,其他终端 mount 看不到。


5️⃣ 使用 private / slave 挂载属性

mount --make-private /mnt/secret

防止挂载传播到其他 namespace。


三、对普通用户隐藏(最实用)

6️⃣ /etc/fstab 中限制用户可见

/dev/sdb1  /mnt/secret  ext4  noauto,user,rw  0 0

或完全不写,手工 root 挂载。


7️⃣ 使用 hidepid 挂载 /proc

防止用户看到其他进程挂载行为:

mount -o remount,hidepid=2 /proc

四、GUI / 文件管理器隐藏

8️⃣ 在桌面环境隐藏挂载

  • /etc/fstab 加:
x-gvfs-hide

例:

/dev/sdb1 /mnt/secret ext4 defaults,x-gvfs-hide 0 0

Nautilus / Dolphin 不显示该盘。


五、进阶:完全“不可见”挂载(安全场景)

组合方案:

unshare --mount
mkdir -p /mnt/.x
mount /dev/sdb1 /mnt/.x
chmod 700 /mnt/.x

✅ 其他用户
❌ 看不到目录
mount 看不到
df 看不到


总结对照表

目的 推荐方式
简单隐藏 .目录
用户不可见 权限 700
进程级隐藏 mount namespace
GUI 不显示 x-gvfs-hide
安全隔离 namespace + private

如果你能说明:

  • 用户级 还是 进程级
  • 是否用于 安全 / 容器 / 服务器
  • 是否要防 root

我可以给你最合适的精确方案

0