我安装了 Ubuntu 18.04 并注意到了一些事情:
- 我的默认用户(安装后立即配置的用户)属于 sudo 组,具有以下权限: ALL=(ALL:ALL) ALL
- 我的 root 用户没有密码
- 在 /etc/sudoers 文件上有一个名为 admin: %admin ALL=(ALL) ALL 的组,但它未在 /etc/group 中列出
我的问题是:
为什么我的默认用户属于 sudo 组?这基本上意味着我有 2 个 root 用户。真的吗?
如何更改新用户所属的默认组
我在这里读到: sudo 访问 vs 轮组
但不明白 ALL=(ALL) ALL 和 ALL=(ALL:ALL) 之间的区别
为什么 admin 组出现在 /etc/sudoers 中而不是 /etc/group 中
我的主要目标是创建一个无法在系统上执行太多操作的来宾用户(仅修改其单独的专用分区上的文件系统)和一个具有强密码的管理员帐户。这是否意味着我必须删除我的“默认安装”用户并创建一个新用户,或者只需从 sudo 组中删除他就足够了?
谢谢
答案1
Ubuntu 的理念是通过不向 root 提供密码来禁用 root 登录。我想这是为了让任何登录都会留下一个标识特定用户而不是 root 的日志条目,这样就有一个窒息的喉咙(“hutcruchi,你需要更好地保护你的密码!”)。或者也许是为了让猜测如何登录变得更加困难 - 您不仅必须猜测密码,还必须猜测用户帐户。
旁注:并不是每个人都同意这个哲学。
因此:
- 需要有人成为管理员。也可能是默认用户。
- 在 中
/etc/login.defs
,设置USERGROUPS_ENAB
为no
。在 中/etc/default/useradd
,设置GROUP
为您想要的值。 (ALL)
是个目标sudo 命令的用户,即您可以成为的用户。(ALL:ALL)
在冒号后指定目标组。ALL
右括号之后是行动可以在 sudo 下执行;例如,ALL=(ALL) /bin/ls
表示 ls 命令可以以任何用户身份运行。显然,ALL 表示任何组/用户/操作。这记录在 sudoers 手册页的段落下Runas_Spec。- 我需要猜测,但我非常确定,这样您就可以为具有管理员权限的用户创建一个管理组,而不是默认的
sudo
,其名称可能会让普通观察者感到困惑。 - 您可以保留默认用户,为其指定一个强密码并将其用于管理工作。如果您不打算使用默认用户,请将其删除(但首先创建管理员用户)。或者简单地说,当您安装系统时,将默认用户命名为“admin”,并再次为其指定一个强密码。