linux 用户身份验证和密码管理

发布时间 2023-08-08 21:34:37作者: 云淡#风清
  1. 用户身份验证方法:

    • 密码身份验证:用户通过输入用户名和密码来登录系统。这是最常见的身份验证方法。

    • 公钥/私钥身份验证:用户使用公钥/私钥对进行身份验证。用户将公钥添加到服务器上,服务器通过匹配私钥进行验证。

    • 双因素身份验证:用户需要提供两种不同类型的验证因素,如密码和手机生成的验证码,以增加安全性。

  2. 密码策略:

    • 设置密码复杂性要求:要求密码包含大小写字母、数字和特殊字符,以提高密码的安全性。

    • 设置密码过期时间:要求用户定期更改密码,防止长期使用弱密码。

    • 设置密码重复使用限制:限制用户不能在短时间内多次使用相同的密码。

  3. 密码管理工具:

    • passwd 命令:设置用户密码或修改密码。 示例:为用户 "alice" 设置密码。

      sudo passwd alice
    • chage 命令:设置用户账号的密码策略。 示例:将用户 "bob" 的密码过期时间设置为30天。
      sudo chage -M 30 bob
  4. SSH 密钥认证:
    • 生成 SSH 密钥对:
      ssh-keygen -t rsa -b 4096

      将公钥添加到远程服务器上的授权文件中。

      ssh-copy-id user@remote_host

远程登录时不再需要密码,而是通过私钥进行身份验证。

  1. PAM(Pluggable Authentication Modules):
    • PAM 提供了一种灵活的方式来配置用户身份验证。
    • 通过编辑 PAM 配置文件,可以实现自定义的身份验证策略,如密码策略、登录限制等。
  1. 用户锁定和解锁:
    • 锁定用户账号:使用 usermod 命令可以锁定用户账号,防止用户登录系统。 示例:锁定用户 "john" 的账号。
sudo usermod -L john
    • 解锁用户账号:解锁被锁定的用户账号,使其可以登录系统。 示例:解锁用户 "john" 的账号。
      sudo usermod -U john

 

udo 访问权限:

  • 通过 sudo 访问权限,普通用户可以在需要时以超级用户权限执行命令,提高了系统安全性。
  • 编辑 sudoers 文件,授予或限制用户的 sudo 访问权限。

双因素认证:

 

  • 在用户登录时,除了密码外,还需要提供第二种身份验证因素,如手机生成的验证码,以增加登录的安全性。

常见的双因素认证方法包括 Google Authenticator、YubiKey 等。

PAM 密码策略:

 

  • PAM 提供了灵活的方式来定义密码策略。

通过编辑 PAM 配置文件,可以设置密码复杂性、密码过期时间、密码历史等。

密码哈希和加密:

 

  • 用户密码在存储时通常不以明文保存,而是经过哈希和加密处理。

/etc/shadow 文件存储用户密码的哈希值,增加了密码的安全性。

限制远程登录:

  • 通过 SSH 配置文件可以限制哪些用户可以远程登录系统。
  • 配置文件路径:/etc/ssh/sshd_config