Linux 系统安全 | 账号安全控制
服务器被攻击,或多或少都会成一些影响,密切监视服务器状态,确保服务器能正常运行。
相关文件
-
/etc/passwd
存放所有账号信息 -
/etc/shadow
存放账号的密码及设定信息 -
/etc/login.defs
密码配置文件
梳理账号信息
以下操作可以直接修改 /etc/passwd
文件,也可以用相应的命令实现。
1、删除不要的账号
# 删除用户及家目录
userdel -r [用户名]
# 清除账号密码
passwd -d [用户名]
2、锁定暂时不用的账号
# 锁定账号
usermod -L [用户名]
# 解锁账号
usermod -U [用户名]
# 锁定账号密码
passwd -l [用户名]
# 解锁账号密码
passwd -u [用户名]
# 查看账号状态
passwd -S [用户名]
3、不需要登录的账号设置 nologin
usermod -s /sbin/nologin [用户名]
锁定账号文件
锁定后 root 也无法修改
# 锁定文件 /etc/passwd /etc/shadow
chattr +i /etc/passwd /etc/shadow
# 解锁文件
chattr -i /etc/passwd /etc/shadow
# 查看文件状态
lsattr /etc/passwd /etc/shadow
密码设置
修改配置文件后,只对之后新创建的账号管用
# 密码最大有效期,默认为 99999,表示永久
PASS_MAX_DAYS 99999
# 密码最小有效天数
PASS_MIN_DAYS 0
# 密码最小长度
PASS_MIN_LEN 5
# 密码过期警告时间
PASS_WARN_AGE 7
# 系统用户的 UID 范围
SYS_UID_MIN 201
SYS_UID_MAX 999
# 普通用户的 UID 范围
UID_MIN 1000
UID_MAX 60000
# 创建账号时新建家目录
CREATE_HOME yes
对于新用户,可以设置最大有效期为 0,初次登录时修改密码
所有可登录的普通用户,设置定期修改密码
终端自动注销
长时间没有动作时,自动登出服务器
编辑 /etc/profile
后,记得执行 source /etc/profile
,使得配置生效
# 300s 后自动注销
export TMOUT=300
限制使用 su 命令的用户
su 可以切换当前登录用户
# root 切换成其他用户,不需要密码
# 普通用户切换到目标用户,需要目标用户的密码
修改配置文件 /etc/pam.d/su
,限制可用 su 的用户
# 只允许 wheel 组的用户使用 su
auth required pam_wheel.so use_uid
# auth 是 pam 认证模块类型,auth 表示对用户身份进行识别
# required 是 pam 控制标记,required 表示需要返回一个成功值,如果返回失败,不会立刻返回,而是继续进行同类型的下一验证,所有此类型的模块都执行完成后再返回
# pam_wheel.so 是 pam 模块,so 文件在 /usr/lib64/security/ 目录下
# use_uid 是 pam 模块参数,根据不同模块添加
用 sudo 提升权限
注意 sudo su
和 sudo su -
的区别
# 提升到 root 权限
sudo su -
sudo -i
修改配置 /etc/sudoers
限制可以提升权限的用户
# 允许 wheel 组的用户执行所有命令
%wheel ALL=(ALL) ALL