从登录Linux开始就要和Linux下的用户打交道,用户管理是Linux中非常基础和重要的部分,本节就将详细介绍用户管理的常用命令。
用户管理的高频命令包括useradd、id、passwd和su等,具体说明如下。
(1)创建用户——useradd (★★★★☆)
使用useradd创建普通用户user(如果要创建其他名字的普通用户,使用新的用户名替换user即可),命令如下所示,-m选项表示自动创建该用户的home目录。
如果能在/home目录下看到user子目录,则说明user的home目录已经创建成功。
(2)查看用户信息——id (★★★★☆)
使用id查看当前用户的信息,如下所示,会显示当前登录的用户信息,包括uid、gid、groups等信息。
使用id查看指定用户的信息,如下所示,在root用户下查看普通用户user的信息。
(3)设置/修改用户密码——passwd (★★★★☆)
使用passwd设置/修改user的密码,如下所示。
上述命令和参数说明如下。
(4)切换用户——su (★★★★★)
使用su将当前用户切换到指定的用户,例如将root用户切换到普通用户user,命令如下。
切换后用户名变成了user,当前目录为~,~表示当前用户user的home目录,即/home/user,用户提示符由#变成了$。
上述命令和参数说明如下。
(5)退出当前用户登录——exit (★★★★☆)
使用exit命令,可以退出当前用户登录,返回到之前的登录用户,如下所示。
使用〈Ctrl+D〉组合键同样可以退出当前登录。
(6)创建用户组——groupadd (★★★☆☆)
使用groupadd加上组名,可以创建用户组,如下所示,创建了admin用户组。
查看/etc/group文件,可以看到新建的admin组信息。
如果显示admin组信息,则说明admin组创建成功。
(7)为用户添加用户组——usermod (★★★★☆)
使用usermod为user用户添加一个新的用户组admin,并且不删除user原有的groups。这样可以使得user用户同时属于多个用户组。
上述命令和参数说明如下。
例如Docker命令默认是在root用户下运行的,这样风险很大,可以将普通用户加入Docker的docker用户组,这样,普通用户就可以运行Docker命令,无须切换到root用户。
注意: 可以使用gpasswd-d user admin移除user用户的用户组admin。
(8)修改用户的当前用户组——newgrp(★★☆☆☆)
使用newgrp将当前用户组user修改成admin,命令如下。
运行id命令查看user信息,可以看到当前用户组gid已经切换成admin。
要先切换到对应的用户,再来修改该用户的当前用户组。