我已经(以某种错误的方式)修改了文件etc/sudoers
我的 Mac OS X 10.6.8 中的文件。
出于这个原因,我删除了错误的行并替换了原始文件。但是现在每当我输入 sudo 命令时,输出都是:
sudo: /etc/sudoers is owned by uid 501, should be 0
Segmentation fault
一个解决方案可能是这样,但是当我输入su
(和密码)时,输出是:
su: Sorry
我该如何解决这个问题?
作为记录,在 OS X 上有一个更简单的方法来解决这个问题:运行磁盘工具,在侧栏中选择卷,然后选择急救选项卡,然后单击修复磁盘权限。/etc/sudoers 是它知道“正确”权限的系统文件之一,因此它会为您处理它。
您需要root
直接登录,或启动到root
控制台,才能更改/etc/sudoers
文件的所有权。
尝试sudo -u root vim /etc/sudoers
,将“root”替换为您在最初修改时登录的用户/etc/sudoers
。然后进行任何需要的更改,保存并退出,然后重试。
source ~/.bash_profile
我在以 root 身份登录时添加到我的 ~/.bashrc 文件时遇到了这个问题。sudo -u root vim ~/.bashrc
以非 root 用户身份运行并删除该source ~/.bash_profile
行解决了我的问题。