需禁用everything系统服务并为每位用户配置独立索引路径、访问权限及启动脚本,通过配置隔离、文件系统权限收紧、服务禁用和强制用户级运行实现多用户隐私与权限隔离。

当多用户共用一台 Windows 电脑时,Everything 默认以系统级服务运行,索引所有 NTFS 卷并暴露全部文件路径,这可能导致用户间隐私泄露或越权访问。为保障安全,需隔离每位用户的搜索视图与索引范围。以下是实现多用户权限隔离与搜索范围限制的具体操作:
一、为不同用户创建独立 Everything 配置文件
Everything 支持通过 -config 命令行参数加载指定配置文件,从而实现配置隔离。每个用户可拥有专属的 everything.ini,其中定义不同的索引路径、排除规则及界面设置。
1、在 C:\Users\用户名\AppData\Roaming\Everything\ 下为每位用户新建独立文件夹,例如 userA_config、userB_config。
2、将默认的 everything.ini 复制到各用户文件夹中,并重命名为 everything_userA.ini、everything_userB.ini 等。
3、用记事本打开对应 ini 文件,在 [include] 节下仅保留该用户有权访问的路径,例如:
C:\Users\UserA\Documents
C:\Users\UserA\Desktop
4、在 [exclude] 节下添加其他用户主目录及敏感路径,例如:
C:\Users\UserB\*
C:\Users\Administrator\*
二、使用批处理脚本按登录用户自动加载配置
避免手动指定配置,可通过脚本识别当前用户名并启动对应实例,确保每次启动均绑定正确权限范围,防止配置误用。
1、在桌面新建文本文档,输入以下内容:
@echo off
setlocal enabledelayedexpansion
set "USER=%USERNAME%"
if "%USER%"=="UserA" start "" "C:\Program Files\Everything\Everything.exe" -config "C:\Users\UserA\AppData\Roaming\Everything\userA_config\everything_userA.ini"
if "%USER%"=="UserB" start "" "C:\Program Files\Everything\Everything.exe" -config "C:\Users\UserB\AppData\Roaming\Everything\userB_config\everything_userB.ini"
2、将文件另存为 launch_everything.bat,编码选择 ANSI 或 UTF-8 无 BOM。
3、右键该批处理文件 → 属性 → 兼容性 → 勾选“以管理员身份运行此程序”,确保索引权限正常。
4、将该批处理设为用户登录启动项:按 Win+R 输入 shell:startup,将批处理复制进该文件夹。
三、限制 Everything 服务对用户目录的访问权限
即使配置了路径过滤,若目标文件夹本身未设访问控制,Everything 仍可能因系统服务权限过高而绕过限制。必须显式收紧文件系统权限,使 Everything 进程无法读取非授权目录。
1、右键目标用户目录(如 C:\Users\UserB)→ 属性 → 安全 → 高级。
2、点击“禁用继承”,在弹出窗口中选择“将继承的权限转换为此对象的显式权限”。
3、在权限条目列表中,选中 Everyone 或 SYSTEM 等高权限主体,点击“删除”。
4、点击“添加”→ “选择主体” → 输入当前登录用户名(如 UserA)→ 确定。
5、在“应用于”下拉菜单中选择 仅此文件夹,勾选“读取”和“列出文件夹内容”,**不勾选“遍历文件夹/执行文件”及“写入”**。
6、点击“确定”保存,确保 UserA 无法进入 UserB 目录内部,Everything 自然无法索引其子项。
四、禁用 Everything 系统服务并改用进程级运行
Everything 默认安装时启用系统服务(Everything Service),该服务以 SYSTEM 身份运行,具备跨用户访问能力,构成权限隐患。关闭服务后改由用户进程启动,可强制其受限于当前用户令牌权限。
1、按下 Win+R,输入 services.msc 回车,找到 Everything Service。
2、右键 → 属性 → 启动类型设为 禁用 → 点击“停止”按钮终止运行。
3、打开 Everything 主界面 → 工具 → 选项 → 一般 → 取消勾选 “启动时运行 Everything 服务” 和 “开机时自动启动 Everything”(此项应由用户级批处理接管)。
4、重启电脑后验证:任务管理器中不再出现 Everything64.exe 的服务进程,仅存在用户上下文中的普通进程。
五、为 Everything 可执行文件设置强制用户级运行策略
防止用户绕过批处理直接双击运行默认实例,需锁定其启动行为,确保始终携带 -config 参数且无法提升权限。
1、右键 C:\Program Files\Everything\Everything.exe → 属性 → 兼容性 → 勾选 “以管理员身份运行此程序” → 应用。
2、在相同位置点击“更改所有用户的设置” → 再次勾选该选项 → 确定。
3、按下 Win+R,输入 gpedit.msc(仅限专业版/企业版),依次展开:
计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 安全选项 → 用户账户控制:以管理员批准模式运行所有管理员,确认为“已启用”。
4、返回 Everything 安装目录,右键 Everything.exe → 创建快捷方式 → 右键快捷方式 → 属性 → “目标”栏末尾添加空格及:
-config "C:\Users\%USERNAME%\AppData\Roaming\Everything\default_user.ini"











