教你在Linux中如何使用命令或手动修改文件添加一个用户



   首先我们从一个例子进行引入:添加一个happy用户,基本组为happy(5200),附加组为luzhi。

一、用命令的方法实现:

  groupadd -g 5200 happy

  useradd -u 5200 -g happy -G luzhi  happy

  passwd happy

  su - happy 

  这样就这个用户就创建成功了。

下面来演示一下:

  1. 验证系统中是否存在happy用户,从输出看是没有存在happy用户的。

教你在Linux中如何用命令或手动修改文件来添加一个用户_Linux

2.我们先建一个GID为5200名为happy的组

教你在Linux中如何用命令或手动修改文件来添加一个用户_信息_02

3.查看组是否建立成功,从输出看明显建成功了。

教你在Linux中如何用命令或手动修改文件来添加一个用户_Linux_03

4.然后开始添加一个happy用户,基本组为happy(5200),附加组为luzhi。

 执行后要查看用户信息是否添加成功,从输出看是建立成功的。

教你在Linux中如何用命令或手动修改文件来添加一个用户_信息_04

5,最后我们还要查看一下附加组是否添加成功,使用命令: tail -3 /etc/group

  然后我们看到输出的第一行,在luzhi组的后面跟有happy组,所以说明附加组添加成功。

教你在Linux中如何用命令或手动修改文件来添加一个用户_信息_05

6.我们也可以使用 id happy 查看用户happy的信息。

教你在Linux中如何用命令或手动修改文件来添加一个用户_Linux_06

7.到这里我们已经成功了大半,但是Linux系统是不允许没有密码的用户登录的,所以我们还要设置用户密码

教你在Linux中如何用命令或手动修改文件来添加一个用户_用户_07

8.到这里我们的就已经全部创建成功了。

教你在Linux中如何用命令或手动修改文件来添加一个用户_信息_08



 2.相信看到这里的新手们,或许不知道以上出现的命令和文件的意思,那么下面我将把上面的出现的命令一一进行讲解:

      命令的讲解:(只列出常用选项,更多的选项请使用man命令查询)

                   groupadd   grpname : 创建用户组命令

                                        -g  GID   :表示创建GID为多少的用户组

                   

                   useradd   username ; 创建用户命令

                                        -u UID   :表示创建UID为多少的用户

                                        -g GID   :表示属于哪一个基本组

                                        -G GID   :表示属于哪一个附加组

                   passwd    username : 修改用户密码

                   

                   su -|-l   username :表示正常通过终端登录用户

                                       

    文件的讲解: /etc/passwd 、 /etc/group 、 /etc/shadow

              

               /etc/passwd : 是系统存放用户信息的文件    

                             文件的保存格式为:用户名:密码:UID:GID:附加注释:家目录:默认的shell

                             如:

                                 教你在Linux中如何用命令或手动修改文件来添加一个用户_信息_09

                                  happy:x:5200:5200::/home/happy:/bin/bash  : 

                                    表示该用户的用户名为happy:这里的密码用x表示,是因为密码是另存在/etc/shadow 文件中的,这里先不管:然后后面接着的是注释,这里没添加,所以是空白的:用户的家目录为/home/happy:默认的shell为/bin/bash


              /etc/group:  是系统存放用户组信息的文件

                           文件的保存格式为:用户组名:密码:GID:附加组

                                    如:

                                         教你在Linux中如何用命令或手动修改文件来添加一个用户_创建用户_10


            /etc/shadow:是系统存放用户密码的文件

                           文件的保存格式为:登录名:加密后的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:过期警告时间:非活动时间:过期时间:保留时间

                             如:

                                  教你在Linux中如何用命令或手动修改文件来添加一个用户_Linux_11





                                               

二、手动修改文件添加用户:添加一个happy1用户,基本组为happy1(5201),附加组为happy。

 

  1)、准备的文件  

             /etc/passwd 、 /etc/group 、 /etc/shadow              

  2)、要使用的命令

           nano  file :文件编辑器

           openssl passwd :生成MD5密码

                        -1 -salt :添加8位杂质后MD5加密密码


           chown   -R  username.grpname  file,...  :递归的修改目录及其内容的属主和属组


            

 3)、操作步骤演示:添加一个happy1用户,基本组为happy1(5201),附加组为happy。

       

        1,先在/etc/group的文件中添加GID=5201名为happy1,且附加组为happy的用户组

             #nano /etc/group 

                     在文件的最后添加一行格式为 :  happy1:x:5201: 

                     并在用户组happy的最后添加   happy1     (表示添加附加组)

                           教你在Linux中如何用命令或手动修改文件来添加一个用户_用户_12

                            教你在Linux中如何用命令或手动修改文件来添加一个用户_用户_13



        2,在/etc/passwd的文件中添加happy1用户

              #nano /etc/passwd 

                        在文件的最后添加一行格式为: happy1:x:5201:5201:Happy1:/home/happy1:/bin/bash  

                   

            

                            教你在Linux中如何用命令或手动修改文件来添加一个用户_信息_14   

      

                          教你在Linux中如何用命令或手动修改文件来添加一个用户_用户_15

    

        3.在/etc/shadow的文件中添加happy1用户的密码

                首先我们要生成MD5的密码加密串: openssl passwd -1 -salt "12345678"

                   #nano /etc/shadow

                      然后在/etc/shadow文件的最后一行添加格式: happy1:!!:16272:0:99999:7::: (!!表示先保留密码,到时候用加密串代替)

                        教你在Linux中如何用命令或手动修改文件来添加一个用户_信息_16

                        教你在Linux中如何用命令或手动修改文件来添加一个用户_Linux_17

                        教你在Linux中如何用命令或手动修改文件来添加一个用户_信息_18

        4.为该用户添加家目录文件,还要将/etc/skel的文件复制到家目录/home/happy1中,/etc/skel中存放的是shell的环境变量,是登录shell必须要有的

           #cp -r /etc/skel /home/happy1

                 教你在Linux中如何用命令或手动修改文件来添加一个用户_信息_19

        5.最后我们要修改家目录的属主和属组

          #chown -R  happy1.happy1  /home/happy1

                教你在Linux中如何用命令或手动修改文件来添加一个用户_用户_20  

        

        6.检查是否能登录

                教你在Linux中如何用命令或手动修改文件来添加一个用户_创建用户_21


 


三、最后我们总结一下关于用户管理,组管理,权限管理 常用到的命令

         用户管理: useradd  userdel usermod passwd chsh chfn figer id chage 

         组管理:   groupadd groupdel  groupmod gpasswd 

         权限管理: chown chgrp chmod 

    有兴趣的可以去查查这些命令的用法,我这里就不一一列出了。

    如果大家看了这文章觉得有问题,欢迎提出来,也欢迎大家来一起讨论,一起提高!