unix -/etc/passwd 与/usr/bin/passwd

标签 unix passwd

在我的 CentOS 7 系统(和其他 Linux 版本)中,我注意到有两个 passwd 文件,/etc/passwd 和/usr/bin/passwd。前者包含有关用户、组、默认 shell 等的纯文本信息,而后者是“passwd”命令调用的二进制 (?) 文件(如“which passwd”所建议的那样)。

这些可能是基本问题,但我已经尝试过使用论坛上的手册和解释的运气,尽管没有完全澄清我的心理图景:

1)每个文件的目的是什么,为什么我们都有?
2)这两个文件是否相关——/usr/bin/passwd 是/etc/passwd 的二进制版本,为了提高效率而不断更新吗?
3)对这些文件的适当权限是什么(如果我尝试从该用户的帐户更改非 sudoer 用户的登录密码,我会收到“passwd:身份验证 token 操作错误”,这就是引发这一行提问的原因开始)。

感谢您的阅读,我期待着您的想法!

最佳答案

这两个文件是不同的,用于不同的目的。

  • /etc/passwd是用户数据库(有趣的事实:与其名称相反,它不存储密码 - 这些密码(可能以散列形式)存储在 /etc/shadow 中) - 参见 man 5 passwd (即 passwd(5))、man 5 shadow (即 shadow(5) )。
  • /usr/bin/passwd是应该修改存储在 /etc/passwd 中的用户记录的实用程序和 /etc/shadow .见 man 1 passwd (即 passwd(1))
  • 关于unix -/etc/passwd 与/usr/bin/passwd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50904342/

    相关文章:

    c++ - OpenGL库的实现

    unix - 如何找出 Unix 密码所需的复杂性

    javascript - 从 PhantomJS 获取 unix 主机名

    ruby-on-rails - Postgres 无法连接到 Unix 域套接字 5432 上的服务器

    unix - 时区数据库文件格式问题

    cryptography - 我如何生成一个加密的密码字符串,因为它在/etc/shadow 中?

    linux - 用户更改密码时发送电子邮件

    LDAP 用户无法使用 passwd 命令更改密码

    ubuntu - 在 Linux Snappy Ubuntu Core 上更改密码

    shell - 在 Solaris 8 中将 ps 输出扩展到超过 80 个字符