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



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

一、用命令的方法实现:

  groupadd -g 5200 happy

  useradd -u 5200 -g happy -G luzhi  happy

  passwd happy

  su - happy 

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

下面来演示一下:

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

wKioL1PM0aGhFx4bAAWNnwDis3U802.jpg

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

wKiom1PM0IfRpxNIAAAdHjjExa8201.jpg

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

wKioL1PM0aLyfuqeAAArnWnKTeA024.jpg

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

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

wKiom1PM0IfySvn0AABrRN-QXrw438.jpg

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

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

wKioL1PM0aLieY0zAABAOlvrHDw839.jpg

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

wKioL1PM18mBo6UXAABSDXIF6jk829.jpg

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

wKiom1PM1q_BTRg0AACxq1Fj1NE626.jpg

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

wKioL1PM18qS37K3AADRd_SAffU351.jpg



 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

                             如:

                                 wKiom1PM0IfySvn0AABrRN-QXrw438.jpg

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

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


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

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

                                    如:

                                         wKioL1PM0aLieY0zAABAOlvrHDw839.jpg


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

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

                             如:

                                  wKiom1PM4ICyAW5rAAB7H1rak3A447.jpg





                                               

二、手动修改文件添加用户:添加一个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     (表示添加附加组)

                           wKioL1PM7sTxz-ygAAAnlM7_jIA323.jpg

                            wKiom1PM7amjvOiqAAGCo9BT8Yg541.jpg



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

              #nano /etc/passwd 

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

                   

            

                            wKiom1PM7aqAEW5BAABAq1p8U0I795.jpg   

      

                          wKioL1PM7siQs1axAAIpR6H0DjU949.jpg

    

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

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

                   #nano /etc/shadow

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

                        wKiom1PM7a7jv1rGAAB_phZJTy4142.jpg

                        wKioL1PM7siQ1CdsAAAtLwmSTmw793.jpg

                        wKiom1PM7a_hkgzUAAHaEcjTfDs862.jpg

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

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

                 wKioL1PM7srg5-JLAAEtWyGbigc092.jpg

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

          #chown -R  happy1.happy1  /home/happy1

                wKiom1PM7bHgOxPOAAFQQcOWF0c266.jpg  

        

        6.检查是否能登录

                wKioL1PM7s3y93pwAAE2XfTh_JA740.jpg


 


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

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

         组管理:   groupadd groupdel  groupmod gpasswd 

         权限管理: chown chgrp chmod 

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

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