我的Mac(El Capitan)上有usr / bin / sudo问题。
当我遇到从NPM安装的权限问题并按照他们的指示开始时: https://docs.npmjs.com/getting-started/fixing-npm-permissions
我发现这是我在这里做的一件非常愚蠢的事情:
/usr/bin/sudo must be owned by uid 0 and have the setuid bit set version .ubantu14.04 LTS
我打开我的终端并获得:
malloc: *对象0x7fff38418900的错误:未分配的指针被释放* 在malloc_error_break中设置断点以进行调试[进程被信号6终止]
这基本上会杀死我的终端,从而杀死我的工作。
I Command-S重启时以单用户模式启动。我跑
fsck -fy
我的硬盘似乎没问题。然后我得到: http://osxdaily.com/2015/11/04/verify-repair-permissions-mac-os-x/告诉我修复权限,因为我有El Capitan,因此不能使用磁盘工具。我跑:
sudo /usr/linexec/repair_packages --verify -standard-pkgs /
终端吐了回来:
sudo: effective uid is not 0, is sudo installed setuid root?
$ type sudo
sudo is hashed (/usr/bin/sudo)
$ ls -@@eil /usr/bin/sudo
-r-s--x--x 1 501 wheel 168448 Dec 2 2015 /usr/bin/sudo
$ md5 /usr/bin/sudo
MD5 (/usr/bin/sudo) = 7d986f7707c0f11264554cd4354ef80d
然后我
$ /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
我在这里找到一个真正令人沮丧的答案:https://askubuntu.com/questions/452860/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
所以我走到了尽头,我真的不想花两天时间重新安装一切。
有什么建议吗?
答案 0 :(得分:0)
问题是您可能更改了directoty / usr / bin的权限。解决这个问题:
Fisrt确保root是此目录/ usr / bin的所有者:
Chown root:root /usr/bin
并更改此目录/ usr / bin / sudo的权限:
chmod u+s /usr/bin/sudo
答案 1 :(得分:0)
由于权限问题
$ su
Password: <type your root password>
切换到root用户并运行命令
# pkexec chmod a=rx,u+ws /usr/bin/sudo
然后通过用户输入进行检查
$sudo -l
对我来说很好。
答案 2 :(得分:0)
当我们弄乱sudo文件的权限时会发生这种情况
启用root用户:https://www.hostmyapple.com/blog/how-to-enable-the-root-account-in-macos
切换到root用户:
$ su
Password: <type the root password set while enabling root user>
更改权限:
chmod root:root /usr/local/bin/sudo
(如果您还记得更改权限的文件,请使用该文件代替usr / local / bin / sudo)
这应该解决它。 如果仍然不能解决问题,请尝试从root用户删除/ usr / local / bin / sudo。
答案 3 :(得分:0)
使用 public async Task<IActionResult> OnPostLogOrder(Order order)
{
if (order != null)
{
await orderRepo.AddOrder(order);
}
return RedirectToPage("Shop");
}
执行命令
/usr/bin/sudo
答案 4 :(得分:-2)
我遇到了与macOS sierra相同的问题。 在尝试了其他一些事情并且每次都失败之后,我注意到我的操作系统有一个挂起的更新,安装了更新,一切都恢复正常。