![Linux快速入门与实战:基础知识、容器与容器编排、大数据系统运维](https://wfqqreader-1252317822.image.myqcloud.com/cover/769/43806769/b_43806769.jpg)
2.3.2 用户管理
从登录Linux开始就要和Linux下的用户打交道,用户管理是Linux中非常基础和重要的部分,本节就将详细介绍用户管理的常用命令。
1.用户管理的高频命令
用户管理的高频命令包括useradd、id、passwd和su等,具体说明如下。
(1)创建用户——useradd (★★★★☆)
使用useradd创建普通用户user(如果要创建其他名字的普通用户,使用新的用户名替换user即可),命令如下所示,-m选项表示自动创建该用户的home目录。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/55_05.jpg?sign=1739241535-sQvEdL1eHfs5HOFTJLFOFnTGilIGW2Y5-0-8a9631a36bca50dc88d82c9d3e44fb49)
如果能在/home目录下看到user子目录,则说明user的home目录已经创建成功。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/55_06.jpg?sign=1739241535-ox7xFJSufLT1NzhVtUK7rosSUyu94wi1-0-3eea7d9257b04ab8dfb00690cdae0570)
(2)查看用户信息——id (★★★★☆)
使用id查看当前用户的信息,如下所示,会显示当前登录的用户信息,包括uid、gid、groups等信息。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/55_07.jpg?sign=1739241535-gUSaJBt9jtnv72JowNz811TyAQgBCuWu-0-c5503ed8d34d45715f867ea192cba527)
使用id查看指定用户的信息,如下所示,在root用户下查看普通用户user的信息。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/56_01.jpg?sign=1739241535-W7PU75nDba0xsxlTZMbHhIT6w6tz7g0V-0-2d66654b51997a9cb96be9129487ad3e)
(3)设置/修改用户密码——passwd (★★★★☆)
使用passwd设置/修改user的密码,如下所示。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/56_02.jpg?sign=1739241535-6EAZ1GkbhfrxXe914o2uINksgrx89vkl-0-1897227d19fd580fd288b71ae70673fe)
上述命令和参数说明如下。
● 如果不加用户名,直接运行passwd,将设置/修改当前用户的密码。
● root用户可以设置/修改普通用户的密码,普通用户只能设置/修改自己的密码。
● 设置密码的时候,不会有回显。
(4)切换用户——su (★★★★★)
使用su将当前用户切换到指定的用户,例如将root用户切换到普通用户user,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/56_03.jpg?sign=1739241535-qdOeqE3KmBjdxBN6IqJ7tuqAq98oSnSk-0-791ab23eaad51bab618e57301b0ab721)
切换后用户名变成了user,当前目录为~,~表示当前用户user的home目录,即/home/user,用户提示符由#变成了$。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/56_04.jpg?sign=1739241535-6vXYRlwzz5xFaCZRCz2tEA3YxFybMv3u-0-0d2821ead4c5d00fee3916543f67c0fc)
上述命令和参数说明如下。
● su和user中间还有一个横杠(-),横杠同su、user之间都有空格,一定要注意,命令、参数和选项之间都要有空格。
● 横杠(-)表示将当前目录切换到指定用户的home目录,本例中指定的用户是user。如果不加横杠,直接运行su user,这样只会切换用户,不会切换当前目录。
● 如果su直接运行su命令,不加任何参数,则会切换到root用户。
(5)退出当前用户登录——exit (★★★★☆)
使用exit命令,可以退出当前用户登录,返回到之前的登录用户,如下所示。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/56_05.jpg?sign=1739241535-hw5T6UeBo4BO9eiXoH2YDwiWbm8GGmi9-0-4e4910baea06f20847d52aa7b8618a2c)
使用〈Ctrl+D〉组合键同样可以退出当前登录。
(6)创建用户组——groupadd (★★★☆☆)
使用groupadd加上组名,可以创建用户组,如下所示,创建了admin用户组。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/56_06.jpg?sign=1739241535-o0zOjaHN4lLd9q0O81mbLDK7cWqTYPIg-0-66d89746e68afb2923a75a5245a1648a)
查看/etc/group文件,可以看到新建的admin组信息。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/56_07.jpg?sign=1739241535-XuEHxT0KcJIQ9UGvS0mJHrXkF3TlXxcP-0-5ec1b9acf6883006fa266e91b9b0439a)
如果显示admin组信息,则说明admin组创建成功。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/56_08.jpg?sign=1739241535-3OD5U8zvOox8XxHiUvs4rrEaFuMXNRps-0-dc05f46cdcd288b2cbb74e7923cc2b14)
(7)为用户添加用户组——usermod (★★★★☆)
使用usermod为user用户添加一个新的用户组admin,并且不删除user原有的groups。这样可以使得user用户同时属于多个用户组。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/57_01.jpg?sign=1739241535-sA1lQaLYUZEfdhrEM1sOitJebf7Av3lW-0-2c04dddbf1fb7da480192d5d1d72f59c)
上述命令和参数说明如下。
● -a选项表示增加用户组。
● -G选项表示增加用户组的同时,并不删除用户原来的groups。
● admin是待添加的用户组。
● user是用户名。
● usermod可以使得用户同时属于多个用户组,从而扩大用户的权限。
例如Docker命令默认是在root用户下运行的,这样风险很大,可以将普通用户加入Docker的docker用户组,这样,普通用户就可以运行Docker命令,无须切换到root用户。
注意:可以使用gpasswd-d user admin移除user用户的用户组admin。
(8)修改用户的当前用户组——newgrp(★★☆☆☆)
使用newgrp将当前用户组user修改成admin,命令如下。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/57_02.jpg?sign=1739241535-1plmWOJbHXYiYzY2C8Awg9wLq7J4p2wz-0-d3ab9ff4162c944d04656a11c1962371)
运行id命令查看user信息,可以看到当前用户组gid已经切换成admin。
![](https://epubservercos.yuewen.com/7143D2/23083819001905006/epubprivate/OEBPS/Images/57_03.jpg?sign=1739241535-fxx0pkEW5mjQC9cMPBRawwcxgQsGMm4y-0-7a005a7e8fa646fcda1fed547525a2df)
要先切换到对应的用户,再来修改该用户的当前用户组。