我如何每周通过电子邮件发送一次自动包含所有用户及其密码的用户列表?
答案1
且不论这是否是个好主意(不过这里有一个提示:它不是),假设您有一个标准的 Linux 系统(即,将用户数据保存在 中)/etc/{passwd,shadow}
,那么存在一个真正的技术问题。
普通影子密码以散列形式存储,也就是说,是不可逆加密的。从存储在影子文件中的散列中恢复出相当强的密码在计算上是不可行的。
它是可以恢复弱密码,但只能通过字典攻击:使用影子文件中的所有盐加密所有可能的弱密码,然后比较哈希值。如果找到匹配项,则说明您已恢复该弱密码。不用说,这需要大量计算。
简短的回答是不。除非你为所有用户设置密码,禁止他们更改密码,并使用该主列表发送系统密码,否则不可能实现你想要的效果。
如果你想了解更多关于密码哈希的知识,包括它的工作原理、当只存储哈希值时如何验证密码以及什么是盐,你可以在很多地方阅读更多内容,包括维基百科中有关 unix 密码的条目以及它链接到的地方。