Linux 用户密码相关操作:密码修改和密码破解

1、通过终端修改用户密码

passwd [usrname]

2、用户密码查看与破解

我们知道linux是一个多用户的操作系统,也就是说在linux系统中存储着很多不同用户的用户名及密码,这些用户名被存放在了/etc/passwd这个文件中;密码存放在/etc/shadow中。如果我们要查看某个用户的密码,我们得先登陆为超级用户才可查看:

su root

然后输入超级用户的登陆密码,紧接着,我们需要查看/etc/shadow中对应用户的密码:

cat /etc/shadow | grep “$UserName”      #注意,我这里的***为用户名,即需要查看哪个用户名,这里就替换为该用户名

我们可以看到出来了一串字符,明显不是我们当初用的密码啊,这是怎么回事呢?这是因为为了安全,系统将我们的明文密码进行了加密。既然加密了,我们是不是要进行解密啊 。既然要解密,我们就得知道我们的系统使用了什么加密方式。我们输入以下指令:

authconfig --test | grep hashing

可以看到,我这里显示的密码加密方式为MD5,那就好办了,我们可以回到之前的问题了,我们只需要将我们的密文密码进行MD5解密即可得到我们实际的密码了。

我们回到之前的那一串字符串。在这里,我们对刚才的字符串进行一定的解释 。

(我们拿一串字符进行举例)

xxx:$1$Bg1H/4mz$X89TqH7tpi9dX1B9j5YsF.:17969:0:99999:7:::

 上面字符串的格式为(大家有兴趣的朋友可以做详细了解,我们只需要找到我们的密文密码):

{用户名}:{加密后的口令密码}:{口令最后修改时间距原点(1970-1-1)的天数}:{口令最小修改间隔(防止修改口令,如果时限未到,将恢复至旧口令):{口令最大修改间隔}:{口令失效前的警告天数}:{账户不活动天数}:{账号失效天数}:{保留}

【注】:shadow文件为可读文件,普通用户没有读写权限,超级用户拥有读写权限。如果密码字符串为*,则表示系统用户不能被登入;如果字符串为!,则表示用户名被禁用;如果字符串为空,则表示没有密码。

我们可以使用passwd –d 用户名 清空一个用户的口令密码。

这样我们就清楚了, 上面的一串字符中,“xxx”为用户名,“$1$Bg1H/4mz$X89TqH7tpi9dX1B9j5YsF.”即为密文密码。

好了,现在我们拿到了密文密码,接下来我们就可以用它进行MD5解密。

我们可以在网上搜一个在线MD5解密工具,然后将我们的密文密码复制过去,你会惊奇的发现,我们的明文密码就这样拿到了,是不是很有意思呢?感兴趣的朋友可以自行测试。
 

发布了99 篇原创文章 · 获赞 25 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/weixin_39568531/article/details/102981750