Linux强制使用短密码|修改短密码|passwd无效的密码

Linux强制使用短密码|修改短密码|passwd无效的密码


如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033

前言

对于调试环节中,会经常需要输入用户密码,如果用户密码过于复杂会在一定程度上浪费时间。

注意:只建议在测试环境中使用,生产环境切勿使用。

1. linux密码文件简介

1.1 密码文件/etc/shadow

/etc/shadow 文件,用于存储 Linux 系统中用户的密码信息,又称为“影子文件”。

只有 root 用户拥有/etc/shadow的读权限,其他用户没有任何权限。

# cat /etc/shadow
root:$6$JIyttpHYJZGypLH/$egLj6byiSujKdWVio9rm7laujXyDpiOxfKZy6YZ0aE1N6pgsMIXxEOF87/.F/OePSnNOJyY5zyLIUuUApINrG/:18632:0:99999:7:::
daemon:*:18586:0:99999:7:::
bin:*:18586:0:99999:7:::
dev1:$6$LsV8HsdTzliloiek$5GG7L4MOez8EnYxblcgvycMsSLhIkvQhH0nRZlrKUqM3RC2LuaWkz.zohTbfKnb.dd380yaBn9W0Q0YoPGr9t.:18632:0:99999:7:::
...

1.2 /etc/shadow字段简介

文件中每行代表一个用户,同样使用 “:” 作为分隔符,不同之处在于,每行用户信息被划分为 9 个字段。每个字段的含义如下:

用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:帐号过期时间:保留字段
  • 用户名name

登录名称,必须是有效用户名

  • 加密密码password

已加密密码,分为三个部分用$分隔,第一部分表示用哪种哈希算法;第二部分是用于加密哈希的salt;第三部分是已加密的哈希

哈希算法:1表示MD5;6表示SHA-512;5表示SHA-256

注意:在密码前一个感叹号(!)代表该用户被锁定,可以在机器上转到改用户,但无法远程

注意:密码是两个感叹号(!),表示没有设置密码

  • 最后一次修改时间lastchanage

最近一次更改密码的日期,以距离1970/1/1的天数表示

  • 最小修改时间间隔min-age

密码更改后多少天内不能再次更改。0表示可以随时更改

  • 密码有效期max-age

密码过期时间,必须在期限内修改密码

  • 密码需要变更前的警告天数warning

警告期,警告用户再过多少天密码将过期。0表示不提供警告

  • 密码过期后的宽限时间inactive

宽限期,密码过期多少天仍然可以使用

  • 帐号过期时间expire

帐号过期时间,以距离1970/1/1的天数表示。0或空字符表示永不过期

  • 预留字段blank

预留字段

2. linux使用简单密码

2.1 uos/deep/ubuntu/dedain修改密码

sudo passwd <用户名>

su root
passwd <用户名>

过于简单的密码会提示无效密码

# passwd dev1
新的 密码:
无效的密码: 太短
无效的密码: 是回文

新的 密码:
无效的密码: 太简单或太有规律
无效的密码: 过于简单

2.2 centos/redhat修改

非交互式修改密码

echo 123456 | passwd --stdin t2

2.3 强制修改简单密码

a.生成简单密码的加密密码
  • 交互式
$ openssl passwd -6 -salt $(< /dev/urandom tr -dc '[:alnum:]' | head -c 32)

Password: 
$6$LOsCVmwRuh96ukYE$zRMlncIfTrDNo6aJsfhEa8fVMieCIMVGvo9pEKMH21L.D1dQn.1mV/0SCDsNy11RRLCHARm77VAYoCeGy89jk0
  • shell
$ echo a | openssl passwd -6 -salt $(< /dev/urandom tr -dc '[:alnum:]' | head -c 32) -stdin

