Terminal /usr/bin/sudo必须由uid 0拥有并设置了setuid位
我的Mac电脑(El Capitan)有usr/bin/sudo问题 当我从NPM安装时遇到权限问题,并按照他们的指示进行操作时,问题就开始了: 我发现我在这里做了一件非常愚蠢的事:Terminal /usr/bin/sudo必须由uid 0拥有并设置了setuid位,terminal,root,sudo,chown,Terminal,Root,Sudo,Chown,我的Mac电脑(El Capitan)有usr/bin/sudo问题 当我从NPM安装时遇到权限问题,并按照他们的指示进行操作时,问题就开始了: 我发现我在这里做了一件非常愚蠢的事: 我打开终端,得到: malloc:*对象0x7fff38418900的错误:未分配要释放的指针*在malloc\u error\u break中设置断点以进行调试[进程被信号6终止] 这基本上扼杀了我的终端,因此也扼杀了我的工作 在单用户模式下重新启动时输入命令-S。我跑 fsck -fy 我的硬盘看起来还不
我打开终端,得到: malloc:*对象0x7fff38418900的错误:未分配要释放的指针*在malloc\u error\u break中设置断点以进行调试[进程被信号6终止] 这基本上扼杀了我的终端,因此也扼杀了我的工作 在单用户模式下重新启动时输入命令-S。我跑
fsck -fy
我的硬盘看起来还不错。然后我开始:
它告诉我修复权限,因为我有El Capitan,因此无法使用Disk Utility进行此操作。我运行:
sudo /usr/linexec/repair_packages --verify -standard-pkgs /
终端吐回:
sudo: effective uid is not 0, is sudo installed setuid root?
我更深入地挖掘:
我那么
$ /usr/bin/sudo mv /usr/local/bin/sudo /usr/local/bin/sudo-strange
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
我在这里找到了一个真正令人沮丧的答案:。但我是一个乐观主义者,所以我忽略了第一个答案,按照第二个答案告诉我的去做:
$ chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo
chown: root: illegal group name
这说明root不存在。但是当我
$ whoami
root
所以我已经走到了死胡同,我真的不想花两天的时间重新安装所有的东西
有什么建议吗?问题是您可能会将权限更改为directoty/usr/bin。为解决这一问题: 首先,请确保root是此目录/usr/bin的所有者:
Chown root:root /usr/bin
并更改此目录/usr/bin/sudo的权限:
chmod u+s /usr/bin/sudo
我和macOS sierra面临同样的问题。
在尝试了一些其他的事情,但每次都失败后,我注意到我的操作系统有一个挂起的更新,安装了更新,一切都恢复了正常。这是因为权限问题
$ su
Password: <type your root password>
然后通过从用户输入来检查它
$sudo -l
这对我来说很好。当我们搞乱了sudo文件的权限时,就会发生这种情况 启用根用户: 切换到根用户:
$ su
Password: <type the root password set while enabling root user>
(如果您记得更改权限的文件,请使用该文件而不是usr/local/bin/sudo)
这应该可以解决问题。
如果这仍然没有帮助,请尝试从根用户中删除/usr/local/bin/sudo。使用
/usr/bin/sudo
执行命令
/usr/bin/sudo chmod 511 /usr/local/bin/sudo
/usr/bin/sudo chown root:wheel /usr/local/bin/sudo
/usr/bin/sudo chown -R root:wheel /usr/local/libexec/sudo/
/usr/bin/sudo chmod -R 511 /usr/local/libexec/sudo/
我和你有同样的问题,但不知道我是怎么得到的。我也有malloc错误,我通过更新到最新版本的macOS解决了这个问题,现在声音和终端都不工作了。要修复磁盘权限,请重试。这对我不管用,但对你可能管用。
$ su
Password: <type the root password set while enabling root user>
chmod root:root /usr/local/bin/sudo
/usr/bin/sudo chmod 511 /usr/local/bin/sudo
/usr/bin/sudo chown root:wheel /usr/local/bin/sudo
/usr/bin/sudo chown -R root:wheel /usr/local/libexec/sudo/
/usr/bin/sudo chmod -R 511 /usr/local/libexec/sudo/