Answers:
如果我正确地理解了您的问题,那么当前您没有sudoers,并且您正在尝试执行sudo,但它不起作用。在这种情况下,要使sudo工作,您可以执行以下操作:
要检查sudo是否运行正常cd /etc
,请执行以下操作sudo vim sudoers
。您应该能够通过vim编辑器查看sudoers文件。/ etc中的任何读/写操作都需要sudo命令。
我知道这有点令人惊讶,即使没有sudoer,也可以通过UI在/ etc中进行操作。但这对我有用:)
使用系统首选项启用root用户,然后使用root用户身份登录时创建/ etc / sudoers
touch /etc/sudoers; chmod 440 /etc/sudoers
注意:由于在这种情况下该命令以root用户身份运行,并且组ID /etc
为0,因此默认情况下,重新创建后,该命令应归正确的用户和组所有,但是如果由于某种原因而不是,请运行
chown root:wheel /etc/sudoers
创建完后,/etc/sudoers
使用visudo将以下代码插入其中:
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
# Failure to use 'visudo' may result in syntax or file permission errors
# that prevent sudo from running.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
# Host alias specification
# User alias specification
# Cmnd alias specification
# Defaults specification
Defaults env_reset
Defaults env_keep += "BLOCKSIZE"
Defaults env_keep += "COLORFGBG COLORTERM"
Defaults env_keep += "__CF_USER_TEXT_ENCODING"
Defaults env_keep += "CHARSET LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE"
Defaults env_keep += "LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME"
Defaults env_keep += "LINES COLUMNS"
Defaults env_keep += "LSCOLORS"
Defaults env_keep += "SSH_AUTH_SOCK"
Defaults env_keep += "TZ"
Defaults env_keep += "DISPLAY XAUTHORIZATION XAUTHORITY"
Defaults env_keep += "EDITOR VISUAL"
# Runas alias specification
# User privilege specification
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
ALL ALL=(ALL) NOPASSWD:/opt/dplat/bin/Revision/CMUpdatePackage/Installer.app/Contents/MacOS/I nstaller
ALL ALL=(ALL) NOPASSWD:/opt/dplat/bin/UpdatePackageInstaller.app/Contents/MacOS/UpdatePackage Installer
如果您不是管理员,则可以改为将系统引导至单用户模式(这可以通过关闭设备电源并在启动时按住Commands来完成)并运行:
mount -uw /
并且您将具有root权限在终端中,并且您将能够运行以上命令进行设置 /etc/sudoers
上面的答案涵盖了文件的默认内容,以及如何使用Finder将其移到适当位置以及如何更改其权限。但是,除非sudoers文件的所有者是root,否则sudo会抱怨。更改所有者而不使用sudo的唯一方法是通过以下命令:
osascript -e 'do shell script "chown root:wheel /etc/sudoers" with administrator privileges'