文章目录
前言
用户账号,是计算机使用者的身份凭证或标识,每一个要访问系统资源的人,必须凭借其用户账号才能进入计算机,在 Linux 系统中,提供了多种机制来确保用户账号的正当、安全使用,为了确保我们的账户安全我们要学会账号安全的控制。
一、基本安全措施
1、系统账号清理
- 在 Linux 系统中,除了用户手动创建的各种账号之外,还包括随系统或程序安装过程而生成的其他大量账号
- 除了超级用户 root 之外,其他大量账号只是用来维护系统运作、启动或保持服务器进程,一般是不允许登录的,因此也称为非登录用户
- 为了确保系统安全,这些系统的登录 shell 通常是 /sbin/nologin,表示禁止终端登录,应确保不被人为改动
grep "/sbin/nologin$" /etc/passwd
#查看
usermod -s /sbin/nologin 用户名
#将非登录用户的 shell 设为 /sbin/nologin
- 各种非登录用户中,还有相当一部分是很少用到的,这些账号可以视为冗余账号,直接删除即可
- 除此之外,还有一些随应用程序安装的用户账号,若程序卸载以后未能自动删除,则需要管理员手动进行清理
userdel -r 用户名
#删除用户及其宿主目录
- 对于 Linux 服务器中长期不用的用户账号,若无法确认是否应该删除,可以暂时将其锁定(passwd、usermod 命令皆可用来锁定、解锁账号)
usermod -L 用户名 #锁定用户账号
passwd -l 用户名 #锁定用户密码,锁定的用户将无法再登录系统
passwd -S 用户名 #查看账号状态(是否被锁定)
usermod -U 用户名 #解锁用户账号
- 如果服务器中的用户账号已经固定,不再更改,还可以采取锁定账号配置文件的方法
chattr +i /etc/passwd /etc/shadow #锁定文件
lsattr /etc/passwd /etc/shadow #查看为锁定的状态
chattr -i /etc/passwd /etc/shadpow #解锁文件
lsattr /etc/passwd /etc/shadow #查看为解锁的状态
注:在账号文件被锁定的情况下,其内容不允许变更,因此无法添加、删除账号,也不能更改用户的密码、登录 Shell、宿主目录等属性信息
2、密码安全控制
- 在不安全的网络环境中,为了降低密码被才出或被暴力破解的风险,用户应养成定期更改密码的习惯,避免长期使用同一个密码,管理员可以在服务器端限制用户密码的最大有效天数,对于密码已过期的用户,登录时被要求重新设置密码,否则将拒绝登录
- 执行以下操作可将密码的有效期设为 30 天(chage 命令用于设置密码时限)