误修改/usr/local/bin目录所有者为当前用户,如何快速恢复?
修复/usr/local/bin/权限异常问题
是否需要使用系统还原?
- 除非已经出现系统命令执行失败、核心功能异常的情况,否则不需要使用系统还原。系统还原操作成本高,还可能丢失近期的系统配置、自定义文件改动。
- 你修改的仅为/usr/local/bin/目录的所有者权限,没有触及系统核心目录,影响范围非常有限,仅靠权限修正命令就能完全恢复。
快捷恢复方案
首先执行权限还原命令恢复默认所有者:
# macOS 执行这条 sudo chown -R root:wheel /usr/local/bin/ # Debian/Ubuntu 等 Linux 发行版执行这条 sudo chown -R root:staff /usr/local/bin/
执行时输入你的用户密码即可,密码输入过程不会有回显,属于正常情况
如果后续还要全局安装NPM包,不建议再通过修改系统目录权限、加sudo的方式操作,推荐两种更安全的无权限冲突方案:
- 自行修改NPM全局包安装路径到当前用户家目录:
- 执行
mkdir ~/.npm-global创建用户专属的全局包存放目录 - 执行
npm config set prefix '~/.npm-global'指定NPM全局安装路径 - 将
export PATH=~/.npm-global/bin:$PATH追加到你的shell配置文件(/.bashrc、/.zshrc等),重启终端后即可正常全局装包,无需管理员权限
- 执行
- 改用nvm管理Node.js版本,它默认会将Node、NPM以及全局包都存放在当前用户的家目录下,从根源上避免全局装包的权限冲突问题。
内容的提问来源于stack exchange,提问作者RaspRulon
相关产品推荐
相关产品推荐

