• linux用户的基本操作2 用户密码管理


    linux系统的基本用户操作2

    3)使用userdel删除账户

    语法 : userdel [-r] username   
            -r 同时删除家目录
            
     #删除用户目录
    [root@centos7 ~]# userdel  user1
    [root@centos7 ~]# ll /home/user1/ -d
    drwx------. 2 1005 1009 62 Jun  5 04:22 /home/user1/
    
    -r 连同家目录一起删除
    [root@centos ~]# userdel -r user1
    

    了解

    1).使用finger命令查询信息以及登录信息
    #如果没有则需要安装
    [root@centos7 ~]# yum install -y finger
    #使用方法
    [root@centos7 ~]# finger zls
    Login: zls                      Name:
    Directory: /home/zls                    Shell: /bin/bash
    Never logged in.
    No mail.
    No Plan.
    
    2) .使用chfn命令修改用户信息
    #修改用户信息
    [root@centos7 ~]# chfn zls
    Changing finger information for zls.
    Name []: gjy
    Office []: 老男孩教育
    Office Phone []: 
    Home Phone []:
    
    Finger information changed.
    
    #再次查看
    [root@centos ~]# finger zls
    Login: zls                      Name: gjy
    Directory: /home/zls          Shell: /bin/bash
    Office: 
    Never logged in.
    No mail.
    No Plan.
    

    3).使用chsh命令修改用户登录bash shell

    [root@centos7 ~]# chsh zls
    Changing shell for zls.
    New shell [/bin/bash]: /sbin/nologin
    Shell changed.
    

    4).使用who, whoami ,w 检查用户登录情况

    [root@centos7 ~]# who
    root     tty1         2019-06-20 17:48
    root     pts/0        2019-06-27 08:27 (10.0.0.1)
    root     pts/1        2019-06-27 14:16 (10.0.0.1)
    root     pts/2        2019-06-27 14:11 (10.0.0.1)
    [root@centos7 ~]# whoami
    root
    [root@centos7 ~]# w
     14:22:12 up 2 days, 23:04,  4 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1                      20Jun19  6days  0.03s  0.03s -bash
    root     pts/0    10.0.0.1         08:27   11:16   0.17s  0.17s -bash
    root     pts/1    10.0.0.1         14:16    4.00s  0.03s  0.01s w
    root     pts/2    10.0.0.1         14:11   10:52   0.01s  0.01s -bash
    
    

    用户的扩展知识

    用户的创建流程

    • useradd创建用户时,系统会以/etc/login.defs/etc/defaults/useradd两个配置文件作为参照物,如果在创建用户时指定了参数则会覆盖/etc/login.defs/etc/defaults/useradd文件的默认配置,如果未指定则使用默认
    #查看配置文件
    [root@centos7 ~]# less /etc/login.defs
    #过滤空行,注释(如何实现)
    
    #参数讲解
    #用户的邮件目录
    MAIL_DIR    /var/spool/mail
    #密码最大天数
    PASS_MAX_DAYS   99999
    #密码最小天数
    PASS_MIN_DAYS   0
    #密码最小长度
    PASS_MIN_LEN    5
    #密码警告天数
    PASS_WARN_AGE   7
    #普通用户最小uid
    UID_MIN                  1000
    #普通用户最大uid
    UID_MAX                 60000
    #系统用户最小uid
    SYS_UID_MIN               201
    #系统用户最大uid
    SYS_UID_MAX               999
    #普通用户组最小gid
    GID_MIN                  1000
    #普通用户组最大gid
    GID_MAX                 60000
    #系统组最小gid
    SYS_GID_MIN               201
    #系统组最大gid
    SYS_GID_MAX               999
    #是否创建家目录
    CREATE_HOME                 yes
    #权限
    UMASK           077
    #删除用户时,是否要移除用户组
    USERGROUPS_ENAB yes
    #密码加密算法
    ENCRYPT_METHOD SHA512
    
    #查看useradd配置文件
    [root@zls ~]# cat /etc/default/useradd
    GROUP=100                 //依赖于/etc/login.defs的USE RGRUUPS_ENAB参数,如果为no,则在此处控制
    HOME=/home                      //把用户的家目录建在/home中。
    INACTIVE=-1                     //是否启用账号过期停权,-1表示不启用。
    EXPIRE=                         //账号终止日期,不设置表示不启用。
    SHELL=/bin/bash            //新用户默认所有的shell类型。
    SKEL=/etc/skel                  //配置新用户家目录的默认文件存放路径。
    CREATE_MAIL_SPOOL=yes       //创建mail文件。
    
    • 当使用useradd创建用户时,创建的用户家目录下会存在.bash_*环境变量相关的文件,这些环境变量默认文件在/etc/skel目录中拷贝。这个默认拷贝环境变量位置是由/etc/defaults/useradd配置文件中定义

      企业故障案例

    #在当前用户的家目录下,想要删除所有文件,执行了如下命令
    [root@db04 ~]# rm -fr .*
    #结果再次登录时
    -bash-4.1#
    
    #解决办法
    -bash-4.1# cp /etc/skel/.bash* .
    #再次登录 即可恢复
    [root@db04 ~]#
    

    用户密码管理

    创建完账户后,默认是没有设置密码的,所以该账户是没有办法登陆操作系统。只有使用passwd设置好密码后方可登录系统。

    使用passwd为用户创建密码时,为了安全起见,请尽量设置复杂一些。可以按照如下规则设置密码:

    1.密码的长度最好大于10位字符
    2.密码中包含大小写字母数字以及特殊字符 ! @ # $
    3.不规则性(不要出现自己名字、公司名字、自己电话、等等简单的密码)
    

    需要注意:

    1.普通用户只能更改自己的密码(密码必须满足8位字符)
    2.管理员用户能更改任何人的密码(密码长度无限制)
    
    1.使用passwd 命令修改 用户密码
    语法: passwd [username]
    
    #'passwd'后面不加[username]则是修改当前登陆终端用户的密码。
    #如果你登陆的是root管理员用户,后面可以指定要修改的用户。
    #只有root管理员才可以修该其他用户的密码,普通账户只能修改自己的密码,并且普通用户没有修改其他用户密码的权限
    
    
    #root管理员用户登陆,修改root用户密码
    [root@centos7 ~]# passwd  
    更改用户 root 的密码。
    新的 密码:
    重新输入新的 密码:
    passwd:所有的身份验证令牌已经成功更新。
    
    #root用户登陆,修改其他用户的密码
    [root@centos7 ~]# passwd zls
    更改用户 zls 的密码
    新的 密码:
    重新输入新的 密码:
    passwd: 所有的身份验证令牌已经成功更新。
    
    
    #普通用户修改root管理员密码
    [zls@zls ~]$ passwd root
    passwd: Only root can specify a user name.
    
    
    #无需用户交互修改密码, 将前者的输出结果, 成为后者的输入
    [root@zls ~]# echo "123" | passwd --stdin zls
    Changing password for user zls.
    passwd: all authentication tokens updated successfully.
    
    2.随机复杂密码生成的方式
    #1.系统内置变量生成随机密码
    [root@centos ~]# echo $RANDOM|md5sum|cut -c 1-10
    693c116738
    [root@zls ~]# echo $(echo $RANDOM|md5sum |cut -c 5-14) |tee pass.txt| passwd --stdin zls
    
    示例:
    [root@centos7 ~]# echo $RANDOM |md5sum |cut -c 1-10
    9716177989
    [root@centos7 ~]# echo $(echo $RANDOM|md5sum |cut -c 5-15) |tee test.txt |passwd --stdin liqi|bash
    Changing password for user liqi.
    passwd: all authentication tokens updated successfully.
    [root@centos7 ~]# cat test.txt
    c03cfa985c1
    
    
    #2.mkpasswd密码生成工具,
    -l设定密码长度,
    -d数字,
    -c小写字母,
    -C大写字母,
    -s特殊字符
    [root@centos7 ~]# yum install -y expect   //需要安装扩展包
    [root@centos7 ~]# mkpasswd -l 10 -d 2 -c 2 -C 2 -s 4
    |K&13bR)i/
    
    #创建10个qiudao开头的,并随机生成24位复杂密码
    [root@centos7 ~]# seq '10'|awk '{print "useradd qiudao"$1";""mkpasswd -l 24 -d 2 -c 2 -C 3 -s 3| tee /tmp/old0"$1"|passwd --stdin qiudao"$1}'|bash
    
    #创建10个qiudao开头的,并随机生成24位密码
    [root@centos7 ~]# seq '10'|awk '{print "useradd qiudao"$1";""echo $RANDOM|md5sum|cut -c 1-24 | tee /tmp/old0"$1"|passwd --stdin oldboy"$1}'|bash
    
    3.推荐密码保存工具客户端,支持windows、MacOS、Iphone以及浏览器插件

    [Lastpass官方网站

  • 相关阅读:
    基于vue的购物车清单
    圣杯布局和双飞翼布局
    正则限制input负数输入
    vue.js devtools图标不亮
    将二维数组转换成一维数组(基于reduce)
    基于PROMISE解决回调地狱问题
    封装AJAX库(参考JQ)
    for in和for of的区别
    抢购倒计时的实现
    git clone --depth=1 后获取其他分支
  • 原文地址:https://www.cnblogs.com/gongjingyun123--/p/11099363.html
Copyright © 2020-2023  润新知