OSX 中以管理员身份使用 sudo 权限的问题

OSX 中以管理员身份使用 sudo 权限的问题

我是 Mac OS X 上的管理员,并且启用了 root 用户。当我尝试使用终端而不输入 sudo 时,它似乎无法识别我的管理员权限,但如果我输入 sudo 并输入密码,它就可以正常工作。

我也尝试过在 /etc/sudoers 文件中手动授予 sudo 权限,但仍然没有成功。

通过 NPM 运行安装,我得到的是:“npm ERR!请尝试以 root/管理员身份再次运行此命令。”

这是为什么?我该如何解决?

答案1

这是 OS X 中的标准行为,即使您是管理员,您也无法在 下写入任何内容/,除了你的主目录,而无需在命令前加上sudo。即使您使用sudosudo su -(以访问 root shell),如果不在恢复模式下禁用无根模式/SIP(系统完整性保护),您将无法更改 下的任何内容/usr( 除外/usr/local/bin/sbin/etc等... 。您可以使用命令 禁用它csrutil disable。请注意,无根模式是 OS X 10.11 El Capitan 中的新功能。如果您仍然无法npm使用sudo,请尝试使用sudo whoami并检查它是否输出root,然后使用sudo -u root

答案2

啊……作为管理员,基本上赋予了你 sudo 能力,但你仍然不是 root。也就是说,你的帐户不是 uid=0。那是唯一的 root 用户。你有三个选择。

  1. 使用 sudo(就像你一直使用的那样)
  2. 您可以通过 su 转换为 root 用户,例如: sudo su root -
  3. 您可以将您的 UID 更改为 0。

我推荐#1。

相关内容