要让同一台电脑不同用户无法互相拷贝文件,必须通过ntfs权限禁用继承并仅授予各自用户对自身目录的完全控制权,标准用户账户间彻底隔离读取权限。

要让同一台电脑上的不同用户无法互相拷贝对方的文件,核心不是“禁止复制”这个动作,而是切断“读取”这个前提——因为Windows里复制=读取+写入,只要没读取权限,复制就根本无法发起。这一步必须用NTFS权限精确控制,不能靠软件弹窗拦截或剪贴板禁用这类表面手段。
创建标准用户账户
打开“设置”→“账户”→“家庭和其他用户”→“将其他人添加到这台电脑”,选择“我没有这个人的登录信息”→“添加没有Microsoft账户的用户”,输入用户名(如UserA)、密码、密码提示,完成创建。不要勾选“该用户具有管理员权限”。【必须用标准用户,管理员账户可随时绕过所有NTFS权限】
重复操作,为另一位使用者创建UserB账户。两个账户都必须是标准用户,且彼此不共享密码。
关闭用户目录的继承权限
以Administrator身份登录,打开资源管理器,进入C:\Users,右键UserA文件夹→“属性”→“安全”→“高级”。
点击“禁用继承”→在弹出窗口中选择“从该对象中删除所有已继承的权限”。此时列表中所有条目都变成显式权限,不再受父级影响。
点击“添加”→“选择主体”,输入UserA,点“检查名称”确认→点“确定”。在下方权限列表中,仅勾选“完全控制”→点“确定”。
回到UserA文件夹的“安全”选项卡,你会发现只有Administrator和UserA有权限,其他用户(包括UserB)彻底消失。这一步做完后,UserB登录系统,连UserA的桌面、文档、AppData都看不到入口。
限制特定数据文件夹的读取权限
方法一:直接锁定软件生成目录
假设某程序在C:\ProgramData\MyApp\Output下自动生成Excel报告,你只想让UserA能看、UserB完全不能访问:
右键该Output文件夹→“属性”→“安全”→“高级”→“禁用继承”→“删除所有已继承的权限”→“添加”→输入UserA→仅勾选“读取和执行”“列出文件夹内容”“读取”→确定。不给UserB添加任何条目。
方法二:用Junction重定向+权限隔离(适合需要保留程序默认路径的场景)
先以Administrator身份,在D:\UserData\UserA\MyApp下新建Output文件夹,设置好UserA专属NTFS权限;再用mklink /j命令将原C:\ProgramData\MyApp\Output指向该新位置。程序仍往原路径写,实际数据落在UserA专属目录里,UserB连路径都打不开。
【关键提醒:如果软件运行时需要写入,必须给UserA同时授予“修改”权限,但绝不能给“读取”以外的权限给UserB】
验证权限是否生效
第一步:注销当前账户,用UserB登录。
第二步:打开资源管理器,在地址栏手动输入C:\Users\UserA\Documents,按回车。
第三步:观察是否弹出“你没有权限打开该文件夹”提示。若看到内容,说明前几步权限未清除干净,需返回“高级安全设置”检查是否残留Users组或Everyone条目。
第四步:尝试在CMD中执行dir C:\Users\UserA\Documents,确认返回“拒绝访问”。
第五步:切换回UserA,确认自身所有文件、软件功能均正常,无报错。











