/etc 系统配置文件

/etc/passwd

用户信息,配置文件每一行表示一个用户信息,用“:”分隔用户信息

  • 第一列为账户名称
  • 第二列为密码占位符(x表示该账户需要密码才能登录,为空时,账户无须密码即可登录)
  • 第三列为账户UID
  • 第四列为GID
  • 第五列为账户附加基本信息,一般存储账户名全称,联系方式等信息
  • 第六列为账户家目录位置
  • 第七列为账户登录Shell,/bin/bash为可登录系统Shell,/sbin/nologin表示账户无法登录系统。

image.png

/etc/shadow

用户安全信息,与/etc/passwd中的用户行一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生

  • 第一列为账户名称
  • 第二列为密码(账户未设置密码时为!!,设置密码后加密显示)
    • 如果格式为 “$id$salt$hashed“,则表示该用户密码正常。其中$id$的id表示密码的加密算法,
      • $1$ 表示使用MD5算法
      • $2a$ 表示使用Blowfish算法
      • $2y$ 是另一算法长度的Blowfish,
      • $5$ 表示SHA-256算法
      • $6$ 表示SHA-512算法
    • 如下图,root用户使用的MD5算法,通过以上规则可以用 openssl 验证root密码,
      • openssl passwd -1 "root用户密码"
      • openssl passwd -1 -salt "slat" "root用户密码",经验证,生成结果与密码列一致
  • 第三列为上次修改密码的时间距离1970年01月01日多少天
  • 第四列为密码最短有效天数,0表示无限制
  • 第五列为密码最长有效天数(默认位99999天,可以理解为永不过期)
  • 第六列为密码过期后的宽限天数(密码过期后,预留几天给账号修改密码,此时已无法使用旧密码登录)
  • 第八列为账户失效日期(从1970年01月01日起多少天后账户失效)
  • 第九列暂时保留未使用。

image.png