命令 passwd 还涉及哪些命令?

命令 passwd 还涉及哪些命令?

我原以为该passwd命令使用命令mcrypt来加密其输入,但它实际上是crypt和/或? /encrypt的源代码不可用。cryptencrypt

当我不混淆这一点时 - 那么在 Linux 的早期,是passwd使用命令mcrypt吗? - 谁能启发我?

我问这个问题是因为我想增强我的密码可能性。

详细说明一下这个问题:
该命令passwd要求输入您的密码,然后在您输入完密码后,后台会对您的密码进行加密。此加密密码存储在文件中shadow。我以前以为这个加密是由 执行的?现在我的问题是,除了 shadow 之外,mcrypt该命令还涉及哪些其他命令和/或文件?passwd

答案1

墓穴是一个 Unix 实用程序。来自链接:

Linux 发行版通常不包含与 Unix 兼容的 crypt 命令版本。这主要是由于以下三个主要因素:

  • crypt 相对不太知名,很少用于电子邮件附件或文件格式
  • crypt 的加密性太弱,无法抵御现代计算系统的暴力攻击(Linux 系统通常附带 GNU Privacy Guard,按现代标准它被认为是相当安全的)
  • 在 Linux 开发和采用的早期,有人担心即使 crypt 使用的算法很弱,但仍可能违反 ITAR 的出口管制[需要引文];因此美国主流发行版开发商通常将其排​​除在外[需要引文](并让他们的客户从国际网站获取 GnuPG/GPG 或其他强加密软件,有时提供软件包或脚本来自动化该过程)。

crypt 的源代码可以在Unix 档案网站


mcrypt是 crypt 的后继/Linux 版本,我们至少从清醒替代旧的 unix crypt(1)它在包裹细节中说明。

mcrypt 的源代码可以在这里找到:Intel x86 计算机上的 mcrypt_2.6.8-1.3_i386.deb

但这并未在默认的 Ubuntu 中安装。


但您正在寻找的内容可能已在 ... 注册。

/etc/login.defs

这是 Linux 系统存储要使用的内容的地方。默认情况下,对于 Ubuntu,这是 SHA512。因此,这不是加密,而是以 $6$ 开头的哈希密码。

使用示例sha1sum

$ echo hello|sha1sum
f572d396fae9206628714fb2ce00f72e94f2258f  -

--

关于评论请参见:http://packages.ubuntu.com/raring/makepasswd这就是所谓的从纯文本生成密码。

以下是资料来源:http://people.defora.org/~khorben/projects/makepasswd/

部分代码:

开关(加密)
    {
        情况 PE_BASE64:
            返回_hash_base64(密码);
        案例 PE_BLOWFISH:
            返回 _hash_blowfish(密码,盐,迭代次数);
        案例 PE_DES:
            返回_hash_des(密码,盐);
        情况PE_MD5:
            返回_hash_md5(密码);
        案例 PE_NONE:
            返回 _hash_none();
        案例 PE_SHA1:
            返回_hash_sha1(密码,盐,迭代次数);
        案例PE_SHA256:
            返回_hash_sha256(密码,盐);
        案例PE_SHA512:
            返回_hash_sha512(密码,盐);
        案例 PE_SHMD5:
            返回_hash_shmd5(密码,盐);
        默认:
            errno = ENOSYS;
            _error(“加密”,1);
            返回 NULL;
    }

所有用到的函数都在此段代码之下。

相关内容