Linux入门到精通:第 2 关 您所在的位置:网站首页 linux用户管理脚本 Linux入门到精通:第 2 关

Linux入门到精通:第 2 关

2023-08-21 21:14| 来源: 网络整理| 查看: 265

第 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文件存放的内容格式: 在这里插入图片描述 可以看到用户名fzm是存在密码的,而mysql是不存在密码的。

使用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 实验室设备网 版权所有