通过禁用用户对废纸篓的写入权限并封堵终端路径,可强制锁定其清空废纸篓能力:先将~/.trash设为只读,再修改登录shell为/usr/bin/false或重定向trash路径,最后禁用其访达与终端访问。

通过用户权限隔离实现废纸篓锁定
Mac系统本身不提供“禁止某用户清空废纸篓”的图形化开关,但可通过禁用该用户的废纸篓写入权限,使其点击“清倒”时直接报错或静默失败——这比依赖教育提醒更可靠,尤其适用于共享电脑中防止临时用户误删财务报表、设计源文件等关键资料。
第一步:打开“访达”→顶部菜单栏点击「前往」→「前往文件夹」→输入 ~/ →回车,进入当前用户主目录。
第二步:在该窗口空白处右键→「显示简介」→点开「共享与权限」下方三角箭头→点左下角锁形图标,输入管理员密码解锁。
第三步:在用户列表中找到目标受限用户(如“intern”或“guest”),将其权限从“读与写”改为【只读】。注意:不要选“无”,否则该用户将无法登录桌面环境。
第四步:点右下角齿轮图标→「应用到 enclosed items」→确认。此时该用户下次登录后,其废纸篓目录(~/.Trash)将失去写入能力,所有清空操作均会失败。
验证与强制防护补丁
仅改权限还不够——用户可能通过终端绕过图形界面限制。必须同步封堵命令行路径。
方法一:禁用目标用户的终端删除能力
打开“系统设置”→「用户与群组」→点击目标用户名→点右下角「…」→「高级选项」→在「登录 shell」字段中将 /bin/zsh 改为 /usr/bin/false。这一步【会彻底禁用该用户的终端会话】,任何试图执行 sudo rm -rf ~/.Trash/* 的操作都会被系统拒绝。
方法二:重定向废纸篓路径(需管理员全程操作)
以管理员身份打开终端→依次执行:sudo mkdir -p /Library/DisabledTrash/internsudo chown intern:staff /Library/DisabledTrash/internsudo chmod 700 /Library/DisabledTrash/intern
再执行:sudo ln -sf /Library/DisabledTrash/intern /Users/intern/.Trash。此后该用户拖入废纸篓的文件实际存入一个空目录,清空操作永远“成功”但实际无数据可删。
绕过风险拦截
有些用户会尝试用管理员账户登录后帮他人清空废纸篓——这是最大漏洞。必须关闭该路径:
在“系统设置”→「用户与群组」→左侧勾选「启用家长控制」→点目标用户→「应用程序」→取消勾选「终端」和「访达」。这会阻止非管理员账户启动访达,废纸篓图标在程序坞中将完全不可见。
最后检查:切换至该受限用户账户→尝试右键废纸篓→应无“清倒废纸篓”菜单项;尝试拖文件进废纸篓→系统弹出“您没有权限更改此项目”提示框。











