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`
- 一、用户
- 二、群组
- 三、sudo