sudo:必须是setuid root(Mac OS X)

我跑了

$ sudo chown -R $USER /usr/bin 

现在当我尝试像sudo那样运行/ usr / binpath下的程序时

 sudo:must be setuid root 

如果我想恢复chown,我该怎么办?

运行磁盘工具,select您的启动卷,并使用“修复权限”。 由于/ usr / bin(包括sudo)中的文件是作为操作系统的一部分安装的,因此它知道他们的所有权和权限,并将其正确设置。

 xattr /usr/bin com.apple.FinderInfo com.apple.rootless xattr -d <extended_attribute> /usr/bin 

这将删除属性,所以你可以做的命令,然后确保你完成后重新启用属性:

 xattr -w <extended_attribute> /usr/bin 

这将重新启用该属性。

OZZ

你需要把这些文件放回到root ,然后chmod u+x所有应该设置为root的程序。

我不熟悉OSX,但是在Linux中,可以通过运行su -来执行su -以root身份login并chown -R root /usr/bin