Linux基础——系统安全及应用
一、账号安全控制
1.系统账号清理
-
将非登录用户的Shell设为/sbin/nologin
usermod -s /sbin/nologin 用户名
-
锁定长期不使用的账号
usermod -L 用户名
passwd-l 用户名
passwd-S 用户名 -
删除无用的账号
userdel [r] 用户名
-
锁定账号文件passwd、shadow
chattr +i /etc/passwd /etc/shadow ## 锁定文件并查看状态
Isattr /etc/passwd /etc/shadow
chattr -i /etc/passwd /etc/shadow ## 解锁文件
- 检查文件是否改变 md5sum
基本格式:md5sum 目标文件
2.密码安全控制
设置密码有效期
chage -M 天数 用户 ## 适用于已有用户
vim /etc/login.defs ## 修改密码配置文件
PASS_MAX_DAYS 天数 ## 适用于新建用户
强制在下次登录时更改密码
chage -d 0 用户
例:chage -M 15 zhangsan
3.命令历史限制
history ## 查看历史命令
vim /etc/profile ## 进入配置文件
export HISTSIZE=5 ## 修改记录的命令条数
source /etc/profile ## 加载文件
history -c ## 清空历史命令 (临时)
登录时自动清空命令历史
vi -/bashrc ## 通过设置开机自启动清空
4. 终端自动注销
vim /etc/profile
export TMOUT=时长
source /etc/profile ## 加载文件
二、账号切换
1.使用su命令切换用户
用途: 使用su命令,可以切换指定的另一个用户,从而具有该用户的所有权限。
格式: su - 目标用户
- 密码验证
root>任意用户,不验证密码
普通用户>其他用户,验证目标用户的密码
2.限制使用su命令的用户
将允许使用su命令的用户加入wheel组
启用pam_wheel认证模块
三、使用sudo机制提升权限
定义:sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root用户的登录 和管理时间,同样也提高了安全性
语法格式:sudo [选项] [-u 新使用者账号] 要执行的命令
1.sudo命的用途及用法
用途:以其他用户身份 (如root) 执行授权的命令
用法:sudo 授权命令
查询授权的sudo:sudo -l
2.配置sudo授权
visudo或者vi /etc/sudoers
记录格式:用户名 主机名=命令程序列表
user MACHINE=COMMANDS
用户名(user):授权的用户名,或采用 "%组名" 的形式(授权一个组的所有用户)
主机名(MACHINE):使用此配置文件的主机名称
命令程序列表(COMMANDS):允许授权的用户通过 sudo 方式执行的特权命令,需要填写命令程序的完整路径,多个命令之间以逗号 ‘,’ 进行分隔
别名创建
User_Alias 大写别名=用户1,用户2... ## 配置用户别名
Host_Alias 大写别名=主机名1,主机名2... ## 配置主机别名
Cmnd_Alias 大写别名=程序1,程序2... ## 配置程序别名
用户名/用户别名 主机名/主机别名/all=程序列表/程序别名/all ## 设置用户授权
%组名 主机名/主机别名/all=[(用户)NOPASSWD:]程序列表/程序别名/all ## 设置组授权
3.实战操作
1.授权 zhangsan 用户能够执行 ifconfig 命令来修改 ip 地址,而 wheel 组的用户不需要验证密码就可以执行任何命令