Linux系统下对用户的理解与管理

########################
###Linux系统的用户管理 ###
########################

##1.用户的理解

          用户就是系统使用者的身份,在系统中用户存储为若干窜字符+若干个系统配置文件,具有一定的系统权限。

##2.用户组的理解

          对用户组的定义其实就是权限的分配,每一个拥有不同权限的组下的所有用户均拥有此组所附有权限。

##3.用户的查看

1)
                查看当前用户
                 whoami                                           ##查看当前用户

             

2)
                系统中用户的查看
                    id                                                  ##查看指定用户id信息
                    id

 


                    -u                                                  ##查看用户的uid
                    -g                                                  ##查看用户的gid
                    -G                                                 ##查看用户所在的所有组的id
                     -n                                                 ##显示名字而不显示id数字

  

3)

               用户切换

               su - 用户名称
               su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
               su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要
               注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户

       

##4.用户在系统中的存储方式

       /etc/passwd
                    用户信息文件
                    用户名称:密码:uid:gid:说明:家目录:默认shell

       

       /etc/group
                    用户组信息文件
                    组的名字:组密码:组id:组成员

             


       /etc/shadow
                    认证信息文件
                    用户名称:
                    用户密码:
                    用户密码最后一次被修改的时间:
                    密码最短有效期:
                    密码最长有效期:
                    密码警告期限:
                    密码非活跃期限:
                    密码到期日:
                    用户自定义位置,目前没有启用

     


       /etc/skel/.*
                    默认开启shell的配置,用户的骨文件
       /home/username
                    用户的家目录

##5.用户管理命令

1)用户的删除
                userdel
                userdel student                                             ##删除用户不删除其配置文件
                userdel -r student                                         ##删除用户并且删除其配置文件

    首先,让我们来输入一个监控命令:

                watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home'        ##每秒监控一次/etc/passwd以及/etc/group、/home 下的后三行

   

               useradd                                                          ##建立用户,在建立用户时,读取/etc/login.defs 文件内容规定的规则  
                   -u             1234            redhat                    ##指定用户UID

   


                   -g              21               redhat                    ##指定用户初始组ID,“21”必须存在

   


                   -G             21               redhat                    ##指定用户附加组ID,“21”必须存在

   


                   -c           “hello”            redhat                    ##制定用户的说明

  


                    -d       /home/hou       redhat                    ##指定用户家目录

  


                    -s        /bin/sh             redhat                    ##指定用户shell

       


             groupadd                                                         ##新建组
                  -g               888                                            ##建立用户组并制定用户组的ID

      
              groupdel                                                         ##删除用户组

3)更改用户信息
               usermod
               usermod            -l 新名称               redhat                  #更改用户名称
               usermod            -u 6666                 redhat                 #更改用户uid
               usermod            -g 21                     redhat                 #更改用户初始组
               usermod            -G 21                    redhat                 #更改用户附加组
               usermod            -aG 72                  redhat                 #添加用户的附加组

    


               usermod            -G “”                      redhat                 #删除所有附加组的身份

     


               usermod            -c “haha”               redhat                 #指定用户说明文字
               usermod            -d /home/hou        redhat                 #t特别注意:-d更改用户家目录指向,不改变真实名字
               usermod            -md /home/hou     redhat                 #更改用户家目录
               usermod            -s /bin/sh               redhat                 #修改用的的默认shell

     


               usermod            -L                           redhat                  #冻结用户
               usermod            -U                          redhat                  #解冻用户

      

##6.用户认证信息

         /etc/shadow                                                                #记录用户认证信息
        #用户名称:                  passwd      redhat             #更改密码

       


                                                passwd -l   redhat             #用户密码加入:!!:
                                                passwd -u  redhat

         

                  


                                                passwd -L  redhat             #用户密码加入:!:
                                                passwd -U  redhat
                                                passwd -d  redhat            #清空密码

        Tips:  某些情况下使用root可以进入 vim /etc/shadow 找到相对的用户进行密码冻结,但切忌勿进行密码修改,因为这里显示的密码是受保护加密后的字符。

       


        值得注意的是:       
                                              普通用户修改密码时
                                              必须知道当前永久原始密码
                                              密码不能和帐号名称相似
                                              密码不能是纯数字或纯字母
                                              密码不能是有序的数字或字母组合
                                              passwd -S redhat               #可看到用户密码信息的绝大部分信息

      


        #用户密码:
        #用户密码最后一次被修改的时间:
          passwd -e 0 redhat       #会改变用户最后一次更改密码的时间为0,用户在登陆时会强制被更改密码。
          chage  -d  0 redhat       #与以上一样      
        #密码最短有效期:
          passwd -n 1 redhat     #westos用户在一天之内不能修改密码
          chage  -m 2 redhat     #同上
        #密码最长有效期:
          passwd -x 30 redhat    #设定westos用户在30天之内必须修改密码
          chage  -M 40 redhat    #同上

       


        #密码警告期限:
          passwd -w 3  redhat    #密码过期前两天有警告输出
          chage  -W 2  redhat     #同上
        #密码非活跃期限:
          passwd -i 1  redhat    #密码过期后仍可登陆系统的天数
          chage  -I 2  redhat      #同上

       


        #密码到期日:
          chage -E 2018-11-11 redhat #密码到期在2018.11.11到期

       

       注意:不难看出17846减去17731所得的天数正好为今天到2018-11-11日的天数
        #用户自定义位置,目前没有启用:

##7.用户授权

       用户授权配置文件
                            /etc/sudoers

       注:用vim编辑器编辑/etc/sudoers在退出的时候如果发生错误不会提示,为了保证系统配置不出差错一般用以下命令
       授权配置命令
                            visudo   
       规范操作:文件100行左右
                           普通用户  主机名称=(转换成的新用户身份) NOPASSWD; 命令, 命令2, ...
       示例:

        hostnamectl set-hostname desktop0.example.com
        redhat    desktop0.example.com=(root)  NOPASSWD: /usr/sbin/useradd, /usr/sbin/userdel
        su - redhat
        sudo useradd hello

       

              

 

       

        

##############################

猜你喜欢

转载自blog.csdn.net/houzeyu666/article/details/81111973