作者信息:https://home.cnblogs.com/u/huangjiabobk

在Linux中,`/etc/passwd` 和 `/etc/shadow` 文件分别有什么作用?

在Linux系统中,/etc/passwd/etc/shadow 文件是用于存储系统用户账户信息的关键配置文件,它们各自扮演不同的角色,共同管理系统的用户身份验证和密码安全性。

  1. /etc/passwd 文件:

    • 作用

      • 存储了系统中的每个用户的基本信息,包括用户名、用户ID(UID)、组ID(GID)、用户信息描述(GECOS)、用户的主目录以及登录shell。
      • 提供了一个用户账号数据库,系统服务和应用程序可以根据这个文件来识别用户,并关联到他们的主目录和默认shell环境。
      • 虽然名为“passwd”,但实际上在这个文件中并不直接存放密码信息,而是指向另一个地方,现代系统中是一个占位符(通常是x),真正的密码存储在 /etc/shadow 文件中。
    • 文件格式

      • 每行代表一个用户账户,字段间以冒号 (:) 分隔,格式如下:

        username:password_hash:UID:GID:GECOS:home_directory:login_shell
        
  2. /etc/shadow 文件:

    • 作用

      • 专门用来存储用户的加密密码信息,增强了系统的安全性,因为普通用户无法查看或修改这个文件的内容,只有root用户才有权限。
      • 包含了密码相关设置,如密码的加密散列值、最近更改密码的日期、密码需要多久之后才能更改、密码过期警告期限、密码过期后的宽限天数、账户过期时间等。
    • 文件格式

      • 同样,每行对应一个用户,与 /etc/passwd 中的用户一一对应,字段同样以冒号分割,格式大致如下:

        username:password_hash:last_change:min:max:warn:inactive:expire:reserved
        

        其中,password_hash 是经过加密处理的实际密码,其他字段则对应密码策略参数。

综上所述:通过这种方式,Linux系统将敏感的密码信息与公开可读的用户信息分开,既方便了系统管理,又提高了密码的安全保护级别。当用户尝试登录时,系统会结合这两个文件来验证用户的身份及密码的有效性。

posted @ 2024-03-24 10:59  黄嘉波  阅读(289)  评论(0编辑  收藏  举报
版权声明:原创作品,谢绝转载!否则将追究法律责任。--作者 黄嘉波