无法将新用户添加到 sudo 组

Dor*_*ion 5 freebsd users sudo

在 Ubuntu 中,我可以这样做以添加新组和用户:

groupadd group123
useradd -m -s /bin/bash -g group123 user123
usermod -a -G sudo,www-data user123
Run Code Online (Sandbox Code Playgroud)

我能够在 FreeBsd 中做到这一点:

sudo pw groupadd group123
sudo pw useradd user123 -m -s /bin/tcsh -g group123
Run Code Online (Sandbox Code Playgroud)

但这失败了:

sudo pw usermod -a -G sudo,www-data user123
Run Code Online (Sandbox Code Playgroud)

因为组 sudo 不存在。为什么不?“sudo pw”不意味着它必须吗?如果没有,如何正确添加?

Cla*_*sen 6

FreeBSD 上没有名为“sudo”的默认组。命令“sudo”与名为“sudo”的组的存在之间没有联系。

您可以使用以下命令查看系统上有哪些组:

$ cat /etc/group
Run Code Online (Sandbox Code Playgroud)

在许多 Linux 发行版(包括 Ubuntu)上都有一个名为“sudo”的组是很常见的。在 FreeBSD 上,出于相同目的,最常见的是使用组“wheel”或“operators”。

sudo程序读取配置文件。此文件确定允许哪些用户和组执行什么操作。

如果 sudo 是使用pkg软件包安装程序安装的,那么您可以在此处找到 sudo 配置文件:

/usr/local/etc/sudoers
Run Code Online (Sandbox Code Playgroud)

配置文件中有趣的部分是以下几行:

## Uncomment to allow members of group wheel to execute any command
# %wheel ALL=(ALL) ALL

## Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL

## Uncomment to allow members of group sudo to execute any command
# %sudo ALL=(ALL) ALL
Run Code Online (Sandbox Code Playgroud)

我的猜测是有人将您的系统设置为允许组“wheel”使用 sudo 并将您的用户添加到该组。“sudo”组根本不存在,您不能将任何人添加到不存在的组中。

您应该将用户添加到“wheel”组(或 中定义的任何内容/usr/local/etc/sudoers) - 或者您应该创建组“sudo”并确保它没有被注释掉/usr/local/etc/sudoers

进一步阅读第13.14在 FreeBSD 手册中与 Sudo 共享管理。命令sudo的手册页和完整 monty的配置文件