Linux入门到精通:第 2 关 | 您所在的位置:网站首页 › linux用户管理脚本 › Linux入门到精通:第 2 关 |
第 2 关——Linux用户密码管理
任务描述相关知识
用户密码存放地及方式使用passwd命令修改用户密码案例演示使用chpasswd命令修改用户密码案例演示 编程要求评测说明
任务描述
恭喜你已经完成了第一关的挑战,现在你已经学会了如何创建一个新用户和删除一个已经存在的用户,接下来,我们一起学习为新创建的用户设置登录密码。 本关的任务是新创建一个用户,并设置登录密码。 相关知识通过本关学习,你将掌握如下知识点: Linux中用户登录密码存放地以及方式怎么使用passwd命令修改用户密码怎么使用chpasswd命令修改用户密码用户密码存放地及方式 Linux中用户的登录密码是存放在/etc/shadow文件中,/etc/shadow文件中存放的是加密过后的密码,所以在/etc/shadow文件中看到的密码是加密过后的密文。 看下/etc/shadow文件存放的内容格式: [root@wxz ~]# sudo tail /etc/shadow nobody:*:16659:0:99999:7::: avahi-autoipd:!!:18856:::::: systemd-bus-proxy:!!:18856:::::: systemd-network:!!:18856:::::: dbus:!!:18856:::::: polkitd:!!:18856:::::: tss:!!:18856:::::: postfix:!!:18856:::::: sshd:!!:18856:::::: newUser:!!:18856:0:99999:7::: [root@wxz ~]#可以看到第一个冒号前是用户名,用户名是以明文的方式存放。 在第一个冒号和第二个冒号之间存放的是加密过后的密码,密码是以密文的方式存放,其中密文是由用户密码和其他信息加密后组成的,这里不做详细讲解,我们只需要知道如果第一个冒号和第二个冒号之间*或!或者空,则表示该用户没有密码。 例如:看下笔者的电脑中/etc/shadow文件存放的内容格式: 使用passwd命令修改用户密码 命令格式如下: passwd [命令参数] 参数常见命令参数: -d 删除密码-l 停止账号使用S 显示密码信息passwd必须以root权限才能执行,如果是普通用户想执行passwd时,需要在命令前加sudo命令来提升权限为root权限。 案例演示 使用useradd命令来新创建一个用户,使用passwd命令来设置登录密码。 [root@wxz ~]# useradd zj [root@wxz ~]# tail -n 1 /etc/shadow zj:!!:18857:0:99999:7::: [root@wxz ~]# passwd zj 更改用户 zj 的密码 。 新的 密码: 无效的密码: 密码是一个回文 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 [root@wxz ~]# tail -n 1 /etc/shadow zj:$6$raW95dfO$G4TPwdrNSTfyO7.jvTlxxPwQm6hzSygGmNSMHOmsx1uKwiaYgpsq6LRyJr4cIUx/bkWrspzyU8E9gZ598LUd3.:18857:0:99999:7::: [root@wxz ~]#使用useradd命令创建一个新用户(zj),此时zj用户是没有密码的,所以使用tail -n 1 /etc/shadow命令查看/etc/shadow文件的最后一行可以看出zj用户密码部分! 使用passwd命令为zj用户设置密码时,可以看到需要输入两次密码,目的是为了确保两次输入的密码一致。当设置完密码后,可以看到/etc/shadow文件中zj用户的密码部分已经为加密过后的密文。 使用passwd命令来清除用户的密码 [root@wxz ~]# passwd -d zj 清除用户的密码 zj。 passwd: 操作成功 [root@wxz ~]# tail -n 1 /etc/shadow zj::18857:0:99999:7:::使用passwd命令清除用户zj的登录密码,使用tail -n 1 /etc/shadow命令查看/etc/shadow文件的最后一行可以看出zj用户密码部分为空,此时zj用户是没有密码的。 使用chpasswd命令修改用户密码 chpasswd命令通常是用于批量修改用户密码,从标准输入批量读取成对的用户名和密码,其中输入的用户名和密码的格式为用户名:密码。 例如:要批量更新用户密码,将用户名和密码写入到一个文件中,格式如下: [root@wxz ~]# cat batch.txt user1:passwd1 user2:passwd2 user3:passwd3 user4:passwd4 [root@wxz ~]#然后执行如下命令来更新密码: sudo chpasswd < batch.txt |
CopyRight 2018-2019 实验室设备网 版权所有 |