$6$8Yly5hq92IA7TBqd$iW0EJgcx3mPBzFaYs47n0TeRu2HWeWRbZnr3mDphbtdjbDQ.tQ00jr6zduaQzdsI9quQNn8iEp76Y4sLYlqig1
b.强制修改密码

将密码复制到/etc/shadow覆盖到对应用户的密码字段


License

License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎

如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033


Refrence:
NULL

<think>好的,我现在需要在VMware里的Ubuntu系统终端中找回或重置密码。用户可能忘记了密码,无法登录,需要帮助解决这个问题。首先,我应该回忆一下Ubuntu系统密码重置的一般方法,再结合VMware虚拟机的环境考虑是否有特殊步骤。 首先,Ubuntu系统重置密码通常需要进入恢复模式(Recovery Mode)。不过,在虚拟机中可能需要调整启动参数。我记得恢复模式允许用户以root权限执行操作,进而修改密码。但是,用户可能不知道如何进入恢复模式,尤其是在VMware中。 步骤可能包括重启虚拟机,在启动时进入GRUB菜单。默认情况下,GRUB菜单可能不会显示,需要手动按Shift或Esc键。但虚拟机中按键可能不同,可能需要调整VMware的设置,比如快速启动导致GRUB不显示。这时候可能需要编辑虚拟机设置,在引导选项中添加延迟或强制显示GRUB。 进入GRUB后,选择恢复模式,然后挂载文件系统为可读写,再使用passwd命令修改密码。不过,如果用户没有设置root密码,可能需要使用sudo或者通过单用户模式来修改。另外,如果系统加密或者有其他安全措施,可能需要额外的步骤。 还要考虑用户是否启用了sudo权限。如果没有,可能需要通过恢复模式获取root权限。此外,引用中的资料提到,默认情况下root密码未设置,需要通过sudo或设置root密码。所以如果用户无法使用sudo,可能需要先进入恢复模式启用root账户,或者直接修改用户密码。 可能的问题包括:如何触发GRUB菜单,如何确保文件系统可读写,以及修改密码后的重启步骤是否正确。此外,虚拟机中的键盘映射可能导致按键无效,需要确认用户如何正确输入按键。 总结步骤大致如下: 1. 重启Ubuntu虚拟机,在启动时按住Shift或Esc进入GRUB菜单。 2. 选择高级选项,进入恢复模式。 3. 挂载文件系统为可读写。 4. 使用passwd命令重置用户密码。 5. 重启系统。 需要检查是否有错误,例如无法挂载文件系统,或者权限问题。同时,引用中的信息提到安装VMware Tools可能有帮助,但这里主要关注密码重置。另外,用户可能需要设置root密码,如引用4所述,可以通过sudo passwd root来设置,但前提是当前用户有sudo权限。 可能出现的情况是用户无法进入系统,因此必须通过恢复模式。此时需要确保步骤正确,避免误操作导致系统问题。需要提醒用户谨慎操作,并备份重要数据。</think>在VMware的Ubuntu虚拟机中重置密码的步骤如下: 1. **重启虚拟机并进入GRUB菜单** 启动时**快速按住Shift键(或Esc键)**,直到出现GRUB菜单。如果未显示,可能需要修改虚拟机设置: - 关闭虚拟机 - 在VMware中勾选**虚拟机设置 > 选项 > 高级 > 勾选“在引导时进入固件”** - 启动时按方向键选择**Ubuntu高级选项**,进入恢复模式[^3][^4]。 2. **选择恢复模式** 在GRUB菜单中,选择带有**(recovery mode)**的选项,按`E`键编辑启动参数。 - 找到`linux`开头的行,将`ro`改为`rw init=/bin/bash`(允许读写权限)[^4] - 按`Ctrl+X`或`F10`继续启动。 3. **重置密码** 在终端中执行: ```bash passwd <用户名> # 如passwd ubuntu ``` 输入新密码并确认,完成后执行: ```bash exec /sbin/init ``` 或直接重启虚拟机。 --- **
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

itas109

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值