Logo
Published

debian 12 用户管理

一、用户

Linux 系统在创建的时候会默认帮我们创建一个超级管理员。也就是用户名为 root 的账号。

root 账号的权限很大,一般来说我们不会直接使用 root 账号去操作系统。而是会选择创建一个带有指定权限的账号(用户)去操作相关内容。

Linux 提供了非常方便的命令来管理用户。

我们可以使用 useradd 命令添加一个用户,例如

useradd webuser

添加完之后,可以用 su 命令切换用户

su webuser

一般来说在命令行的光标前会显示当前的用户名,我们也可以用 whoami 命令查看当前的用户

whoami

二、群组

当我们需要给多个用户添加同样的权限的时候,我们可以选择将它们添加到群组中。这样当我们给群组添加权限的时候,群组中的用户也拥有了同样的权限。

查看当前用户群组可以使用 groups 命令。

groups

groups 命令也可以用来查看其它用户的群组。假如想要查看 webuser 的群组,可以使用如下命令

groups webuser

如果想要修改用户的群组可以使用 usermod 命令。usermod 命令提供了很多参数,修改群组我们使用了 -g 参数。如下所示

usermod webuser -g wheel

这样就将用户 webuser 的群组修改为了 wheel,我们可以使用 groups webuser 再次查看下用户 webuser 的群组

⚠️ 想要查看更多关于 usermod 参数的信息,可以使用 usermod —help 命令。Linux 系统提供了 —help 参数用来帮助我们了解命令的使用。当遇到一个新的命令,可以尝试使用 —help 参数来获取帮助信息。

⚠️ 只有超级管理员才有权限修改用户的群组,上述命令都是使用的 root 用户来操作

事实上,一个用户可以拥有多个群组,在 Linux 中把群组分为主群组和附加群组。使用 usermod -g 命令操作的是用户的主群组。我们想要给用户添加一个附加群组可以使用 -G 参数,因为附加群组可以拥有多个,因此 -G 参数经常和 --append 参数一起使用,表示追加一个附加群组,而不覆盖原有的附加群组。--append 参数可以缩写为 -a ,比如我们想要给 webuser 追加一个附加群组,可以使用如下命令

usermod -aG wheel webuser

wheel、sys 都是系统自带的群组,用户创建的时候也会创建一个与用户名相同的群组,例如 webuser 在创建的时候会默认创建一个 webuser 的群组并将 webuser 归属到这个群组下。

有时候,我们希望将用户添加到一个新的群组中,例如 guest 群组。Linux 中并没有这个群组。这时候,我们可以使用 groupadd 命令来创建一个新的群组,命令如下所示

groupadd guest

三、sudo

sudo 命令诞生之前,如果想要使用其它用户的权限去做一些事,那么就需要先切换到其它用户。使用 su (switch user)命令,我们就可以切换到其它的用户,但是切换用户的时候需要输入目标用户的密码。例如我们想要切换到 root 用户管理系统,那么就需要 root 用户的密码,这会产生安全上的问题。

sudo (superuser do) 的诞生很好地解决了这个问题。利用 sudo 命令我们可以以其他用户的身份执行操作,甚至是 root 用户。sudo 命令带来的另一个好处是可以审计跟踪,当与 syslogd (系统日志守护程序)配合使用时,可以将所有的命令记录保存到日志系统中。

使用时,只需要在命令前面添加 sudo 即可,例如

sudo ls -la

如果希望给予一个用户 sudo 权限,可以将该用户添加到 sudo 用户组中

usermod -aG sudo [username]

检查是否成功添加到 sudo 组,如果输出中包含'sudo',则表示用户已经成功添加到sudo组。

groups [username]

测试用户是否可以使用 sudo 命令

su - [username]
`sudo some_command`

© 2025 All rights reservedBuilt with DataHub Cloud

Built with LogoDataHub Cloud