Mac 系统上,完成某些任务需要系统更多区域的访问权限,Mac 管理员可以使用 root 用户帐户来完成这些任务。

“root”的用户帐户是一个超级用户,拥有更多系统区域(包括 macOS 用户帐户中的文件)的读写权限。

默认情况下,root 用户处于停用状态。root 用户帐户不适合日常使用。

如果您可以使用管理员帐户登录 Mac,您可以启用 root 用户,然后以 root 用户身份登录来完成您的任务。

它的权限允许更改 Mac 所必需的文件。要撤销此类更改,您可能需要重新安装系统软件。您应在完成任务后停用 root 用户。

与启用 root 用户相比,在“终端”中使用 sudo 命令更为安全。要了解 sudo,请打开“终端”应用,然后输入 man sudo

 

启用或停用 root 用户

  1. 选取苹果菜单 () >“系统偏好设置”,然后点按“用户与群组”(或“帐户”)。
  2. 点按 锁形图标,然后输入管理员名称和密码。
  3. 点按“登录选项”。
  4. 点按“加入”(或“编辑”)。
  5. 点按“打开目录实用工具”。
  6. 点按“目录实用工具”窗口中的 锁形图标,然后输入管理员名称和密码。
  7. 从“目录实用工具”的菜单栏中:

     

    • 选取“编辑”>“启用 Root 用户”,然后输入要用于 root 用户的密码。
    • 或者选取“编辑”>“停用 Root 用户”。

 

以 root 用户身份登录

启用 root 用户后,仅在以 root 用户身份登录时,您才拥有 root 用户的权限。

  1. 选取苹果菜单 >“退出登录”,以退出登录您的当前用户帐户。
  2. 在登录窗口中,使用用户名“root”以及为 root 用户创建的密码登录。
    如果登录窗口显示用户列表,请点按“其他”,然后登录。

完成任务后,应务必停用 root 用户。 

 

更改 root 密码

  1. 选取苹果菜单 () >“系统偏好设置”,然后点按“用户与群组”(或“帐户”)。
  2. 点按 锁形图标,然后输入管理员名称和密码。
  3. 点按“登录选项”。
  4. 点按“加入”(或“编辑”)。
  5. 点按“打开目录实用工具”。
  6. 点按“目录实用工具”窗口中的 锁形图标,然后输入管理员名称和密码。
  7. 从“目录实用工具”的菜单栏中,选取“编辑”>“更改 Root 密码…”
  8. 在出现提示时输入 root 密码。

 

Mac 取消 sudo 密码

1)修改权限

sudo chmod u+w /etc/sudoers 

 

2)修改配置

注销掉  #%admin ALL = (ALL) ALL

修改为 %admin ALL = (ALL) NOPASSWD:ALL

# root and users in group wheel can run anything on any machine as any user
root            ALL = (ALL) ALL
#%admin         ALL = (ALL) ALL
%admin          ALL = (ALL) NOPASSWD:ALL
#%sudo                  ALL = (ALL) NOPASSWD:ALL
#%wheel          ALL = (ALL) NOPASSWD:ALL

注意: 有时将用户设了nopasswd,但是不起作用,原因是被后面的group的设置覆盖了,需要把group(admin/wheel)的设置也改为nopasswd

 

如果你想设置,只有执行某些命令可以sudo免密码,可以如下设置:

your_user_name   ALL= (root) NOPASSWD: /sbin/mount, (root) NOPASSWD: /bin/umount, (root) NOPASSWD: /mnt/mount, (root) NOPASSWD: /bin/rm, (root) NOPASSWD: /usr/bin/make, (root) NOPASSWD: /bin/ln, (root) NOPASSWD: /bin/sh, (root) NOPASSWD: /bin/mv, (root) NOPASSWD: /bin/chown, (root) NOPASSWD: /bin/chgrp, (root) NOPASSWD: /bin/cp, (root) NOPASSWD: /bin/chmod

 

3)恢复权限 

sudo chmod u-w /etc/sudoers 

 

 

参考推荐

Mac sudo: /etc/sudoers is owned by uid 501, should be 0

Mac OS 80 端口占用问题的解决方法

Mac OS X 系统命令查看系统版本号

Mac 高效程序猿开发必备软件

Mac brew 安装软件

Mac 远程连接失败:ssh: connect to host localhost port 22: Connection refused

在 Mac 上将 zsh 用作默认 Shell (Apple 官网)

Linux ssh 切换登录用户自动转到root用户 (推荐

Linux sudo 免密码输入

Mac 上启用 root 用户或更改 root 密码

Linux expect 命令无需输入密码登陆

Linux shell 脚本通过expect实现自动输入密码

Linux 修改SSH 默认端口 22,防止被破解密码