我的管理员用户已完全无法使用 sudo(仅收到“权限被拒绝”)

我的管理员用户已完全无法使用 sudo(仅收到“权限被拒绝”)

OS X 10.8.5

当我在日本安装他们的客户端时,我第一次尝试删除日本无线运营商的软件并意识到了这个问题。

然后我意识到我实际上无法运行任何调用 sudo(或 sudo su -)的命令。

每次尝试 sudo 时的具体错误消息是:

Sorry, user ___me___ is not allowed to execute ____command____ as root on ___machine____

我已经确认我是管理员(如果这很重要的话,就没有轮组成员资格,我认为不应该这样)。

我也无法接触甚至读取 suoders,因为命令需要 sudo 才能执行。

我尝试在磁盘工具中修复磁盘权限

我的“/”权限似乎关闭了,因此我尝试通过谷歌搜索找到解决方案,在单用户模式下启动并输入:

> /sbin/fsck -fy
> /sbin/mount -wu /
> /bin/chmod 1775 /
> /bin/sync
> exit

之后权限看起来正确,但问题仍然存在。

我甚至尝试通过目录实用程序中的“启用根”为我的用户启用根权限。

到底发生了什么事?我最近才注意到这个问题,但它可能已经存在好几个月了。

编辑

@Spiff 的解决方案有效。 sudoers 文件的内容如下:

#User privilege specification
root   ALL=(ALL) NOPASSWD: /sbin/ifconfig
%admin ALL=(ALL) NOPASSWD: /sbin/ifconfig

该条目应该是(现在是):

#User privilege specification
root   ALL=(ALL) ALL
%admin ALL=(ALL) ALL

我确信我从未在这台机器上编辑过这个文件。有人知道这是怎么发生的吗?我的机器最近也表现出奇怪的行为,有时会无限期地出现 cURL 或 Ping 超时,而我却能够同时通过浏览器连接到互联网,我必须重新启动机器才能使它们正常工作。多疑的我想知道这是否与我在亚洲的旅行有关(中国互联网/处理 VPN 的麻烦?日本无线客户端?),因为我只是在旅行回来后才注意到这些问题。

答案1

在单用户模式下,以读/写模式重新挂载根文件系统后,运行visudo以安全地编辑您的/etc/sudoers文件。

它会将您置于vi编辑器的一个特殊实例中,当您尝试保存文件时,它会对文件进行健全性检查。

如果您不确定您的 sudoers 文件应该是什么样子,请与正常运行的机器上的文件或问题出现之前的备份进行比较。

仔细想想,恢复/etc/sudoers问题发生之前的一个好的副本也应该可以解决问题。

更新后添加:我认为也可能是您的 sudoers 文件没有问题,但您的管理员帐户不知何故被从管理员组中删除了。您可能需要使用 Directory Utility 或 进行检查dscl

相关内容