ubuntu18.04 上的默认用户权限、root 和 sudo/admin/wheel 组

ubuntu18.04 上的默认用户权限、root 和 sudo/admin/wheel 组

我安装了 Ubuntu 18.04 并注意到了一些事情:

  1. 我的默认用户(安装后立即配置的用户)属于 sudo 组,具有以下权限: ALL=(ALL:ALL) ALL
  2. 我的 root 用户没有密码
  3. 在 /etc/sudoers 文件上有一个名为 admin: %admin ALL=(ALL) ALL 的组,但它未在 /etc/group 中列出

我的问题是:

  1. 为什么我的默认用户属于 sudo 组?这基本上意味着我有 2 个 root 用户。真的吗?

  2. 如何更改新用户所属的默认组

  3. 我在这里读到: sudo 访问 vs 轮组

但不明白 ALL=(ALL) ALL 和 ALL=(ALL:ALL) 之间的区别

  1. 为什么 admin 组出现在 /etc/sudoers 中而不是 /etc/group 中

  2. 我的主要目标是创建一个无法在系统上执行太多操作的来宾用户(仅修改其单独的专用分区上的文件系统)和一个具有强密码的管理员帐户。这是否意味着我必须删除我的“默认安装”用户并创建一个新用户,或者只需从 sudo 组中删除他就足够了?

谢谢

答案1

Ubuntu 的理念是通过不向 root 提供密码来禁用 root 登录。我想这是为了让任何登录都会留下一个标识特定用户而不是 root 的日志条目,这样就有一个窒息的喉咙(“hutcruchi,你需要更好地保护你的密码!”)。或者也许是为了让猜测如何登录变得更加困难 - 您不仅必须猜测密码,还必须猜测用户帐户。

旁注:并不是每个人都同意这个哲学。

因此:

  1. 需要有人成为管理员。也可能是默认用户。
  2. 在 中/etc/login.defs,设置USERGROUPS_ENABno。在 中/etc/default/useradd,设置GROUP为您想要的值。
  3. (ALL)是个目标sudo 命令的用户,即您可以成为的用户。(ALL:ALL)在冒号后指定目标组。ALL右括号之后是行动可以在 sudo 下执行;例如,ALL=(ALL) /bin/ls表示 ls 命令可以以任何用户身份运行。显然,ALL 表示任何组/用户/操作。这记录在 sudoers 手册页的段落下Runas_Spec
  4. 我需要猜测,但我非常确定,这样您就可以为具有管理员权限的用户创建一个管理组,而不是默认的sudo,其名称可能会让普通观察者感到困惑。
  5. 您可以保留默认用户,为其指定一个强密码并将其用于管理工作。如果您不打算使用默认用户,请将其删除(但首先创建管理员用户)。或者简单地说,当您安装系统时,将默认用户命名为“admin”,并再次为其指定一个强密码。

相关内容